【第十四章:Sentosa_DSML社区版-机器学习之时间序列】
目录
【第十四章:Sentosa_DSML社区版-机器学习时间序列】
14.1 ARIMAX
14.2 ARIMA
14.3 HoltWinters
14.4 一次指数平滑预测
14.5 二次指数平滑预测
【第十四章:Sentosa_DSML社区版-机器学习时间序列】
14.1 ARIMAX
1.算子介绍
考虑其他序列对一个时间序列的影响,如太阳黑子对某地区降雨量的影响,石油价格对股价的影响,可以用ARIMAX模型,即带有输入序列的一般ARIMA模型。
ARIMAX模型被称为传递函数模型、动态回归模型,其本质是指带回归项的ARIMA模型,又称为扩展的ARIMA模型。回归项的引入有助于提高模型的预测效果,引入的回归项通常是和被解释变量相关程度高的变量。
2.算子类型
机器学习/时间序列算子。
3.算子属性说明
| 属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
| time_col | 时间列 | 必填 | String | null | 必须为时间格式 | 时间列 |
| value_col | 预测列 | 必填 | String | null | 数据列 | |
| key_col | key列 | 非必填 | String | key键列 | ||
| exogenous_cols | 外生变量列 | 必填 | List<String> | null | 外生变量列 | |
| predictedN | 预测数量 | 必填 | Integer | 10 | 大于0 | 预测数量 |
| analyze_frequency | 分析频率 | 必填 | String | minute | 选项有"year",“month”,“day”,“hour”,“minute”,“second” | |
| analyze_time_span | 分析时间间隔 | 必填 | Integer | 5 | 大于0 | 分析时间间隔 |
| p | 自回归项数p | 必填 | Integer | 2 | 大于0 | 自回归项 |
| d | 差分阶数d | 必填 | Integer | 0 | 大于0 | 时间序列成为平稳时所做的差分次数 |
| q | 移动平均项数q | 必填 | Integer | 2 | 大于0 | 移动平均项数 |
| exogenous_values | 外生变量输入值 | 非必填 | List<List<Double>> | null | 是否输入外生变量值(多key时不支持输入外生变量值):选择是时进行填写 | 外生变量输入值,用户手动输入预测时间点的外生变量值,可输入多列。 |
| xreg_max_lag | 外生变量最大滞后阶数 | 必填 | Integer | 0 | 大于等于0 | 外生变量最大滞后阶数 |
| alpha | 显著性水平 | 必填 | Double | 0.05 | (0,1) | 显著性水平 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化算子。
(2)算子属性设置
ARIMAX算子根据现有的时间序列对应的数据,预测未来时间的数据。ARIMAX算子的输入数据支持多种key键,但必须是满足相同key键下时间列间隔为固定数值,且数值列非空的时序数据,建议是使用时序清洗算子处理后的数据。时间列必须为DataTime/Data类型。时间序列预测算子的分析频率应与时序数据采样频率一致,且分析时间间隔需等于时序数据采样时间间隔。

ARIMAXNode属性参数设置
(3)算子的运行
时间序列预测算子的输入数据支持多种key键,但必须是满足相同key键下时间列间隔为固定数值,且数值列非空的时序数据,建议是使用时序清洗算子处理后的数据。算子后可接任意个数据处理算子,再接表格算子或数据写出算子,形成算子流执行。

ARIMAX算子预测算子流
算子的运行结果如图所示

算子流预测结果
结果说明:结果中有时间列,key列(如果源数据没有key列则不会输出),原始数据列xxx(根据选择的数据列而定), 外生变量列,predicted列表示是否为预测行,predicted_xxx表示预测值,predicted_low_xxx 和predicted_high_xxx分别为置信区间的下限和上限。
14.2 ARIMA
1.算子介绍
常用时间序列模型中的一种,如果只是根据单一目标变量的历史数据预测未来数据,可以使用ARIMA算法。如果除了目标变量还有其他输入变量可以选择ARIMAX模型。
2.算子类型
机器学习/时间序列算子
3.算子属性说明
| 属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
| time_col | 时间列 | 必填 | String | null | 必须为时间格式 | 时间列 |
| value_col | 数据列 | 必填 | String | null | 数据列 | |
| key_col | key键列 | 非必填 | String | “” | key键列 | |
| predictedN | 预测数量 | 必填 | Integer | “10” | 大于0 | 预测数量 |
| analyze_frequency | 分析频率 | 必填 | String | “minute” | 选项有"year",“month”,“day”,“hour”,“minute”,“second” | |
| analyze_time_span | 分析时间间隔 | 必填 | Integer | 5 | 大于0 | 分析时间间隔 |
| p | 自回归项数P | 必填 | Integer | 2 | 大于0 | 自回归项 |
| d | 差分阶数D | 必填 | Integer | 0 | 大于0 | 时间序列成为平稳时所做的差分次数 |
| q | 滑动平均项数Q | 必填 | Integer | 2 | 大于0 | 移动平均项数 |
| alpha | 显著性水平 | 必填 | Double | 0.05 | (0,1) | 显著性水平 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化算子
(2)算子属性设置
ARIMA算子根据现有的时间序列对应的数据,预测未来时间的数据。ARIMA算子的输入数据支持多种key键,但必须是满足相同key键下时间列间隔为固定数值,且数值列非空的时序数据,建议是使用时序清洗算子处理后的数据。时间列必须为DataTime/Data类型。时间序列预测算子的分析频率应与时序数据采样频率一致,且分析时间间隔需等于时序数据采样时间间隔。


ARIMANode属性参数设置
(3)算子的运行
时间序列预测算子的输入数据支持多种key键,但必须是满足相同key键下时间列间隔为固定数值,且数值列非空的时序数据,建议是使用时序清洗算子处理后的数据。算子后可接任意个数据处理算子,再接表格算子或数据写出算子,形成算子流执行。

ARIMA算子预测算子流
算子的运行结果如图所示

算子流预测结果
结果说明:结果中有时间列,key列(如果源数据没有key列则不会输出),要预测的列xxx(选择的数据列),predicted列表示是否为预测行predicted_xxx表示预测值,predicted_low_xxx 和predicted_high_xxx分别为置信区间的上限和下限。
14.3 HoltWinters
1.算子介绍
常用时间序列模型中的一种,如果只是根据单一目标变量且有明显的周期性的历史数据预测未来数据,可以使用HoltWinters 算法。
2.算子类型
机器学习/时间序列算子。
3.算子属性说明
| 属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
| time_col | 时间列 | 必填 | String | null | 时间格式列 | 时间列 |
| value_col | 数据列 | 必填 | String | null | 数据列 | |
| key_col | key键列 | 非必填 | String | null | key键列 | |
| predictedN | 预测数量 | 必填 | Integer | 10 | 大于0 | 预测数量 |
| holt_winters_model_type | 模型类型 | 必填 | String | additive | 选项有"additive",“multiplicative” | 模型类型,当算法类型为”HoltWinters”时设置 |
| period | 周期性参数 | 必填 | Integer | 12 | 大于0 | 周期性参数,当算法类型为”HoltWinters”时设置 |
| analyze_frequency | 分析频率 | 必填 | String | minute | 大于0 | 选项有"year",“month”,“day”,“hour”,“minute”,“second” |
| analyze_time_span | 分析时间间隔 | 必填 | Integer | 5 | 大于0 | 分析时间间隔 |
| alpha | 显著性水平 | 必填 | Double | 0.05 | (0,1) | 显著性水平 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化算子。
(2)算子属性设置
HoltWinters算子根据现有的时间序列对应的数据,预测未来时间的数据。HoltWinters算子的输入数据支持多种key键,但必须是满足相同key键下时间列间隔为固定数值,且数值列非空的时序数据,建议是时序数据清洗算子处理后的数据。时间列必须为DataTime/Data类型。HoltWinters算子的分析频率应与时序数据采样频率一致,且分析时间间隔需等于时序数据的采样时间间隔。算子属性设置规则参考算子属性说明表格


HoltWintersNode属性参数设置
(3)算子的运行
HoltWinters算子的输入数据支持多种key键,但必须是满足相同key键下时间列间隔为固定数值,且数值列非空的时序数据,建议是使用时序清洗算子处理后的数据。。算子后可接任意个数据处理算子,再接表格算子或数据写出算子,形成算子流执行。

HoltWinters算子预测算子流
算子的运行结果如图所示

算子流预测结果
结果说明:结果中有时间列,key列(如果源数据没有key列则不会输出),原始数据的列xxx(根据选择的数据列而定), predicted列表示是否为预测行,predicted_xxx表示预测值,predicted_low_xxx 和predicted_high_xxx分别为置信区间的上限和下限。
14.4 一次指数平滑预测
1.算子介绍
一次指数平滑预测(single exponential smoothing),也称为单一指数平滑法,当时间数列无明显的趋势变化,可用一次指数平滑预测。
2.算子类型
机器学习/时间序列算子。
3.算子属性说明
| 属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
| time_col | 时间列 | 必填 | String | null | 时间列 | |
| value_col | 数据列 | 必填 | String | null | 数据列 | |
| key_col | key键列 | 选填 | String | null | key键列 | |
| predictedN | 预测数量 | 必填 | Integer | 10 | 大于0 | 预测数量 |
| analyze_frequency | 分析频率 | 必填 | String | minute | 单选"year",“month”,“day”,“hour”,“minute”,“second” | 分析频率 |
| analyze_time_span | 分析时间间隔 | 必填 | Integer | null | 大于等于1 | 分析时间间隔 |
| alpha | 显著性水平 | 必填 | Double | 0.05 | 大于0小于1 | 显著性水平 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作。
(2)算子属性设置
一次指数平滑预测算子根据现有的时间序列对应的数据,预测未来时间的数据。一次指数平滑预测算子的输入数据支持多种key键,但必须是满足相同key键下时间列间隔为固定数值,且数值列非空的时序数据,建议是使用时序清洗算子处理后的数据。时间列必须为DataTime/Data类型。一次指数平滑预测算子的分析频率应与时序数据采样频率一致,且分析时间间隔需等于时序数据采样时间间隔。

时间序列预测算子属性设置
(3)算子的运行
一次指数平滑预测算子的输入数据支持多种key键,但必须是满足相同key键下时间列间隔为固定数值,且数值列非空的时序数据,建议是使用时序清洗算子处理后的数据。算子后可接任意个数据处理算子,再接表格算子或数据写出算子,形成算子流执行。

一次指数平滑预测算子流
算子的运行结果如图所示

一次指数平滑预测算子运行结果
结果中predicted列取值为false的数据为原有数据,predicted_xxx列取值为预测数据,predicted_low_xxx为置信区间下限,predicted_high_xxx为置信区间上限。
14.5 二次指数平滑预测
1.算子介绍
二次指数平滑预测,二次指数平滑是对一次指数平滑的再平滑。它适用于具线性趋势的时间数列。
2.算子类型
机器学习/时间序列算子。
3.算子属性说明
| 属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
| time_col | 时间列 | 必填 | String | null | 时间列 | |
| value_col | 数据列 | 必填 | String | null | 数据列 | |
| key_col | key键列 | 选填 | String | null | key键列 | |
| predictedN | 预测数量 | 必填 | Integer | 10 | 大于0 | 预测数量 |
| analyze_frequency | 分析频率 | 必填 | String | minute | 单选:"year", “month”,“day”,“hour”,“minute”,“second” | 分析频率 |
| analyze_time_span | 分析时间间隔 | 必填 | Integer | null | 大于等于1 | 分析时间间隔 |
| holt_linear_model_type | 模型类型 | 必填 | String | Additive | 单选:Additive, Multiplicative | 模型类型 |
| alpha | 显著性水平 | 必填 | Double | 0.05 | 大于0小于1 | 显著性水平 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作。
(2)算子属性设置
二次指数平滑预测算子根据现有的时间序列对应的数据,预测未来时间的数据。二次指数平滑预测算子的输入数据支持多种key键,但必须是满足相同key键下时间列间隔为固定数值,且数值列非空的时序数据,建议是使用时序清洗算子处理后的数据。时间列必须为DataTime/Data类型。模型类型分为加性和乘性两种(Additive,Multiplicative),二次指数平滑预测算子的分析频率应与时序数据采样频率一致,且分析时间间隔需等于时序数据采样时间间隔。

二次指数平滑预测算子属性设置
(3)算子的运行
二次指数平滑预测算子的输入数据支持多种key键,但必须是满足相同key键下时间列间隔为固定数值,且数值列非空的时序数据,建议是使用时序清洗算子处理后的数据。算子后可接任意个数据处理算子,再接表格算子或数据写出算子,形成算子流执行。

二次指数平滑预测算子流
算子的运行结果如图所示

二次指数平滑预测算子运行结果
结果中predicted列取值为false的数据为原有数据,predicted列取值为true的数据为预测数据,predicted_low_value为置信区间下限,predicted_high_value为置信区间上限。
为了非商业用途的科研学者、研究人员及开发者提供学习、交流及实践机器学习技术,推出了一款轻量化且完全免费的Sentosa_DSML社区版。以轻量化一键安装、平台免费使用、视频教学和社区论坛服务为主要特点,能够与其他数据科学家和机器学习爱好者交流心得,分享经验和解决问题。文章最后附上官网链接,感兴趣工具的可以直接下载使用
Sentosa_DSML社区版官网

Sentosa_DSML算子流开发视频
相关文章:
【第十四章:Sentosa_DSML社区版-机器学习之时间序列】
目录 【第十四章:Sentosa_DSML社区版-机器学习时间序列】 14.1 ARIMAX 14.2 ARIMA 14.3 HoltWinters 14.4 一次指数平滑预测 14.5 二次指数平滑预测 【第十四章:Sentosa_DSML社区版-机器学习时间序列】 14.1 ARIMAX 1.算子介绍 考虑其他序列对一…...
Vue3.X + SpringBoot小程序 | AI大模型项目 | 饮食陪伴官
gitee平台源码 github平台源码 饮食陪伴师是一个管理饮食的原生大模型小程序,优势: 精确营养监控:用户记录饮食后,我们会计算出食用的营养成分与分量,并反馈给用户。饮食建议有效:大模型经过我们训练具备大…...
【C++】检测TCP链接超时——时间轮组件设计
目录 引言 时间轮思想 设计的核心思路 完整代码 组件接口 个人主页:东洛的克莱斯韦克-CSDN博客 引言 对于高并发的服务器来说,链接是一种比较珍贵的资源,对不活跃的链接应该及时释放。判断连接是否活跃的策略是——在给定的时间内&#…...
中国新媒体联盟与中运律师事务所 建立战略合作伙伴关系
2024年9月27日,中国新媒体联盟与中运律师事务所举行战略合作协议签字仪式。中国新媒体联盟主任兼中国社会新闻网主编、中法新闻法制网运营中心主任左新发,中运律师事务所高级顾问刘学伟代表双方单位签字。 中国新媒体联盟是由央视微电影中文频道联合多家…...
【ArcGIS微课1000例】0121:面状数据共享边的修改方法
文章目录 一、共享边概述二、快速的修改办法1. 整形共享边2. 修改边3. 概化边缘一、共享边概述 面状数据共享边指的是两个或多个面状数据(如多边形)共同拥有的边界。在地理信息系统(GIS)、三维建模、大数据分析等领域,面状数据共享边是描述面状空间数据拓扑关系的重要组成…...
图论(dfs系列) 9/27
一、二维网格图中探测环 题意: 给定一个二维数组grid,如果二维数组中存在一个环,处于环上的值都是相同的。返回true;如果不存在就返回false; 思路: 在以往的dfs搜索中,都是往四个方向去dfs;但是在这一道…...
如何在Windows上安装Docker
在 Windows 上使用 Docker 有两种主要方式:通过 Docker Desktop 安装并使用 WSL 2 作为后端,或者直接在 WSL 2 中安装 Docker。这里推荐手残党直接用图形界面安装到WSL 2的后端: 一、启用Hyper-V和容器特性 1. 右键Windows点击应用和功能 …...
golang格式化输入输出
fmt包使用类似于C的printf和scanf的函数实现格式化I/O 1输出格式化 一般的: 动词效果解释%v[1 -23 3]、[1 -23 3]、&{sdlkjf 23}以默认格式显示的值,与bool(%t)、int, int8 etc(%d)、uint, uint8 et…...
Jenkins基于tag的构建
文章目录 Jenkins参数化构建设置设置gitlab tag在工程中维护构建的版本按指定tag的版本启动服务 Jenkins参数化构建设置 选择参数化构建: 在gradle构建之前,增加执行shell的步骤: 把新增的shell框挪到gradle构建之前, 最后保存 …...
性能设计模式
class Singleton { public: static Singleton& getInstance() {static Singleton instance; // 局部静态变量return instance; } private:Singleton() {}Singleton(const Singleton&) delete; // 禁止拷贝Singleton& operator(const Singleton&) delete; // …...
Android 热点分享二维码功能简单介绍
Android 热点分享二维码 文章目录 Android 热点分享二维码一、前言二、热点二维码1、热点分享的字符串2、代码中热点字符串拼接和设置示例3、一个图片示例 三、其他1、Android 热点分享二维码小结2、Android11 设置默认热点名称和热点密码、密码长度 一、前言 比较新的Android…...
SIEM之王,能否克服创新者的窘境?
《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…...
(JAVA)浅尝关于 “栈” 数据结构
1. 栈的概述: 1.1 生活中的栈 存储货物或供旅客住宿的地方,可引申为仓库、中转站。例如酒店,在古时候叫客栈,是供旅客休息的地方,旅客可以进客栈休息,休息完毕后就离开客栈 1.2计算机中的栈 将生活中的…...
【前端】ES13:ES13新特性
文章目录 1 类新增特性1.1 私有属性和方法1.2 静态成员的私有属性和方法1.3 静态代码块1.4 使用in来判断某个对象是否拥有某个私有属性 2 支持在最外层写await3 at函数来索引元素4 正则匹配的开始和结束索引5 findLast() 和 findLastIndex() 函数6 Error对象的Cause属性 1 类新…...
vuepress 浏览器加载缓存,总是显示旧页面,无法自动刷新数据的解决方法
vuepress 采用多页面形式,每个md文件在打包时,都会被转为一个html页面;而浏览器默认会缓存页面,导致更新的页面必须手动刷新才行 对于更新较为频繁的文档 全局可在config.js里设置 参考文档: https://vuepress.github.io/zh/ref…...
如何使用代理IP解决反爬虫问题
在网络爬虫的世界里,反爬虫机制就像是守卫城池的士兵,时刻准备着抵御外来的“入侵者”。为了突破这些守卫,代理IP就像是你的隐形斗篷,帮助你在网络世界中自由穿梭。今天,我们就来聊聊如何使用代理IP解决反爬虫问题。 …...
QT学习笔记之绘图
或许有人会等你到天黑,但是你不该在天黑后再找他(她)。 1.绘图事件 在ui文件中添加一个按钮,同时在资源文件中添加一个名字为1.jpg的图片。 widget.cpp #include "widget.h" #include "ui_widget.h" #incl…...
大数据新视界 --大数据大厂之数据清洗工具 OpenRefine 实战:清理与转换数据
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
基于QT的C++中小项目软件开发架构源码
描述 基于QT信号槽机制实现类之间的交互调用通信,适用于使用不同枚举作为消息交互的类型场景,支持附带任意参数,代码使用方式参考前一篇文章 特性 代码简洁,不超过100行仅需包含一个头文件Communicator.h,需要通信的…...
self-supervised, weakly supervised, and supervised respectively区别
Self-supervised learning(自监督学习)、weakly supervised learning(弱监督学习)和supervised learning(监督学习)是机器学习中的不同学习范式,它们的主要区别如下: 一、监督学习&…...
从SolidWorks到Geant4仿真:我的第一个粒子探测器CAD模型导入全记录(含CADMesh避坑点)
从SolidWorks到Geant4仿真:我的第一个粒子探测器CAD模型导入全记录(含CADMesh避坑点) 作为一名刚接触粒子探测器仿真的研究生,我花了整整两周时间才成功将SolidWorks设计的模型导入Geant4进行模拟。这个过程远比想象中复杂&#x…...
编程统计公司内部资料查阅使用数据,优化资料分类存储方式。提升职场员工工作查阅办事效率。
构建一个公司内部资料查阅使用统计与资料分类存储优化的商务智能示例项目,去营销化、中立化,仅用于学习与工程实践参考。一、实际应用场景描述在中大型企业中,内部资料(制度、流程文档、技术手册、项目档案)数量庞大&a…...
从零构建可定制对话系统:模块化架构与RAG实战指南
1. 项目概述:从零构建一个可定制的对话系统最近在折腾一个挺有意思的东西,我把它叫做“定制化聊天系统”。起因很简单,市面上现成的聊天机器人,无论是开源的还是商业的,总感觉差了那么点意思。要么是功能太臃肿&#x…...
PowerInfer:基于热点神经元预测的LLM高性能推理引擎部署指南
1. 项目概述:当推理速度成为AI落地的瓶颈最近在折腾本地大模型推理的朋友,估计都绕不开一个核心痛点:速度。模型效果再好,生成一句话要等上十几秒,那种“卡顿感”足以劝退绝大多数想把它集成到实际应用里的开发者。我自…...
多机驱动振动系统同步控制理论【附模型】
✨ 长期致力于振动机械、自同步、控制同步、GA-BP PID、定速比研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)GA-BP神经网络PID控制器设计及其参数自…...
构建高质量Awesome清单:开源项目精选与维护实践指南
1. 项目概述:为什么我们需要一个“Awesome”清单?在开源的世界里,信息过载是每个开发者、技术爱好者乃至项目经理都面临的共同挑战。每天,GitHub、GitLab等平台上都会涌现出成千上万个新项目,从精巧的工具库到庞大的系…...
【ElevenLabs卡纳达文语音实战指南】:2024年唯一经生产环境验证的7步本地化部署方案
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs卡纳达文语音技术概览与生产价值定位 ElevenLabs 作为全球领先的文本转语音(TTS)平台,自2023年Q4起正式支持卡纳达语(Kannada)&…...
告别循环中的Thread.sleep():从IDEA告警到高效定时任务的最佳实践
1. 为什么Thread.sleep()在循环中是个危险信号? 第一次在IDEA里看到"Call to Thread.sleep() in a loop, probably busy-waiting"这个黄色警告时,我和大多数开发者一样不以为然——毕竟这个写法在教科书和早期项目中太常见了。直到有次我们的A…...
Ardb源码深度解析:从网络层到存储引擎的完整架构设计
Ardb源码深度解析:从网络层到存储引擎的完整架构设计 【免费下载链接】ardb A redis protocol compatible nosql, it support multiple storage engines as backend like Googles LevelDB, Facebooks RocksDB, OpenLDAPs LMDB, PerconaFT, WiredTiger, ForestDB. …...
保姆级教程:手把手教你用‘版本降级法’搞定PyTorch 1.9.1 + CUDA 11.1环境搭建
深度学习环境搭建实战:PyTorch与CUDA版本兼容性终极指南 引言 当你第一次尝试在Windows系统上搭建PyTorch深度学习环境时,可能会遇到各种令人困惑的错误信息。其中最常见的就是"no matching distribution found"这类版本兼容性问题。本文将以一…...
