当前位置: 首页 > news >正文

【第十四章: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算子流开发视频

http://www.lryc.cn/news/447791.html

相关文章:

  • Vue3.X + SpringBoot小程序 | AI大模型项目 | 饮食陪伴官
  • 【C++】检测TCP链接超时——时间轮组件设计
  • 中国新媒体联盟与中运律师事务所 建立战略合作伙伴关系
  • 【ArcGIS微课1000例】0121:面状数据共享边的修改方法
  • 图论(dfs系列) 9/27
  • 如何在Windows上安装Docker
  • golang格式化输入输出
  • Jenkins基于tag的构建
  • 性能设计模式
  • Android 热点分享二维码功能简单介绍
  • SIEM之王,能否克服创新者的窘境?
  • (JAVA)浅尝关于 “栈” 数据结构
  • 【前端】ES13:ES13新特性
  • vuepress 浏览器加载缓存,总是显示旧页面,无法自动刷新数据的解决方法
  • 如何使用代理IP解决反爬虫问题
  • QT学习笔记之绘图
  • 大数据新视界 --大数据大厂之数据清洗工具 OpenRefine 实战:清理与转换数据
  • 基于QT的C++中小项目软件开发架构源码
  • self-supervised, weakly supervised, and supervised respectively区别
  • 安卓好软-----手机屏幕自动点击工具 无需root权限
  • 【Redis】主从复制(下)--主从复制原理和流程
  • Pencils Protocol上线 Vaults 产品,为 $DAPP 深入赋能
  • uni-app+vue3+pina实现全局加载中效果,自定义全局变量和函数可供所有页面使用
  • 基于SSM+小程序的在线课堂微信管理系统(在线课堂1)(源码+sql脚本+视频导入教程+文档)
  • Uniapp 微信小程序 最新 获取用户头像 和 昵称 方法 有效可用
  • 儿童手抄报模板-200个(家有神兽必备)
  • 动态规划入门题目->使用最小费用爬楼梯
  • 中间添加一条可以拖拽的分界线,来动态调整两个模块的宽度
  • C++的vector优化
  • 基于飞腾平台的OpenCV的编译与安装