Documentation

exponentialMovingAverage() function

Flux 0.37.0+

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 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.

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

import "sampledata"

sampledata.int()
  |> exponentialMovingAverage(n: 3)

View input and output

Calculate a three point exponential moving average with null values

import "sampledata"

sampledata.int(includeNull: true)
  |> exponentialMovingAverage(n: 3)

View input and output


Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.