文档文档

exponentialMovingAverage() 函数

exponentialMovingAverage() 计算 _value 列中 n 个值的指数移动平均值,为最近的数据赋予更高的权重。

指数移动平均线规则

  • 超过 n 个值的指数移动平均线的第一个值是 n 个值的代数平均值。
  • 后续值计算为 y(t) = x(t) * k + y(t-1) * (1 - k),其中
    • y(t) 是时间 t 的指数移动平均值。
    • x(t) 是时间 t 的值。
    • k = 2 / (1 + n).
  • 仅由 null 值填充的期间的平均值为 null
  • 指数移动平均线跳过 null 值。
函数类型签名
(<-tables: stream[{A with _value: B}], n: int) => stream[{A with _value: B}] where B: Numeric

有关更多信息,请参阅 函数类型签名

参数

n

(必需) 要平均的值的数量。

tables

输入数据。 默认值为管道转发数据 (<-)。

示例

计算三个点的指数移动平均值

import "sampledata"

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

查看示例输入和输出

计算具有 null 值的三个点的指数移动平均值

import "sampledata"

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

查看示例输入和输出


此页对您有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。 您可以继续像现在一样使用它,而无需对您的代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。 更快地扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、最新数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。 InfluxDB 3 Enterprise 以 Core 的基础为构建,增加了高可用性、读取副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。 InfluxDB 3 Enterprise 的免费层可供非商业家用或业余爱好者使用。

有关更多信息,请查看