exponentialMovingAverage() function
The exponentialMovingAverage()
function calculates the exponential moving average of values
in the _value
column grouped into n
number of points, giving more weight to recent data.
exponentialMovingAverage(n: 5)
Exponential moving average rules
- The first value of an exponential moving average over
n
values is the algebraic mean ofn
values. - Subsequent values are calculated as
y(t) = x(t) * k + y(t-1) * (1 - k)
, where:y(t)
is the exponential moving average at timet
.x(t)
is the value at timet
.k = 2 / (1 + n)
.
- The average over a period populated by only
null
values isnull
. - Exponential moving averages skip
null
values.
Parameters
n
The number of points to average.
tables
Input data.
Default is piped-forward data (<-
).
Examples
The following examples use data provided by the sampledata
package
to show how exponentialMovingAverage()
transforms data.
- Calculate a three point exponential moving average
- Calculate a three point exponential moving average with null values
Calculate a three point exponential moving average
import "sampledata"
sampledata.int()
|> exponentialMovingAverage(n: 3)
Calculate a three point exponential moving average with null values
import "sampledata"
sampledata.int(includeNull: true)
|> exponentialMovingAverage(n: 3)
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, the following resources are available:
InfluxDB Cloud customers can contact InfluxData Support.