The following node is available in the Open Source KNIME predictive analytics and data mining platform version 2.7.1. Discover over 1000 other nodes, as well as enterprise functionality at http://knime.com.
This node calculates the moving average of a column. The moving average values are displayed in a new column appended at the end of the table or (if selected) replaces the original columns..
Backward_simple_n = 1/k * sum{v_n-(k-1) ... v_n}
Center_simple_n = 1/k * sum{v_n-(n-1)/2 ... v_n ... v_n+(n-1)/2}
Forward_simple_n = 1/k * sum{v_n ... v_n+k-1}
Backward_gaussian_n = sum{i = 0 ... k-1} gauss(i,k-1,std_dev)*v_n-i
Center_gaussian_n = sum{i = 0 ... k-1} gauss(i,(k-1)/2,std_dev)*v_n+(i-(k-1)/2)
Forward_gaussian_n = sum{i = 0 ... k-1} gauss(i,0,std_dev)*v_n+i
Center_harmonic_n = n/{sum{i = 0 ... k-1} 1/v_n+(i-(k-1)/2)
Cumulative_n= 1/n * sum{v_0 ... v_n-1}
Simple_exponential_0 = v_0
EMA(v,n) = Simple_exponential_n = alpha*v_n + (1-alpha)*Simple_exponential_n-1
Double_exponential_n = 2 * EMA(v,n) - EMA(EMA(v,n),n)
Triple_exponential_n = 3 * EMA(v,n) - 3 * EMA(EMA(v,n),n) + EMA(EMA(EMA(v,n),n),n)
Exponential_n = alpha*v_n + (1-alpha) * Backward_simple_n-1
std_dev = (k - 1) / 4and the weighting:
gauss(i,mean,std_dev) = Math.exp((-0.5) * (i - mean) * (i - mean) / std_dev^2)
alpha = 2/(k+1)
0 | Table containing time series. |
0 | Table with column holding moving average values. |