在这里插入图片描述

LEASTSQUARES 函数用户手册

函数定义

LEASTSQUARES(expr, start_val, step_val)

功能说明

LEASTSQUARES() 函数对指定列的数据进行最小二乘法线性拟合,返回拟合直线的斜率(slope)和截距(intercept)。该函数基于线性回归算法,计算最佳拟合直线 y = ax + b 的参数。

版本要求

  • 最低版本: v3.0.0.0

返回值

  • 数据类型: VARCHAR
  • 返回内容: JSON格式字符串,包含斜率和截距
  • 格式: {"slop":斜率值, "intercept":截距值}

参数说明

参数类型说明取值范围
expr表达式要进行线性拟合的数值字段数值类型
start_val数值X轴起始值数值类型
step_val数值X轴步长值数值类型,不能为0

适用数据类型

LEASTSQUARES 函数支持以下数据类型:

  • 数值类型: TINYINT、SMALLINT、INT、BIGINT、FLOAT、DOUBLE、UTINYINT、USMALLINT、UINT、UBIGINT
  • NULL 值处理: 自动跳过 NULL 值

适用范围

  • 表类型: 表和超级表
  • 查询支持: 支持聚合查询
  • 函数特性: 聚合函数、跳过 NULL 值
  • 限制: 不支持 GROUP BY 查询、不支持窗口查询

智能电表场景应用示例

基于智能电表数据库结构:

-- 数据库和表结构
USE test;
-- meters 超级表包含 ts, current, voltage, phase 字段和 location, groupid 标签

基础用法示例

电流趋势分析
-- 分析电流数据的线性趋势(以时间序列为X轴)
SELECT LEASTSQUARES(current, 1, 1) as current_trend FROM meters;-- 分析电压数据的线性趋势
SELECT LEASTSQUARES(voltage, 0, 2) as voltage_trend FROM meters;-- 分析相位数据的线性趋势
SELECT LEASTSQUARES(phase, 0, 0.5) as phase_trend FROM meters;

设备性能退化分析

单设备趋势分析
-- 分析特定设备的电流退化趋势
SELECT LEASTSQUARES(current, 1, 1) as degradation_trend 
FROM meters 
WHERE tbname = 'd1001';-- 分析特定设备的电压稳定性趋势
SELECT LEASTSQUARES(voltage, 0, 1) as voltage_stability 
FROM meters 
WHERE tbname = 'd1001';
时间段内趋势分析
-- 分析最近一周的电流变化趋势
SELECT LEASTSQUARES(current, 1, 1) as weekly_current_trend 
FROM meters 
WHERE ts >= NOW() - 7d;-- 分析最近24小时的电压变化趋势
SELECT LEASTSQUARES(voltage, 0, 0.1) as daily_voltage_trend 
FROM meters 
WHERE ts >= NOW() - 1d;

负载预测分析

功耗趋势预测
-- 基于历史数据预测功耗趋势
SELECT LEASTSQUARES(current, 0, 1) as power_consumption_trend 
FROM meters 
WHERE ts >= NOW() - 30d;-- 分析不同时间粒度的功耗变化
SELECT LEASTSQUARES(current, 1, 0.5) as fine_grained_trend 
FROM meters 
WHERE ts >= NOW() - 7d;
设备效率分析
-- 分析设备效率变化趋势(基于电流-电压关系)
SELECT LEASTSQUARES(current, 100, 10) as efficiency_trend 
FROM meters 
WHERE voltage > 200 AND voltage < 250;

区域电网分析

特定区域趋势
-- 分析北京地区的用电趋势
SELECT LEASTSQUARES(current, 0, 1) as beijing_usage_trend 
FROM meters 
WHERE location = 'Beijing';-- 分析上海地区的电压质量趋势
SELECT LEASTSQUARES(voltage, 220, 1) as shanghai_voltage_trend 
FROM meters 
WHERE location = 'Shanghai';
工作日vs周末趋势对比
-- 分析工作日用电趋势-- 分析周末用电趋势
SELECT LEASTSQUARES(current, 1, 1) as weekend_trend 
FROM meters 
WHERE WEEKDAY(ts) IN (6, 0);

异常检测应用

设备老化检测
-- 检测设备电流输出的线性衰减
SELECT LEASTSQUARES(current, 0, 1) as aging_trend 
FROM meters 
WHERE tbname = 'd1001' AND ts >= NOW() - 90d;-- 检测电压稳定性衰减
SELECT LEASTSQUARES(voltage, 220, 0.1) as voltage_degradation 
FROM meters 
WHERE tbname = 'd1001' AND ts >= NOW() - 30d;
负载异常趋势
-- 检测异常负载增长趋势
SELECT LEASTSQUARES(current, 0, 1) as load_growth_trend 
FROM meters 
WHERE current > 20 AND ts >= NOW() - 14d;

能耗优化分析

季节性趋势分析
-- 分析春季用电趋势
SELECT LEASTSQUARES(current, 1, 1) as spring_trend 
FROM meters 
WHERE MONTH(ts) IN (3, 4, 5);-- 分析夏季用电趋势
SELECT LEASTSQUARES(current, 1, 1) as summer_trend 
FROM meters 
WHERE MONTH(ts) IN (6, 7, 8);
时段用电模式
-- 分析白天用电趋势(6:00-18:00)
SELECT LEASTSQUARES(current, 6, 1) as daytime_trend 
FROM meters 
WHERE HOUR(ts) BETWEEN 6 AND 18;-- 分析夜间用电趋势(19:00-5:00)
SELECT LEASTSQUARES(current, 19, 1) as nighttime_trend 
FROM meters 
WHERE HOUR(ts) >= 19 OR HOUR(ts) <= 5;

实际应用场景

设备维护预测
-- 预测设备维护需求(基于性能衰减趋势)
SELECT LEASTSQUARES(current, 0, 0.1) as maintenance_prediction 
FROM meters 
WHERE tbname = 'd1001' AND ts >= NOW() - 180d;
电网负载规划
-- 为电网扩容提供趋势数据
SELECT LEASTSQUARES(current, 0, 1) as grid_expansion_trend 
FROM meters 
WHERE ts >= NOW() - 365d;
能效评估
-- 评估节能措施效果
SELECT LEASTSQUARES(current, 0, 1) as energy_saving_effect 
FROM meters 
WHERE ts >= '2024-01-01' AND ts < '2024-04-01';

结果解释示例

假设查询结果为:{"slop":-0.001234, "intercept":12.500000}

  • 斜率(slope): -0.001234,表示每个时间步长,数值平均下降 0.001234 个单位
  • 截距(intercept): 12.5,表示在 X=0 时的预测 Y 值为 12.5
趋势判断
-- 基于斜率判断趋势类型
-- 正斜率:上升趋势
-- 负斜率:下降趋势  
-- 接近0:稳定趋势-- 示例:判断设备性能趋势
SELECT CASE WHEN LEASTSQUARES(current, 0, 1) LIKE '%"slop":-%' THEN '性能下降趋势'WHEN LEASTSQUARES(current, 0, 1) LIKE '%"slop":0.%' THEN '性能稳定'ELSE '性能上升趋势'END as performance_trend
FROM meters 
WHERE tbname = 'd1001';

参数配置建议

start_val 选择

  • 时间序列分析: 通常设为 0 或 1
  • 基于实际值: 设为数据范围的起始值
  • 归一化分析: 设为 0 便于比较

step_val 选择

  • 精细分析: 使用较小步长(如 0.1, 0.5)
  • 粗略趋势: 使用较大步长(如 1, 10)
  • 数据密度: 根据数据点密度调整

注意事项

  1. NULL 值处理: 函数自动跳过 NULL 值
  2. 参数限制: step_val 不能为 0
  3. 数据要求: 至少需要 2 个有效数据点
  4. 精度控制:
    • 斜率精度:默认保留 6 位小数
    • 截距精度:默认保留 6 位小数
  5. 结果格式: 返回 JSON 格式字符串
  6. 性能考虑: 大数据集建议配合时间范围过滤
  7. 不支持的查询:
    • 不支持 GROUP BY 查询
    • 不支持 INTERVAL 窗口查询
    • 不支持函数嵌套

相关函数

  • AVG(): 计算平均值
  • STDDEV(): 计算标准差
  • SPREAD(): 计算极差
  • TWA(): 时间加权平均

通过合理使用 LEASTSQUARES 函数,可以有效地进行智能电表数据的趋势分析和预测,为电力系统的预测性维护和负载规划提供重要的数据支撑。

关于 TDengine

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/96789.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/96789.shtml
英文地址,请注明出处:http://en.pswp.cn/web/96789.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis最佳实践——安全与稳定性保障之高可用架构详解

全面详解 Java 中 Redis 在电商应用的高可用架构设计一、高可用架构核心模型 1. 多层级高可用体系 #mermaid-svg-anJ3iQ0ymhr025Jn {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-anJ3iQ0ymhr025Jn .error-icon{fil…

ABAP 屏幕在自定义容器写多行文本框

文章目录变量定义容器等逻辑屏幕效果变量定义 CONSTANTS: GC_TEXT_LINE_LENGTH TYPE I VALUE 72. TYPES: TEXT_TABLE_TYPE(GC_TEXT_LINE_LENGTH) TYPE C OCCURS 0. DATA: GV_SPLITTER TYPE REF TO CL_GUI_EASY_SPLITTER_CONTAINER. DATA: GV_CUSTOM_CONTAINER TYPE REF TO CL_…

昆山精密机械公司8个Solidworks共用一台服务器

在当今高度信息化的制造业环境中&#xff0c;昆山精密机械公司面临着如何高效利用SolidWorks这一核心设计工具的现实挑战。随着企业规模的扩大和设计团队的分散&#xff0c;传统的单机授权模式已无法满足协同设计需求。通过引入云飞云共享云桌面解决方案&#xff0c;该公司成功…

【WebSocket✨】入门之旅(三):WebSocket 的实战应用

本篇文章将通过构建一个简单的实时聊天应用&#xff0c;演示如何在前端和后端搭建 WebSocket 系统&#xff0c;完成实时消息传输。通过实战&#xff0c;帮助你更好地理解 WebSocket 在实际项目中的应用。 目录 搭建 WebSocket 服务器WebSocket 客户端实现实时聊天应用示例常见…

CentOS 8-BClinux8.2更换为阿里云镜像源:保姆级教程

还在为 CentOS 8 官方源访问缓慢或不可用而烦恼吗&#xff1f;更换为国内镜像源&#xff0c;如阿里云&#xff0c;可以显著提升软件包下载速度和稳定性。本文将带你一步步完成 CentOS 8 镜像源的更换&#xff0c;让你的系统管理更顺畅。 准备工作 在进行任何系统配置更改之前…

MySQL中InnoDB索引使用与底层原理

MySQL Server端的缓存&#xff08;查询缓存&#xff09;是MySQL Server层的特性&#xff0c;而InnoDB的缓存&#xff08;缓冲池&#xff09;是InnoDB存储引擎层的特性。两者是完全独立的。下面我们来深入探讨这两者以及InnoDB索引的原理。1. MySQL Server层的缓存 - 查询缓存 (…

Python实战:实现监测抖音主播是否开播并录屏

实现这个功能,主要思路是循环检查主播状态 → 开播后获取直播流地址 → 使用FFmpeg录制。下面是一个基本的步骤表格: 步骤 关键行动 常用工具/库 1 获取主播直播间ID或唯一标识 浏览器开发者工具、抓包工具1 2 循环请求抖音API,查询主播直播状态 requests, time 3 解析API响…

init / record / required:让 C# 对象一次成型

标签&#xff1a; init record required with表达式 不可变性 数据模型 DTO 目录1. init 访问器&#xff1a;让不可变对象的创建更灵活1.1. 概念1.1.1. 语法1.1.2. 语义1.2. 设计初衷&#xff1a;解决什么问题&#xff1f;1.3. 使用方法1.3.1. 在对象初始化器中赋值&#xff08…

每天五分钟深度学习:神经网络的权重参数如何初始化

本文重点 在逻辑回归的时候,我们可以将神经网络的权重参数初始化为0(或者同样的值),但是如果我们将神经网络的权重参数初始化为0就会出问题,上节课程我们已经进行了简单的解释,那么既然初始化为0不行,神经网络该如何进行参数初始化呢?神经网络的权重参数初始化是模型训…

[论文阅读] 告别“数量为王”:双轨道会议模型+LS,破解AI时代学术交流困局

告别“数量为王”&#xff1a;双轨道会议模型LS&#xff0c;破解AI时代学术交流困局 论文信息信息类别具体内容论文原标题From Passive to Participatory: How Liberating Structures Can Revolutionize Our Conferences主要作者及机构1. Daniel Russo&#xff08;丹麦奥尔堡大…

趣味学solana(介绍)

你就是那个关键的“守门员”&#xff01; 为了方便理解Solana&#xff0c;我们把Solana 想象成一个巨大的、24小时不停歇的足球联赛。成千上万的足球运动员&#xff08;用户&#xff09;在不停地传球、射门&#xff08;发送交易&#xff09;&#xff0c;而整个比赛的结果必须被…

分布式事务性能优化:从故障现场到方案落地的实战手记(三)

第三部分&#xff1a;混合场景攻坚——从“单点优化”到“系统协同” 有些性能问题并非单一原因导致&#xff0c;而是锁竞争与事务耗时共同作用的结果。以下2个案例&#xff0c;展示综合性优化策略。 案例7&#xff1a;基金申购的“TCC性能陷阱”——从全量预留到增量确认 故障…

规则系统架构风格

考题 某公司拟开发一个VIP管理系统,系统需要根据不同商场活动,不定期更新VIP会员的审核标准和VIP折扣系统。针对上述需求,采用(__)架构风格最为合适。 A. 规则系统 B. 管道-过滤器风格 C. 事件驱动 D. 分层 一、什么是规则系统架构风格? 规则系统架构风格是一种将应…

kubeadm搭建生产环境的单master多node的k8s集群

k8s环境规划: podSubnet&#xff08;pod 网段&#xff09; 10.20.0.0/16 serviceSubnet&#xff08;service 网段&#xff09;: 10.10.0.0/16 实验环境规划: 操作系统&#xff1a;centos7.9 配置&#xff1a; 4G 内存/4核CPU/40G 硬盘 网络&#xff1a;NAT K8s集群角色ip主…

React Device Detect 完全指南:构建响应式跨设备应用的最佳实践

前言 在现代 Web 开发中&#xff0c;设备检测是一个至关重要的功能。不同的设备&#xff08;手机、平板、桌面&#xff09;有着不同的屏幕尺寸、交互方式和性能特点&#xff0c;因此需要针对性地提供不同的用户体验。react-device-detect 是一个专门为 React 应用设计的设备检…

Spark专题-第一部分:Spark 核心概述(2)-Spark 应用核心组件剖析

这一篇依然是偏理论向的内容&#xff0c;用两篇理论搭建起Spark的框架&#xff0c;让读者有个基础的认知&#xff0c;下一篇就可以开始sql的内容了 第一部分&#xff1a;Spark 核心概述&#xff08;2&#xff09; Spark 应用核心组件剖析 1. Job, Stage, Task 的三层架构 理解 …

KMP 字符串hash算法

kmp算法 最大相同真前后缀&#xff1a; 如 ababa的最大真前后缀为aba&#xff0c; 而不是ababa&#xff08;真前后缀与真子集类似&#xff0c;不可是本身&#xff0c;不然没意义&#xff09; 所以next[1] 0&#xff1b;//string的下标从1开始 kmp模拟 next初始化&#xff…

HOT100--Day22--74. 搜索二维矩阵,34. 在排序数组中查找元素的第一个和最后一个位置,33. 搜索旋转排序数组

HOT100–Day22–74. 搜索二维矩阵&#xff0c;34. 在排序数组中查找元素的第一个和最后一个位置&#xff0c;33. 搜索旋转排序数组 每日刷题系列。今天的题目是《力扣HOT100》题单。 题目类型&#xff1a;二分查找。 关键&#xff1a; 今天的题目都是“多次二分” 74题&#xf…

Java分布式锁实战指南:从理论到实践

Java分布式锁实战指南&#xff1a;从理论到实践 前言 在分布式系统中&#xff0c;传统的单机锁机制无法满足跨进程、跨机器的同步需求。分布式锁应运而生&#xff0c;成为保证分布式系统数据一致性的关键技术。本文将全面介绍Java中分布式锁的实现方式和最佳实践。 1. 分布式锁…

(二叉树) 本节目标 1. 掌握树的基本概念 2. 掌握二叉树概念及特性 3. 掌握二叉树的基本操作 4. 完成二叉树相关的面试题练习

二叉树1. 树型结构&#xff08;了解&#xff09;1.1 概念1.2 概念&#xff08;重要&#xff09;1.3 树的表示形式&#xff08;了解&#xff09;1.4 树的应用2. 二叉树&#xff08;重点&#xff09;2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的基…