【第十四章: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(监督学习)是机器学习中的不同学习范式,它们的主要区别如下: 一、监督学习&…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...

数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...