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 (at the beginning and the end of the table) are filled with Missing Values.

- Columns containing Double Values
- Select the input column containing double values on which to perform the moving average.
- Window Length
- The number of samples to include in the moving average window. It has to be an odd number if a center based method was selected. Minimum value: 3 samples. Maximum Value: Time Series length.
- Remove original columns
- If selected the original columns are replaced with the moving average columns.
- Type of Moving Average
- Moving Average can be applied with various methods. Here the used formulas for every kind, where v_n is the value in the n-th row of the data table in the selected column and k is the window size.

- Backward simple
Backward_simple_n = 1/k * sum{v_n-(k-1) ... v_n}

- Center simple
Center_simple_n = 1/k * sum{v_n-(n-1)/2 ... v_n ... v_n+(n-1)/2}

- Forward simple
Forward_simple_n = 1/k * sum{v_n ... v_n+k-1}

- Backward Gaussian
Backward_gaussian_n = sum{i = 0 ... k-1} gauss(i,k-1,std_dev)*v_n-i

- Center Gaussian
Center_gaussian_n = sum{i = 0 ... k-1} gauss(i,(k-1)/2,std_dev)*v_n+(i-(k-1)/2)

- Forward Gaussian
Forward_gaussian_n = sum{i = 0 ... k-1} gauss(i,0,std_dev)*v_n+i

- Harmonic Mean Center
- The harmonic mean can only be used for strictly positive values.
Center_harmonic_n = n/{sum{i = 0 ... k-1} 1/v_n+(i-(k-1)/2)

- Cumulative simple
Cumulative_n= 1/n * sum{v_0 ... v_n-1}

- Simple exponential
Simple_exponential_0 = v_0

EMA(v,n) = Simple_exponential_n = alpha*v_n + (1-alpha)*Simple_exponential_n-1

- Double exponential
Double_exponential_n = 2 * EMA(v,n) - EMA(EMA(v,n),n)

- Triple exponential
Triple_exponential_n = 3 * EMA(v,n) - 3 * EMA(EMA(v,n),n) + EMA(EMA(EMA(v,n),n),n)

- Old Exponential
Exponential_n = alpha*v_n + (1-alpha) * Backward_simple_n-1

- Appendix: Gaussian
- For the Gaussian weighted moving average the individual values are
weighted based on the position in the window.
std_dev = (k - 1) / 4

and the weighting:gauss(i,mean,std_dev) = Math.exp((-0.5) * (i - mean) * (i - mean) / std_dev^2)

- Appendix: Exponential
alpha = 2/(k+1)

- This node has no views

- 01_Data_PreparationKNIME Hub
- 01_Data_PreparationKNIME Hub
- 01_Example_of_Time_Series_FunctionalityKNIME Hub
- 01_Example_of_Time_Series_FunctionalityKNIME Hub
- 01_Guided_VisualizationKNIME Hub
- Show all 76 workflows

- Need help (very new to this field)by ipazin on 2019-03-11forum.knime.com/p/55946
- Choice for time series loopingby HansS on 2019-11-21forum.knime.com/p/75296

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:

v4.6

A zipped version of the software site can be downloaded here.

Do you have feedback, questions, comments about NodePit, want to support this platform, or want your own nodes or workflows listed here as well? Do you think, the search results could be improved or something is missing? Then please get in touch! Alternatively, you can send us an email to mail@nodepit.com, follow @NodePit on Twitter, or chat on Gitter!

**Please note that this is only about NodePit. We do not provide general support for KNIME — please use the KNIME forums instead.**