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.

*Function type: Aggregate*

  1. exponentialMovingAverage(n: 5)
Exponential moving average rules
  • The first value of an exponential moving average over n values is the algebraic mean of n 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 time t.
    • x(t) is the value at time t.
    • k = 2 / (1 + n).
  • The average over a period populated by only null values is null.
  • Exponential moving averages skip null values.

Parameters

n

The number of points to average.

*Data type: Integer*

Examples

Calculate a five point exponential moving average

  1. from(bucket: "example-bucket"):
  2. |> range(start: -12h)
  3. |> exponentialMovingAverage(n: 5)

Table transformation with a two point exponential moving average

Input table:
_timetag_value
0001tvnull
0002tv10
0003tv20
Query:
  1. // ...
  2. |> exponentialMovingAverage(n: 2)
Output table:
_timetag_value
0002tv10
0003tv16.67

Related articles