TDengine 聚合函數 LEASTSQUARES 用戶手冊

在這里插入圖片描述

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 二叉樹的基…