PP-TS基于启发式搜索和集成方法的时序预测模型,使预测更加准确

152544df26be442f939de4c5960fddeb.gif

时间序列数据在各行业和领域中无处不在,如物联网传感器的测量结果、每小时的销售额业绩、金融领域的股票价格等等,都是时间序列数据的例子。时间序列预测就是运用历史的多维数据进行统计分析,推测出事物未来的发展趋势。

为加快企业智能化转型进程,降低时序技术应用门槛,飞桨持续进行产品技术打磨,推出了基于启发式搜索和集成学习的高精度时序模型PP-TS,在电力场景数据集上经过验证,精度提升超20%。

PP-TS今天正式上线飞桨AI套件PaddleX!源码全部开放!您可以在AI Studio(星河社区)云端或者PaddleX本地端尽情探索!尝试结合到真实的业务场景中去!在工具箱模式中,您只需提供一个场景下的历史数据,PP-TS就能为您准确预测出该场景下未来一段时间内的数据情况。

c737ef4a01d21fa21af3875058aba821.jpeg数据

c92cc8da0d1a9c21443ac9eb1c2793d5.jpeg训练

2dd7c4b75abf53b57fb4a3740fb31db4.jpeg评估测试

除PP-TS外,飞桨也提供了8种业界领先的时序预测方法,即TimesNet, TiDE, PatchTST,  DLinear, RLinear, NLinear, Nonstationary Transformer和XGBoost以便您对比使用。

4dda97b57e7f5821acb8b71a202bdd86.pngPP-TS核心思想

ad005db6999889543f0c264cee0d1530.png

基于集成方法,相较于传统时序预测,PP-TS预测更加准确

随着5G时代的到来,企业逐步进入数字化转型新阶段,面临越来越多复杂时间序列预测场景,如设备剩余寿命预测、电力负荷预测等。在复杂时序预测场景下,长时序、多变量、非平稳等特性严重影响模型预测的精度,对时序预测任务提出了更高的要求。因此我们采用集成方法,通过对多个单预测模型的选择和融合,从而达到更佳的预测表现。

在电力场景下,PP-TS的准确度优于传统模型,预测误差平均降低30%

f1f79175f8505bf2fc2f3c4e115d3636.png

44fcbf8c879f08ebcf394b04bab7a959.png545dfe1d2ab5475a5775a866fc565706.png通过启发搜索,降低搜索次数

不同单模型具有不同的能力,如Non-Stationary Transformer针对数据非平稳场景进行优化,TimesNet通过多周期分解具有更强的表达能力。可见,不同的算法组合集成会产生不同的预测表现,那么选择什么模型能够达到最佳效果,在选择模型组合的过程中,又如何提高选择效率,这些便是要重点关注和解决的问题。因此我们提出了PP-TS,通过启发式搜索选择模型集成,降低选择模型组合次数,比如:在8个基础单模型的情况下,每个模型都有选择和不被选择两种情况,总的集成组合有2^8种,通过启发搜索,能够将搜索的次数压缩到30次左右,同时保证了集成的模型能够取得最佳精度。

9320b9dfcbb285e23684a2c6b3f34c3c.png

PP-TS关键技术点解读

能力更强的PP-TS,整体的技术框架图,如下图所示:

806584553b231099c6a7f09461cb0163.pngPP-TS

PP-TS主要从三个角度进行了深入探索,主要包括:

  • 基础单模型:深度模型一般拟合能力强,Transformer-based方法善于捕捉长期依赖,而机器学习方法具有更好的可解释性,PP-TS选择了前沿深度模型和传统方法的结合,包含TimesNet, TiDE, PatchTST,  DLinear, RLinear, NLinear, Nonstationary Transformer和XGBoost。

  • 启发式搜索:将单模型是否被选择建模成0/1问题,通过遗传算法,对选择的组合进行精度评估,通过选择交叉变异进化,筛选最优组合。

  • 模型集成:将被选择的模型进行集成,结果融合,得到精度最佳的方法。

27efbe5be92824593d3d71105ee9e394.png如何定制个性化的PP-TS

在真实业务中,一般不建议直接使用通用版的PP-TS,而是需要针对业务场景中的数据类型进行专门的优化适配,以达到足够高的精度和稳定性,满足真实业务需求。那么,如何打造个性化的PP-TS呢?下面让我们一一道来。

7415f1ce415d08da6f085f39c061b711.png

创建PP-TS模型产线

飞桨AI套件PaddleX已上线AI Studio(星河社区),目前的入口在模型库,大家可以在这里找到PP-TS,阅读其介绍文档,并最终创建属于你自己的PP-TS模型产线。

AI Studio(星河社区)模型库链接如下:https://aistudio.baidu.com/aistudio/modelsoverview?supportPaddlex=true&sortBy=weight

593309cadda7365b594c3659a48619a3.png

准备评估数据与效果验证

为了客观地评价PP-TS的效果,建议大家从业务场景中准备一定量的评估数据进行定量的综合评价。例如,可以准备过去3个月的行业数据,根据业务需求标注所关注的字段及其真值。

在对通用的PP-TS效果进行评估之后,其结果可以作为baseline指导后续针对业务场景的优化工作。

One more thing,未来在飞桨AI套件PaddleX,大家不仅可以开发自己的模型,还可以联创贡献,和平台收益共享!

联创模式不仅可以技术变现,还可以让个人开发者收获满满的成就感,为企业开发者吸引流量和关注,真可谓好事成双!而且,有了大量的用户,就能够收集到有价值的反馈,促进贡献者进一步优化模型,从而吸引更多的用户,可谓双螺旋上升~

为了保护贡献者的知识产权,我们会提供完善的加密鉴权机制,各位贡献者只需要按照我们的文档接入加密鉴权能力,就可以放心地贡献模型啦!关于联创的更多细节,敬请关注飞桨AI套件PaddleX后续更新!

最后,再次邀请大家进入PaddleX用户交流群~共创繁荣AI技术生态~

微信扫描二维码添加运营同学,并回复【PaddleX】,运营同学会邀请您加入官方交流群,先人一步体验PaddleX本地端,获得更高效的问题答疑!

c3fad36282b0e466fc9d1e58ad3c6392.png

飞桨AI套件PaddleX中的PP-TS

https://aistudio.baidu.com/modelsdetail?modelId=339

PP-TS  GitHub

https://github.com/PaddlePaddle/PaddleTS

54079bb00dfa2b5621076eea8ee08807.png

68e74718317b62cec3645c200d532323.png

89283fa5afdf0f02b820cf09a6d3303c.png

d040d7204f6df6173b8aec5c656c0368.png

9bea28b86a623b7356e0bfab71a510b2.gif

关注【飞桨PaddlePaddle】公众号

获取更多技术内容~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/81014.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JRebel插件扩展-mac版

前言 上一篇分享了mac开发环境的搭建,但是欠了博友几个优化的债,今天先还一个,那就是idea里jRebel插件的扩展。 一、场景回眸 这个如果在win环境那扩展是分分钟,一个exe文件点点就行。现在在mac环境就没有这样的dmg可以执行的&…

十七、地物识别

描述了使用2D卷积神经网络图像识别的全过程。下载和安装标注工具,对图像进行标注,生成标注后的图像。然后对数据进行增强,划分训练集和测试集。最后通过神经网络建立分类模型,对现有图片进行分类应用。 1、Labelme工具 Labelme工具是语义分割标注工具,在地物类型或建…

汽车领域专业术语

1. DMS/OMS/RMS/IMS DMS:即Driver Monitoring System,监测对象为Driver(驾驶员)。DMS三大核心: OMS:即Occupancy Monitoring System,监测对象为乘客。 RMS:后排盲区检测系统 IMS&…

代理模式概述

1.代理模式概述 学习内容 1)概述 为什么要有 “代理” ? 生活中就有很多例子,比如委托业务,黄牛(票贩子)等等代理就是被代理者没有能力或者不愿意去完成某件事情,需要找个人代替自己去完成这…

micropython SSD1306/SSD1315驱动

目录 简介 代码 功能 显示ASCII字符 ​编辑 画任意直线 画横线 画竖线 画矩形 画椭圆 画立方体 画点阵图 翻转 反相 滚动 横向滚动 纵向滚动 奇葩滚动 简介 我重新写了一个驱动,增加了一些功能,由于我的硬件是128*64oled单色I2C,我只…

Android Shape 的使用

目录 什么是Shape? shape属性 子标签属性 corners (圆角) solid (填充色) gradient (渐变) stroke (描边) padding (内边距) size (大小…

视频高效剪辑,轻松平均分割视频,生成高质量M3U8

您是否在处理视频剪辑时常常面临繁琐的切分工作?是否希望能够快速而精准地平均分割视频,并生成适用于在线播放的高质量m3u8文件?现在,我们的智能视频剪辑大师为您提供了一种简便而高效的解决方案!无需复杂操作&#xf…

【MySQL系列】--初识数据库

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

软件报错msvcr90.dll丢失的解决方法,亲测可以修复

我曾经遇到过一个令人头疼的问题:msvcr90.dll丢失。这个问题导致了我的程序无法正常运行,让我感到非常苦恼。然而,在经过一番努力后,我终于成功地修复了这个问题,这让我感到非常欣慰和满足。 msvcr90.dll丢失的原因可能…

大模型基础03:Embedding 实战本地知识问答

大模型基础:Embedding 实战本地知识问答 Embedding 概述 知识在计算机内的表示是人工智能的核心问题。从数据库、互联网到大模型时代,知识的储存方式也发生了变化。在数据库中,知识以结构化的数据形式储存在数据库中,需要机器语言(如SQL)才能调用这些信息。互联网时代,…

117页数字化转型与产业互联网发展趋势及机会分析报告PPT

导读:原文《》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 喜欢文章,您可以点赞评论转发本文,了解更多内容请私信:方…

__format__和__del__

目录 一、__format__ 二、__del__ python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm1001.2014.3001.5502 一、__format__ 自定制格式化字符串 date_dic {ymd: {0.year}:{0.month}:{0.day},dmy: {0.day}/{0.month}/…

力扣 198. 打家劫舍

题目来源:https://leetcode.cn/problems/house-robber/description/ C题解:因为是间接偷窃,所以偷nums[i]家前,一定偷过第i-2或者i-3家,因为i-1不能偷。 例如12345共5家,先偷第1家,那么2不能偷…

Oracle切割字符串的方法,SQL语句完成。

Oracle用正则的方式循环切割字符串 需求:有一个这样子的 Str “‘CNJ-520-180500000001|CNJ-520-181200000001|CNJ-520-190300000001|CNJ-520-190100000001|CNJ-520-181200000002’” ,然后我需要拿到每一个单号,每一个单号都要走一遍固定的…

神经网络基础-神经网络补充概念-03-逻辑回归损失函数

概念 逻辑回归使用的损失函数通常是"对数损失"(也称为"交叉熵损失")或"逻辑损失"。这些损失函数在训练过程中用于衡量模型预测与实际标签之间的差异,从而帮助模型逐步调整权重参数,以更好地拟合数…

vue3小知识点汇总——基础积累

下面的小知识点比较零散,但是脑子不太好使,只能先记录一下啦,后面知识丰富起来后,慢慢就懂了。 1.最新版node.js已经不兼容vue2的项目了,学习vue3势在必行 node.js的安装及vue的搭建详细步骤:http://t.cs…

知识继承概述

文章目录 知识继承第一章 知识继承概述1.背景介绍第一页 背景第二页 大模型训练成本示例第三页 知识继承的动机 2.知识继承的主要方法 第二章 基于知识蒸馏的知识继承预页 方法概览 1.知识蒸馏概述第一页 知识蒸馏概述第二页 知识蒸馏第三页 什么是知识第四页 知识蒸馏的核心目…

冠达管理:哪里查中报预增?

中报季行将到来,投资者开端重视公司的成绩体现。中报预增是投资者最关心的论题之一,因为这意味着公司未来成绩的增加潜力。但是,怎么查找中报预增的信息呢?本文将从多个视点分析这个问题。 1.证券交易所网站 证券交易所网站是投资…

如何用输入函数为数组赋值

在编写程序时我们经常使用数组,而数组的大小可能是很大的但是我们并不需要为每个元素都自己赋值,我们可能会自定义输入数组元素个数,我们应该如何实现通过输入函数为数组赋值呢? 目录 第一种: 第二种: 第一…

【Vue-Router】导航守卫

前置守卫 main.ts import { createApp } from vue import App from ./App.vue import {router} from ./router // import 引入 import ElementPlus from element-plus import element-plus/dist/index.css const app createApp(App) app.use(router) // use 注入 ElementPlu…