当前位置: 首页 > news >正文

TDengine 聚合函数 VAR_POP 用户手册

在这里插入图片描述

VAR_POP 函数用户手册

1. 函数概述

VAR_POP 是 TDengine 的聚合函数,用于计算总体方差(Population Variance),即衡量一组数据的离散程度。总体方差假定所有数据是总体数据而非样本数据。

2. 语法

SELECT VAR_POP(column_name) FROM meters [WHERE condition];
-- 或用于窗口聚合
SELECT VAR_POP(column_name) FROM meters [WHERE condition] INTERVAL(window_size);
  • column_name:需要计算方差的字段,必须为数值类型(如 FLOAT、DOUBLE、INT 等)。
  • meters:智能电表超级表名。
  • condition:可选,筛选数据的条件。
  • window_size:如 1h1d,窗口聚合单位。

3. 计算原理

总体方差公式:

σ² = Σ(xi - μ)² / N
  • σ²:总体方差
  • xi:第 i 个数据值
  • μ:总体均值
  • N:数据总数

4. 为什么要用 VAR_POP?

  • 数据波动性分析:方差越大,数据波动越明显。可用于监控电流、电压、功率等参数的稳定性。
  • 异常检测:方差异常增大,可能说明设备故障或用电异常。
  • 质量评估:评估电网或设备运行的稳定性。
  • 趋势分析:对比不同区域或设备的方差,发现用电模式变化。

5. 智能电表表结构举例

CREATE TABLE meters (ts TIMESTAMP,voltage FLOAT,current FLOAT,power FLOAT
) TAGS (groupid INT,location VARCHAR(50)
);

6. 使用场景举例

6.1 电压总体方差分析

SELECT VAR_POP(voltage) AS voltage_var_pop FROM meters WHERE ts >= NOW() - 1d;

说明:统计过去一天所有电表电压的总体方差,分析电网稳定性。


6.2 按区域分组分析电流方差

SELECT location, VAR_POP(current) AS current_var_pop FROM meters WHERE ts >= NOW() - 7d GROUP BY location;

说明:对比不同区域的电流波动情况。


6.3 按设备组分析功率方差

SELECT groupid, VAR_POP(power) AS power_var_pop FROM meters WHERE ts >= NOW() - 30d GROUP BY groupid;

说明:分析不同设备组的功率波动,辅助设备健康管理。


6.4 时间窗口分析

-- 每小时电压方差
SELECT VAR_POP(voltage) AS hourly_voltage_var FROM meters WHERE ts >= NOW() - 1d INTERVAL(1h);-- 每日功率方差
SELECT VAR_POP(power) AS daily_power_var FROM meters WHERE ts >= NOW() - 30d INTERVAL(1d);

说明:监控电力参数在不同时间窗口内的波动性。


6.5 异常检测(嵌套查询)

SELECT groupid, location, voltage_var, current_var, sample_count
FROM (SELECT groupid, location, VAR_POP(voltage) AS voltage_var, VAR_POP(current) AS current_var, COUNT(*) AS sample_countFROM metersWHERE ts >= NOW() - 1hGROUP BY groupid, location
)
WHERE voltage_var > 9.0 OR current_var > 2.0;

说明:筛选出方差异常的设备组和区域,便于运维人员及时处理。


7. VAR_POP 与 STDDEV、STDDEV_POP 的区别

函数计算内容公式分母结果类型适用场景
VAR_POP总体方差NDOUBLE总体波动分析
STDDEV_POP总体标准差NDOUBLE总体波动分析
STDDEV样本标准差N-1DOUBLE样本推断、统计分析
  • VAR_POP 返回的是方差(波动的平方),STDDEV_POP 返回的是标准差(波动的实际值)。
  • 方差适合做数学建模、风险评估、异常检测等场景;标准差更适合直接反映数据的实际波动幅度。
  • STDDEV 用于样本数据推断总体特征,适合统计推断和假设检验。

8. 注意事项

  • 仅支持数值型字段。
  • NULL 值自动忽略。
  • 支持窗口聚合和分组聚合。
  • 不支持在 WHERE 子句中直接调用聚合函数,若需复杂筛选请使用嵌套查询。
  • 方差单位为原数据单位的平方。

通过合理使用 VAR_POP 函数,用户可以高效分析智能电表数据的波动性,辅助异常检测、设备健康管理和电网质量监控。

相关文章

  1. TDengine 聚合函数 STDDEV 用户手册
  2. TDengine 聚合函数 STDDEV_POP 用户手册

关于 TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

http://www.dtcms.com/a/394085.html

相关文章:

  • 跨域及其解决方法
  • LeetCode:37.二叉树的最大深度
  • 【C++深学日志】C++“类”的完全指南--从基础到实践(一)
  • BUS-消息总线
  • 23种设计模式之【单例模式模式】-核心原理与 Java实践
  • 精度至上,杜绝失真,机器视觉检测中为何常用BMP格式?
  • 关于wireshark流量分析软件brim(Zui)安装方法
  • springboot3.4.1集成pulsar
  • 信息量、熵、KL散度和交叉熵
  • 使用Python一站式提取Word、Excel、PDF 和PPT文档内容v1.0
  • 线性代数 | REF / RREF
  • TLCP的一些内容
  • dock容器网络存储相关练习
  • 鸿蒙Next ArkTS卡片提供方开发指南:从入门到实战
  • Netty LengthFieldBasedFrameDecoder
  • 后端_HTTP 接口签名防篡改实战指南
  • 区块链论文速读 CCF A--WWW 2025(5)
  • 机器学习周报十四
  • 如何解决stun服务无法打洞建立p2p连接的问题
  • 解决项目实践中 java.lang.NoSuchMethodError:的问题
  • JavaSE-多线程(5.2)- ReentrantLock (源码解析,公平模式)
  • 2025华为杯A题B题C题D题E题F题选题建议思路数学建模研研究生数学建模思路代码文章成品
  • 【记录】Docker|Docker中git克隆私有库的安全方法
  • Web之防XSS(跨站脚本攻击)
  • 使用 AI 对 QT应用程序进行翻译
  • Windows下游戏闪退?软件崩溃?游戏环境缺失?软件运行缺少依赖?这个免费工具一键帮您自动修复(DLL文件/DirectX/运行库等问题一键搞定)
  • 【从入门到精通Spring Cloud】统一服务入口Spring Cloud Gateway
  • setfacl 命令
  • Photoshop - Photoshop 分享作品和设计
  • 【Agent 设计模式与工程化】如何做出好一个可持续发展的agent需要考虑的架构