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. For all window based methods (Backward/Center/Forward simple/Gaussian, Harmonic Mean) the cells that do not have a complete window (final at the beginning and the end of the table) are filled with Missing Values.
gauss(i,mean,std_dev) = Math.exp((-0.5) * (i - mean) * (i - mean) / std_dev^2)
std_dev = (k - 1) / 4For the exponential moving average the individual values are weighted as
alpha = 2/(k+1)
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-iCenter_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+iCenter_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
You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.
To use this node in KNIME, install the extension KNIME Timeseries nodes from the below update site following our NodePit Product and Node Installation Guide:
A zipped version of the software site can be downloaded here.
Deploy, schedule, execute, and monitor your KNIME workflows locally, in the cloud or on-premises – with our brand new NodePit Runner.
Try NodePit Runner!