跳转到内容

分位数过滤器

对最近的几个值进行简单移动分位数计算。这可用于从接收到的传感器数据中过滤掉异常值。较大的窗口大小会使过滤器对输入变化的反应变慢。

# 示例配置条目
- platform: wifi_signal
# ...
filters:
- quantile:
window_size: 7
send_every: 4
send_first_at: 3
quantile: .9

配置变量:

  • window_size (可选, int): 在推送值时计算分位数所使用的 值的数量。 默认为 5

  • send_every (可选, int): 传感器值应该多久推送一次。例如, 在上述配置中,分位数是在每接收到第 4 个传感器值后计算的, 基于最近接收到的 7 个值。 默认为 5

  • send_first_at (可选, int): 默认情况下,启动时的第一个原始值会立即 发布。使用此参数,您可以指定第一个值何时发送。 必须小于或等于 send_every。 默认为 1

  • quantile (可选, float): 从 0 到 1 的值,用于确定选择哪个分位数。 默认为 .9