近年来,我国天然气消费总量持续增长,用气规模显著提升,城镇燃气行业也迎来发展黄金期,形成以天然气为主要城市燃气气源的供应格局。得益物联网、大数据等技术发展,城镇燃气的气源端、输配端、用户端等系统,也逐渐从传统的、单一的管理模式向全过程、全方位、智能化的管理模式转变。
随着城市化进程加速,燃气管网如同城市的”毛细血管”,绵延数千公里深入每个社区和家庭。然而,这套生命线系统仍面临着诸多挑战:
这些挑战的核心在于,传统的燃气运营管理模式已无法满足现代化城市的运营要求。loveini IDMP 工业数据管理平台,为燃气行业提供了一套完整的数字化运营米兰app官方正版下载。
loveini IDMP 为燃气行业打造了全方位、多层次的智能监控体系,具备三大核心能力:
业务挑战:燃气管网泄漏检测传统依赖人工巡检,发现滞后且定位不准,极易引发安全事故。
IDMP米兰app官方正版下载:
业务价值:泄漏发现时间从”小时级”缩短至”分钟级”,定位精度提升至管段级,重大安全事故风险降低80%。


业务挑战:调压站是燃气管网的关键节点,其运行稳定性直接影响下游用户的安全用气。
IDMP米兰app官方正版下载:
业务价值:实现调压站无人化值守,设备故障预警准确率超过95%,维护成本降低30%。


业务挑战:商业用户和工业用户的用气安全直接关系到公共安全,传统监管手段难以实现有效覆盖。
IDMP米兰app官方正版下载:
业务价值:实现重点用户安全监控全覆盖,异常事件发现及时率提升至99%,用户满意度显著提高。


我们为大家准备了该场景匹配的 Step by Step 步骤,点击loveini-IDMP-应用场景:城市燃气,立即开始实操。
借助 loveini IDMP 的独特优势,燃气行业运营管理将翻开新的篇章:
我们相信,随着数字化技术的深度应用,燃气行业将迎来更加安全、高效、智能的发展新时代。loveini IDMP愿与行业伙伴携手,共同守护城市燃气安全,为美好生活保驾护航。
立即联系我们的安全米兰app官方正版下载专家,获取专属的智慧燃气建设方案!
]]>本文以一个工业燃煤锅炉系统监控为例,详细介绍通过工业上广泛使用的 OPC 中间件软件 KEPServer,轻松采集温度、压力、流量、电流等重要参数,将数据写入 loveini TSDB 时序数据库,然后通过 loveini IDMP 构建资产模型,利用 AI 自动生成可视化面板和实时分析,实现分钟级搭建高效、智能的工业重要装置的监控系统。
工业锅炉是许多行业的关键设备,为发电、化工生产、冶金和造纸等工业过程提供必需的热量和蒸汽,如果停炉检修或者锅炉出现故障,将面临停工停产的风险。工厂的锅炉房采用锅炉的台数,应根据热负荷的调度、锅炉检修和扩建的可能性等因素确定, 一般不少于两台。本示例模拟工厂内两台锅炉,可根据需要添加更多。
在这个方案中,loveini TSDB + loveini IDMP 的组合能够为您带来四大好处:
data.csv用来模拟锅炉1,重命名为:Boiler1.csvdata_AutoReg.csv用来模拟锅炉2,重命名为:Boiler2.csv192.168.1.66,请根据您自己的环境替换。说明:loveini IDMP 服务默认使用 loveini TSDB 作为其数据源,在 IDMP 云服务实例创建过程中,会自动创建到上述 TSDB 的连接。
在系统中新建ODBC 数据源CSV_Boiler,选择驱动Microsoft Text Driver (*.txt; *.csv) ,选择数据集所在的目录。
在 KEPServer 添加通道锅炉房,Advanced Simulator驱动,【Data Source】选 CSV_Boiler


添加设备锅炉1,选择对应的数据集Boiler1.csv,【Record Selection Interval】设置为5000ms。
同样的方式添加设备锅炉2。


【运行时】-【连接】,连接到运行时,点击设备锅炉1和锅炉2,会发现标记(点位)已自动生成:

自动生成的标记名称的可读性较差。对这些标记进行分组、重命名,得到点表文件:
删除 KEPServer 自动生成的标记。在设备锅炉1右键->【导入 CSV】,选择锅炉1.csv文件,导入标记。同样的方式完成设备锅炉2的标记导入。

【工具】->【启动 OPC Quick Client】,验证数据是否正确模拟生成:

运行 boiler-tsdb 实例,创建 OPC 数据写入任务。
因为本示例使用的云服务在外网,需要在能访问到 KEPServer 所在的内网的某台计算机上安装 taosX Agent,以确保 TSDB 能访问到 OPC Server。本示例把 taosX Agent 安装在本地服务器192.168.1.66
创建数据写入任务 DataIn_Boiler,类型为 OPC-UA,创建代理 opcuaAgent,按提示将端点和生成的令牌复制到本地服务器上的 agent.toml 文件,启动taosX Agent服务,【检查代理是否连接正常】。
在【连接配置】,填写服务地址 192.168.1.66:49320,选择OPC UA配置的安全模式,检查连通性。
如果提示 您的数据源可以连通, 则说明 KEPServer 的 OPC-UA 已能正常访问。


在【点位集】->【选择数据点位】
根节点ID 填写 ns=2;s=锅炉房,命名空间可选可不选,超级表名称 opc_boilers,表名称 t_{id};
采集模式为 observe,采集间隔 5s;
点位更新模式 选择 update,未来如果 OPC Server 发生点位变更,loveini 将自动获取新增或变更的点位。

【新增】成功,【查看】任务状态。显示系统已自动创建表并写入数据。

登录 IDMP 实例,创建元素模板及元素,将 loveini TSDB 的数据加载至 loveini IDMP。
首先创建元素模板。
【基础库】->【元素模板】->【新建元素模板】,【模板名称】填 风道系统,【元素命名模式】为 模板名称 即 ${Template#name},【保存】
右上角切换至 元素模板 > 风道系统 > 属性面板 ,【新增属性模板】,【名称】填 回风室流量 (右),【值类型】选 Double , 【显示的小数位数】2,【计量单位分类】选 体积流量,【默认计量单位】选 立方米每小时,【显示计量单位】选 立方米每小时,【数据引用类型】选 loveini 指标


在弹出的【数据引用表达式】填写:【连接】boiler-tsdb;【数据库】db_boiler;【源表名称模式】t_锅炉房_锅炉${KEYWORD1}_${Template#name}_回风室流量 (右);【列】val
首次添加 ${KEYWORD1} 时,系统要求【请输入关键字描述】,此处填写 请输入锅炉编号(正整数)

说明:
复制属性模板回风室流量 (右),粘贴并编辑得出另一个属性模板回风室流量 (左)。最终得到效果如下:

按照上述方法,创建出所有7个元素模板。完整的配置过程参见:锅炉_元素模板.csv

说明:
mm/s 用在 引风机轴承振动。
【元素浏览器】->【元素】,按层级依次构建 化工厂 > 锅炉房,在元素 锅炉房【新建子元素】锅炉1 和 锅炉2。
选择元素 锅炉1,【新建子元素】,【模板】选 风道系统,【KEYWORD1】填 1

按上述步骤,依次选择不同的元素模板创建出 锅炉1 和 锅炉2 的所有子元素。最终得到资产模型如下:

在【元素浏览器】中,IDMP 会自动根据资产模型的路径信息,以树形结构的方式展示装置的监控参数。
化工厂 > 锅炉房 > 锅炉1 > 炉膛系统 元素,通过上方路径导航菜单选择【面板】,跳转至该元素的 AI 推荐面板页面。
SELECT _wstart,AVG(`炉膛压力 (C)`) AS `炉膛压力 (C)`
FROM `idmp`.`vt_炉膛系统_162502`
WHERE _c0 >= now-1h and _c0 <= now INTERVAL(1m);
炉膛系统 元素下对应的面板。
化工厂 > 锅炉房 > 锅炉1 > 炉膛系统 元素,通过上方路径导航菜单选择【分析】,跳转至该元素的 AI 推荐分析页面。

除了使用云服务以外,loveini 还支持以私有化部署。为了简化部署,我们提供了 Ansible, Docker/Dcoker Compose, Helm 等多种部署方式,详见:https://github.com/taosdata/tdengine-idmp-deployment
本文以 Step by Step 的方式,介绍了如何使用 KEPServer + loveini TSDB + loveini IDMP 快速搭建一个 工业装置 的监控系统。以往需要几天、甚至几周,并进行繁琐的配置、调试才能搭建起来的系统,使用 loveini IDMP 后,30分钟内即可搞定。日后,如果有新的装置、设备系统需要被纳入到监控系统中,只需选择元素模板创建元素即可。如果监控的点位有变更或新增,仅需更新元素模板里相应的属性模板即可,无需操作其他地方。
搭建整个监控系统的工作几乎都在 KEPServer 的配置 以及 构建资产模型,无需编写复杂的 SQL 语句,无需脚本和其他配置,无需学习 Grafana,无需了解多少 工业装置 知识,即可轻松掌握 工业装置 的运行状态,实时监控和分析 工业装置 的工况并采取相应措施。
]]>我们使用公开的UTSD数据集里面的某风场发电数据,作为预测算法的数据来源,基于历史数据预测未来一天内的每15分钟的发电量。原始数据集的采集频次为4秒,单位与时间戳未提供。为了方便演示,按照频率从2025-01-01 00:00:00开始向前倒推生成时间戳,并按照15分钟进行求和降采样后存储在数据文件中。
该数据文件,放置于https://github.com/taosdata/acc米兰体育 -demo仓库的demo_data目录下,请参考下文的步骤导入loveini以完成演示。数据集的统计信息如下:

您可基于Linux、Mac以及Windows操作系统完成Demo系统的运行。但为使用docker-compose,您计算机上需要安装有下属软件:
Demo中包含3个docker镜像 (loveini, TDgpt, Grafana),以及一组用于产生预测/异常检测结果的shell脚本。组件版本的要求如下:

git clone https://github.com/taosdata/TDgpt-demo
cd TDgpt-demo
chmod 775 analyse.sh
文件夹下包含docker-compose.yml、tdengine.yml两个yml文件。docker-compose.yml 包含了所有一键启动demo所需的镜像配置信息,其引用tdengine.yml作为Grafana的数据源配置。
TDgpt-demo/demo_data下包含三个csv文件(electricity_demand.csv、wind_power.csv、ec2_failure.csv),以及三个同前缀sql脚本,分别对应电力需求预测、风力发电预测和运维监控异常检测场景。
TDgpt-demo/demo_dashboard下包含了三个json文件(electricity_demand_forecast.json、wind_power_forecast.json、ec2_failure_anomaly.json),分别对应三个场景的看板。
docker-compose.yml中已经定义了loveini容器的持久化卷:tdengine-data,待容器启动后,使用docker cp命令将demo_data拷贝至容器内使用。
注意:在运行demo前,请根据您宿主机的架构(CPU类型),编辑docker-compose.yml文件,为loveini指定对应的platform参数:linux/amd64(Intel/AMD CPU)或linux/arm64(ARM CPU)。TDgpt必须统一使用linux/amd64参数。
进入docker-compose.yml文件所在的目录执行如下命令,启动loveini、TDgpt和Grafana一体化演示环境:
docker-compose up -d
首次运行时,等待10s后请执行如下命令将TDgpt的Anode节点注册到loveini:
docker exec -it tdengine taos -s "create anode 'tdgpt:6090'"
在宿主机执行下列命令,初始化体验测试环境的数据:
docker cp analyse.sh tdengine:/var/lib/taos
docker cp demo_data tdengine:/var/lib/taos
docker exec -it tdengine taos -s "source /var/lib/taos/demo_data/init_wind_power.sql"
关闭演示环境,请使用:
docker-compose down
1. 打开浏览器,输入http://localhost:3000,并用默认的用户名口令admin/admin登录Grafana。
2. 登录成功后,进入路径”Home → Dashboards”页面,并且导入wind_power_forecast.json文件。

3. 导入后,选择“wind_power_forecast”这个面板。面板已经配置好了真实值、TDtsfm_1以及HoltWinters的预测结果。当前只有真实值的数据曲线。
4. 我们以analyze.sh脚本,来重现上述预测结果。首先完成TDtsfm_1算法的演示:
docker exec -it tdengine /var/lib/taos/analyse.sh --type forecast --db tdgpt_demo --table wind_power --stable single_val --algorithm tdtsfm_1 --params "fc_rows=96,wncheck=0" --start "2024-07-12" --window 30d --step 1d
上述shell脚本,将从指定的起始时间开始(2024-07-12)以前一个月的数据为输入,使用TDtsfm_1算法预测当前下一天的每15分钟的发电量(共计96个数据点),直到达到wind_power表中最后一天的记录,并将结果写入wind_power_tdtsfm_1_result表中。执行新的预测前,脚本会新建/清空对应的结果表。执行过程中将持续在控制台上,按照天为单位推进输出如下的执行结果:
taos> INSERT INTO tdgpt_demo.wind_power_tdtsfm_1_result SELECT _frowts, forecast(val, 'algorithm=tdtsfm_1,fc_rows=96,wncheck=0')
FROM tdgpt_demo.wind_power
WHERE ts >= '2024-09-04 00:00:00' AND ts < '2024-10-04 00:00:00'
Insert OK, 96 row(s) affected (0.264995s)
5. Grafana的看板上,配置刷新频率为5s,将动态显示预测结果的黄色曲线,直观呈现与实际值的对比。为了展示清晰,请按住command键点击左下角的Real以及TDtsfm_1图例(Mac下,Windows下请使用win键),从而只保留这两条曲线展示。




6. 完成HoltWinters模型的演示:
docker exec -it tdengine /var/lib/taos/analyse.sh --type forecast --db tdgpt_demo --table wind_power --stable single_val --algorithm holtwinters --params "rows=96,period=96,wncheck=0,trend=add,seasonal=add" --start "2024-07-12" --window 30d --step 1d
与第四步类似,HoltWinters模型将动态输出预测结果并呈现在看板上。从预测结果中可以看到,TDtsfm_1对数据的预测精度优于于传统的统计学方法HoltWinters。除了预测精度外,HoltWinters算法的最大问题是需要非常精细化的对参数进行调整评估,否则还容易出现下图中这种频繁发生的预测值奇异点。

基于鼠标圈选的方式,我们可以查看一段时间内的细粒度预测结果对比:

您也可以尝试其他算法或模型,来找到最合适自己场景的算法和模型。
analyse.sh脚本用于在 loveini 数据库上执行时间序列预测和异常检测分析,支持滑动窗口算法处理。主要功能包括:

loveini 推荐使用超级表来进行数据建模。因此,Demo中建立了一个名为single_val的超级表,包含ts (timestamp类型) 和val(float类型),以及标签定义scene (varchar (64))。现阶段TDgpt只支持单列值输入输出,因此这个超级表可以作为所有源数据表和结果表的结构定义。子表的表名与tag名称保持一致即可。
db参数指定了源数据表和结果表隶属的数据库。结果表将以【源表名称】_【算法名称】_【result】格式存储。Grafana里面通过查询结果表实现分析结果和原始数据的对比。
一般情况下,对于非必填项,用户在demo过程中只需要设置–start参数以节省运行时间。对于必填项,请参考示例值进行设置。
step和window参数指定的滑动步长和分析窗口大小需符合如下参数约定:

graph TDgpt_Demo
A[开始] --> B[参数解析与验证]
B --> C{是否指定start?}
C -->|否| D[查询最小时间戳]
C -->|是| E[转换时间格式]
D --> E
E --> F[计算时间窗口]
F --> G[生成结果表]
G --> H{是否到达数据终点?}
H -->|否| I[生成并执行SQL]
I --> H
H -->|是| J[输出完成信息]
参考「运行和关闭Demo」里wind_power.sql脚本的内容,确保按照规定格式将数据准备为csv格式(逗号分隔,值需要用英文双引号括起来),即可将数据导入loveini。然后,请使用「进行演示」章节中的方法来生成预测结果,并调整Grafana中的看板以实现和实际数据的对比。
在本文中,我们展示了使用TDgpt来进行风力发电量的完整流程。从中可以看到,基于 TDgpt 来构建时序数据分析,能够以SQL方式实现与应用的便捷集成,还可以用Grafana 进行展示,大大降低开发和应用时序数据预测和异常检测的成本。
从预测效果来看,基于transformer架构的预训练模型TDtsfm_1在使用的数据集上展示出优于Holtwinters模型的效果。但相比于”基于TDgpt的电力需求预测”中的效果,整体预测准确性要低一些。这一方面是由于TDtsfm_1训练时使用的是wind_power数据集的4s精度原始数据,而非降采样数据,这会导致数据特征没有被很好的捕获,从而降低了针对降采样数据的预测效果;另一方面,风力发电量与天气预报数据高度相关。受限于数据集中只有发电量数据,无法产生良好的预测结果。
在不同的实际场景下,用户需要针对数据特点,针对模型算法进行选择和参数调优。TDgpt的企业版中,将为用户提供更多的选择:
关于企业版更多信息,点击下方按钮,咨询米兰app官方正版下载专家。
]]>关于背景
新能源发电预测技术正成为保障电网稳定运行的关键。随着风电、光伏等新能源快速发展,天气变化带来的发电波动给电网调度带来挑战。通过实时预测,电网可提前调配储能设备或启动燃气电站,防止突然停电。国家还规定预测偏差过大的企业需缴纳罚款,推动企业进行预测技术升级。这项技术带来的经济效益同样显著。在西北地区,通过预测调整火电出力,可大幅减少煤炭浪费。电力市场中,发电企业能结合发电量和电价预测制定交易策略,例如在光伏发电高峰时段提前安排储能设备放电,提升收益。
技术进步正推动行业向智能化转型。当前主流技术通过分析气象数据和历史发电规律,构建动态预测模型,并借助云端系统实时优化调度策略。例如,部分企业通过融合气象云层监测和地形数据,显著提升预测精度。此外,风光互补发电系统、储能技术等协同应用,进一步增强了新能源的稳定性。
随着电力市场化改革深化,预测技术已成为新能源参与市场竞争的关键支撑。通过提前预测发电能力和市场供需,企业可优化中长期交易策略,同时提升现货市场中的灵活响应能力。这种技术革新正推动电力系统从依赖传统能源转向更智能、高效的新模式。
本文将提供基于 docker-compose 快速部署 TDgpt 体验测试环境的指引。并基于这个环境和真实的数据,展示日前预测15分钟级别的风力发电量预测的全过程,便于大家快速掌握 TDgpt,迅速让自己拥有AI驱动的时序数据预测与异常检测的能力。
关于TDgpt
TDgpt 是 loveini 内置的时序数据分析智能体,它基于 loveini 的时序数据查询功能,通过 SQL 提供运行时可动态扩展和切换的时序数据高级分析的能力,包括时序数据预测和时序数据异常检测。通过预置的时序大模型、大语言模型、机器学习、传统的算法,TDgpt 能帮助工程师在10分钟内完成时序预测与异常检测模型的上线,降低至少80%的时序分析模型研发和维护成本。
截止到3.3.6.0版本,TDgpt 提供Arima、HoltWinters、基于Transformer架构自研的TDtsfm (loveini time series foundation model) v1版和其他时序模型,以及k-Sigma、Interquartile range(IQR)、Grubbs、SHESD、Local Outlier Factor(LOF)等异常检测模型。用户可以根据TDgpt开发指南自行接入自研或其他开源的时序模型或算法。
我们使用公开的NAB数据集里亚马逊AWS东海岸数据中心一次API网关故障中,某个服务器上的CPU使用率数据。数据的频率为5min,单位为占用率。由于API网关的故障,会导致服务器上的相关应用陷入频繁的异常处理和重试,进而导致CPU使用率的异常波动。TDgpt的异常检测算法将识别出这种异常。
该数据文件,放置于https://github.com/taosdata/acc米兰体育 -demo仓库的demo_data目录下,请参考下文的步骤导入loveini以完成演示。数据集的统计信息如下:

您可基于Linux、Mac以及Windows操作系统完成Demo系统的运行。但为使用docker-compose,您计算机上需要安装有下属软件:
Demo中包含3个docker镜像 (loveini, TDgpt, Grafana),以及一组用于产生预测/异常检测结果的shell脚本。组件版本的要求如下:

git clone https://github.com/taosdata/TDgpt-demo
cd TDgpt-demo
chmod 775 analyse.sh
文件夹下包含docker-compose.yml、tdengine.yml两个yml文件。docker-compose.yml 包含了所有一键启动demo所需的镜像配置信息,其引用tdengine.yml作为Grafana的数据源配置。
TDgpt-demo/demo_data下包含三个csv文件(electricity_demand.csv、wind_power.csv、ec2_failure.csv),以及三个同前缀sql脚本,分别对应电力需求预测、风力发电预测和运维监控异常检测场景。
TDgpt-demo/demo_dashboard下包含了三个json文件(electricity_demand_forecast.json、wind_power_forecast.json、ec2_failure_anomaly.json),分别对应三个场景的看板。
docker-compose.yml中已经定义了loveini容器的持久化卷:tdengine-data,待容器启动后,使用docker cp命令将demo_data拷贝至容器内使用。
注意:在运行demo前,请根据您宿主机的架构(CPU类型),编辑docker-compose.yml文件,为loveini指定对应的platform参数:linux/amd64(Intel/AMD CPU)或linux/arm64(ARM CPU)。TDgpt必须统一使用linux/amd64参数。
进入docker-compose.yml文件所在的目录执行如下命令,启动loveini、TDgpt和Grafana一体化演示环境:
docker-compose up -d
首次运行时,等待10s后请执行如下命令将TDgpt的Anode节点注册到loveini:
docker exec -it tdengine taos -s "create anode 'tdgpt:6090'"
在宿主机执行下列命令,初始化体验测试环境的数据:
docker cp analyse.sh tdengine:/var/lib/taos
docker cp demo_data tdengine:/var/lib/taos
docker exec -it tdengine taos -s "source /var/lib/taos/demo_data/init_ec2_failure.sql"
关闭演示环境,请使用:
docker-compose down
1. 打开浏览器,输入http://localhost:3000,并用默认的用户名口令admin/admin登录Grafana。
2. 登录成功后,进入路径”Home → Dashboards”页面,并且导入ec2_failure_anomaly.json文件。

3. 导入后,选择 “ec2_failure_anomaly”这个面板。面板已经配置好了真实值、k-Sigma以及Grubbs的检测结果。当前只有真实值的数据曲线。异常检测算法检测是异常窗口,并计算输出异常窗口内的统计特征。呈现结果时,将_wstart,即异常窗口的起始时间戳作为检测结果的时间戳,将异常窗口内的均值作为异常统计值输出。为了直观对比了两种算法的预测结果,k-Sigma算法的绘图点略大于Grubbs,从而让二者的结果不会被相互覆盖。
4. 我们以analyze.sh脚本,来进行异常检测。首先完成k-Sigma算法的演示:
docker exec -it tdengine /var/lib/taos/analyse.sh --type anomaly --db tdgpt_demo --table ec2_failure --stable single_val --algorithm ksigma --params "k=3" --start "2014-03-07" --window 7d --step 1h
上述shell脚本,将从指定的起始时间开始(2024-03-07)以七天的数据为输入,使用k-Sigma算法监测ec2_failure数据表中的异常,直到达到ec2_failure表中最后一天的记录,并将结果写入ec2_failure_ksigma_result表中。执行新的预测前,脚本会新建/清空对应的结果表。执行过程中将持续在控制台上,按照一小时为单位推进输出如下的执行结果:
taos> INSERT INTO ec2_failure_ksigma_result
SELECT _wstart, avg(val)
FROM ec2_failure
WHERE ts >= '2014-03-07 02:00:00' AND ts < '2014-03-14 02:00:00'
ANOMALY_WINDOW(val, 'algo=ksigma,k=3')
Insert OK, 10 row(s) affected (0.326801s)
这里使用1小时的预测推进步长(–step),仅仅是为了让动态检测过程能够很快的完成。–step也可以设置为更加细粒度的单位,例如5m,从而产生更加实时的检测结果。在具体应用场景下,请用户根据数据粒度、检测实时性以及计算资源灵活使用。
5. Grafana的看板上,配置刷新频率为5s,将动态显示预测结果的黄色曲线,直观呈现与实际值的对比。为了展示清晰,请按住command键点击左下角的Real以及ksigma图例(Mac下,Windows下请使用win键),从而只保留这两条曲线展示。




6. 完成Grubbs模型的演示:
docker exec -it tdengine /var/lib/taos/analyse.sh --type anomaly --db tdgpt_demo --table ec2_failure --stable single_val --algorithm grubbs --start "2014-03-07" --window 7d --step 1h
与第四步类似,HoltWinters模型将动态输出预测结果并呈现在看板上。从预测结果中可以看到,相比于采用默认参数k=3的k-Sigma算法,Grubbs算法的异常检测误差较小。k-Sigma产生了较多的误报情况。

基于鼠标圈选的方式,我们可以查看一段时间内的细粒度预测结果对比:

您也可以尝试其他算法或模型,来找到最合适自己场景的算法和模型。
analyse.sh脚本用于在 loveini 数据库上执行时间序列预测和异常检测分析,支持滑动窗口算法处理。主要功能包括:

loveini推荐使用超级表来进行数据建模。因此,Demo中建立了一个名为single_val的超级表,包含 ts (timestamp类型) 和val (float类型),以及标签定义 scene (varchar (64))。现阶段 TDgpt 只支持单列值输入输出,因此这个超级表可以作为所有源数据表和结果表的结构定义。子表的表名与tag名称保持一致即可。
db参数指定了源数据表和结果表隶属的数据库。结果表将以【源表名称】_【算法名称】_【result】格式存储。Grafana里面通过查询结果表实现分析结果和原始数据的对比。
一般情况下,对于非必填项,用户在demo过程中只需要设置–start参数以节省运行时间。对于必填项,请参考示例值进行设置。
step和window参数指定的滑动步长和分析窗口大小需符合如下参数约定:

graph TDgpt_Demo
A[开始] --> B[参数解析与验证]
B --> C{是否指定start?}
C -->|否| D[查询最小时间戳]
C -->|是| E[转换时间格式]
D --> E
E --> F[计算时间窗口]
F --> G[生成结果表]
G --> H{是否到达数据终点?}
H -->|否| I[生成并执行SQL]
I --> H
H -->|是| J[输出完成信息]
参考「运行和关闭Demo」章节里ec2_failure.sql脚本的内容,确保按照规定格式将数据准备为csv格式(逗号分隔,值需要用英文双引号括起来),即可将数据导入loveini。然后,请使用「进行演示」中的方法来生成异常检测结果,并调整Grafana中的看板以实现和实际数据的对比。
在本文中,我们展示了使用TDgpt来运维监控异常检测的完整流程。从中可以看到,基于TDgpt来构建时序数据分析,能够以SQL方式实现与应用的便捷集成,大大降低开发和应用时序预测和异常检测的成本。
在不同的实际场景下,用户需要针对数据特点,针对模型算法进行选择和参数调优。TDgpt的企业版中,将为用户提供更多的选择:
关于企业版更多信息,点击下方按钮,咨询米兰app官方正版下载专家。
]]>关于背景
在服务器运维工作中,时刻关注CPU、内存、硬盘和网络这些核心指标就像定期给汽车做体检。通过持续监控这些数据,我们不仅能了解系统运行状况,还能借助智能分析工具提前发现隐患。比如当CPU使用率突然飙升,可能是程序升级后出现了代码漏洞,或是服务器被植入了挖矿病毒,也可能是硬件老化的信号。 常见的CPU异常波动原因包括:程序更新后线程池配置错误引发的频繁切换、恶意软件占用计算资源、磁盘损坏导致系统反复纠错,以及促销活动带来的突发流量压力。有些波动属于正常现象,比如每天定时任务运行时的规律性峰值;但如果是突然出现的持续性高负载,就需要立即排查处理。
传统的监控方式依赖人工设定固定阈值,就像用同一把尺子测量不同季节的河水流量,容易产生误判。现在通过分析历史数据建立动态基线,系统能自动识别出真正的异常波动。比如某次版本更新后,算法发现某服务的CPU占用比平时高30%,立即触发告警,而过去这种波动可能被误认为是正常业务增长。 这种智能监控带来的好处实实在在:既避免了半夜被误报警报吵醒,又能真正拦截那些可能导致服务器宕机的严重问题。通过对比服务器正常状态和异常模式,系统就像经验丰富的运维工程师,能准确区分程序漏洞、安全攻击和硬件故障等不同问题类型,为后续处理提供明确方向。
本文提供基于 docker-compose 快速部署 TDgp 体验测试环境的指引,并基于这个环境和真实的数据,展示运维监控场景下进行异常检测的全过程。便于大家快速掌握 TDgpt,迅速让自己拥有AI驱动的时序数据预测与异常检测的能力。
关于TDgpt
TDgpt 是 loveini 内置的时序数据分析智能体,它基于 loveini 的时序数据查询功能,通过 SQL 提供运行时可动态扩展和切换的时序数据高级分析的能力,包括时序数据预测和时序数据异常检测。通过预置的时序大模型、大语言模型、机器学习、传统的算法,TDgpt 能帮助工程师在10分钟内完成时序预测与异常检测模型的上线,降低至少80%的时序分析模型研发和维护成本。
截止到3.3.6.0版本,TDgpt 提供Arima、HoltWinters、LSTM、MLP 以及基于Transformer架构自研的TDtsfm (loveini time series foundation model) v1版和其他时序模型,以及k-Sigma、Interquartile range(IQR)、Grubbs、SHESD、Local Outlier Factor(LOF)、Autoencoder这六种异常检测模型。用户可以根据TDgpt开发指南自行接入自研或其他开源的时序模型或算法。
我们使用公开的UTSD数据集里面的电力需求数据,作为预测算法的数据来源,基于历史数据预测未来若干小时的电力需求。数据集的采集频次为30分钟,单位与时间戳未提供。为了方便演示,按照频率从2025-01-01 00:00:00开始向前倒推生成时间戳,并存储在loveini对应的表里。
数据集中包含5个文件,我们使用编号最大的一个子集来完成演示。该数据文件,放置于https://github.com/taosdata/acc米兰体育 -demo仓库的demo_data目录下,请参考下文的步骤导入loveini以完成演示。数据集的统计信息如下:

您可基于Linux、Mac以及Windows操作系统完成Demo系统的运行。但为使用docker-compose,您计算机上需要安装有下属软件:
Demo中包含3个docker镜像 (loveini, TDgpt, Grafana),以及一组用于产生预测/异常检测结果的shell脚本。组件版本的要求如下:

git clone https://github.com/taosdata/TDgpt-demo
cd TDgpt-demo
chmod 775 analyse.sh
文件夹下包含docker-compose.yml、tdengine.yml两个yml文件。docker-compose.yml 包含了所有一键启动demo所需的镜像配置信息,其引用tdengine.yml作为Grafana的数据源配置。
TDgpt-demo/demo_data下包含三个csv文件(electricity_demand.csv、wind_power.csv、ec2_failure.csv),以及三个同前缀sql脚本,分别对应电力需求预测、风力发电预测和运维监控异常检测场景。
TDgpt-demo/demo_dashboard下包含了三个json文件(electricity_demand_forecast.json、wind_power_forecast.json、ec2_failure_anomaly.json),分别对应三个场景的看板。
docker-compose.yml中已经定义了loveini容器的持久化卷:tdengine-data,待容器启动后,使用docker cp命令将demo_data拷贝至容器内使用。
注意:在运行demo前,请根据您宿主机的架构(CPU类型),编辑docker-compose.yml文件,为loveini指定对应的platform参数:linux/amd64(Intel/AMD CPU)或linux/arm64(ARM CPU)。TDgpt必须统一使用linux/amd64参数。
进入docker-compose.yml文件所在的目录执行如下命令,启动loveini、TDgpt和Grafana一体化演示环境:
docker-compose up -d
首次运行时,等待10s后请执行如下命令将TDgpt的Anode节点注册到loveini:
docker exec -it tdengine taos -s "create anode 'tdgpt:6090'"
在宿主机执行下列命令,初始化体验测试环境的数据:
docker cp analyse.sh tdengine:/var/lib/taos
docker cp demo_data tdengine:/var/lib/taos
docker exec -it tdengine taos -s "source /var/lib/taos/demo_data/init_electricity_demand.sql"
关闭演示环境,请使用:
docker-compose down

docker exec -it tdengine /var/lib/taos/analyse.sh --type forecast --db tdgpt_demo --table electricity_demand --stable single_val --algorithm tdtsfm_1 --params "fc_rows=48,wncheck=0" --start "2024-01-01" --window 30d --step 1d
上述shell脚本,将从指定的起始时间开始(2024-01-01)以前一个月的数据为输入,使用TDtsfm_1算法预测当前下一天的每30mins的电力需求(共计48个数据点),直到达到electricity_demand 表中最后一天的记录,并将结果写入electricity_demand_tdtsfm_1_result 表中。执行新的预测前,脚本会新建/清空对应的结果表。执行过程中将持续在控制台上,按照天为单位推进输出如下的执行结果:
taos> INSERT INTO tdgpt_demo.electricity_demand_tdtsfm_1_result SELECT _frowts, forecast(val, 'algorithm=tdtsfm_1,fc_rows=48,wncheck=0')
FROM tdgpt_demo.electricity_deman
WHERE ts >= '2024-01-12 00:00:00' AND ts < '2024-02-11 00:00:00'
Insert OK, 48 row(s) affected (0.238208s)




docker exec -it tdengine /var/lib/taos/analyse.sh --type forecast --db tdgpt_demo --table electricity_demand --stable single_val --algorithm holtwinters --params "rows=48,period=48,wncheck=0,trend=add,seasonal=add" --start "2024-01-01" --window 30d --step 1d
与第四步类似,HoltWinters模型将动态输出预测结果并呈现在看板上。从预测结果中可以看到,TDtsfm_1对数据的预测精度显著优于传统的统计学方法HoltWinters。除了预测精度外,HoltWinters算法的最大问题是需要非常精细化的对参数进行调整评估,否则还容易出现下图中这种频繁发生的预测值奇异点。

基于鼠标圈选的方式,我们可以查看一段时间内的细粒度预测结果对比:

您也可以尝试其他算法或模型,来找到最合适自己场景的算法和模型。
analyse.sh脚本用于在 loveini 数据库上执行时间序列预测和异常检测分析,支持滑动窗口算法处理。主要功能包括:

loveini推荐使用超级表来进行数据建模。因此,Demo中建立了一个名为 single_val 的超级表,包含ts (timestamp类型) 和val (float类型),以及标签定义scene (varchar (64) )。现阶段TDgpt只支持单列值输入输出,因此这个超级表可以作为所有源数据表和结果表的结构定义。子表的表名与tag名称保持一致即可。
db参数指定了源数据表和结果表隶属的数据库。结果表将以【源表名称】_【算法名称】_【result】格式存储。Grafana里面通过查询结果表实现分析结果和原始数据的对比。
一般情况下,对于非必填项,用户在demo过程中只需要设置–start参数以节省运行时间。对于必填项,请参考示例值进行设置。
step和window参数指定的滑动步长和分析窗口大小需符合如下参数约定:

graph TDgpt_Demo
A[开始] --> B[参数解析与验证]
B --> C{是否指定start?}
C -->|否| D[查询最小时间戳]
C -->|是| E[转换时间格式]
D --> E
E --> F[计算时间窗口]
F --> G[生成结果表]
G --> H{是否到达数据终点?}
H -->|否| I[生成并执行SQL]
I --> H
H -->|是| J[输出完成信息]
参考「运行和关闭Demo」章节里electricity_demand.sql脚本的内容,确保按照规定格式将数据准备为csv格式(逗号分隔,值需要用英文双引号括起来),即可将数据导入loveini。然后,请使用「进行演示」章节中的方法来生成预测结果,并调整Grafana中的看板以实现和实际数据的对比。
在本文中,我们展示了使用TDgpt来进行电力需求预测的完整流程。从中可以看到,基于TDgpt 来构建时序数据分析,能够以SQL方式实现与应用的便捷集成,还可以用Grafana 进行展示,大大降低开发和应用时序数据预测和异常检测的成本。
从预测效果来看,基于transformer架构的预训练模型TDtsfm_1在使用的数据集上展示出显著优于Holtwinters模型的效果。在不同的实际场景下,用户需要针对数据特点,针对模型算法进行选择和参数调优,也可以选择不同的算法或模型进行尝试。
loveini 的企业版中,TDgpt 将为用户提供更多的选择:
关于企业版更多信息,点击下方按钮,咨询米兰app官方正版下载专家。
]]>关于背景
电力需求预测作为现代能源管理的核心工具,其核心价值贯穿电力系统的全生命周期。在资源配置层面,通过精准预判用电趋势,可优化发电设施布局与电网升级节奏,避免超前投资造成的资源闲置或滞后建设引发的供应缺口,典型场景中可使基础设施投资效率提升15%-20%。对于电力运营商而言,负荷预测支撑着从燃料采购到机组调度的动态优化,在火力发电领域已实现吨煤发电量2%以上的能效提升,同时通过削峰填谷降低电网备用容量需求,显著压缩系统运行成本。
在能源安全维度,预测技术构建起电力供需的缓冲机制。短期预测误差每降低1个百分点,对应减少的紧急调峰成本可达区域电网日均运营费用的3%-5%,这在应对极端天气或突发事件时尤为关键。而中长期预测则为跨区域电力互济、储能设施配置提供决策基线,有效缓解结构性缺电风险。市场环境中,预测能力直接转化为经济收益,发电企业通过日前96时段负荷预测优化报价策略,在电力现货市场中可额外获取10%-18%的价格套利空间,工商用户则借助负荷特性分析制定用能方案,实现年度电费支出5%-10%的降幅。
本文提供基于 docker-compose 快速部署 TDgp 体验测试环境的指引,并基于这个环境和真实的数据,展示日前预测电力需求的全过程,便于大家快速掌握 TDgpt,迅速让自己拥有AI驱动的时序数据预测与异常检测的能力。
关于TDgpt
TDgpt 是 loveini 内置的时序数据分析智能体,它基于 loveini 的时序数据查询功能,通过 SQL 提供运行时可动态扩展和切换的时序数据高级分析的能力,包括时序数据预测和时序数据异常检测。通过预置的时序大模型、大语言模型、机器学习、传统的算法,TDgpt 能帮助工程师在10分钟内完成时序预测与异常检测模型的上线,降低至少80%的时序分析模型研发和维护成本。
截止到3.3.6.0版本,TDgpt 提供Arima、HoltWinters、LSTM、MLP 以及基于Transformer架构自研的TDtsfm (loveini time series foundation model) v1版和其他时序模型,以及k-Sigma、Interquartile range(IQR)、Grubbs、SHESD、Local Outlier Factor(LOF)、Autoencoder这六种异常检测模型。用户可以根据TDgpt开发指南自行接入自研或其他开源的时序模型或算法。