【第十四章: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(监督学习)是机器学习中的不同学习范式,它们的主要区别如下: 一、监督学习&…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
