更新时间:2023-05-16 GMT+08:00
分享

Auto ARIMA

概述

该算子可以帮助我们自动确定 A R I M A ( p , d , q ) ( P , D , Q ) m。

Auto ARIMA选择过程

1. 执行差分测试 决定差分d的大小(KPSS检测和ADF检测)

2. 拟合模型: 通过限制start_p、max_p、start_q max_q,在该范围内搜索最优参数;如果启用了季节性可选项,则还会执行Canova-Hansen来确定季节性差分的最佳阶数 D ,并之后基于此确定最佳 P 和 Q 超参数。

3. Auto ARIMA基于给定的information_criterion进行模型优化,范围('aic', 'aicc', 'bic', 'hqic', 'oob');A并通过生成AIC和BIC值来确定参数的最佳组合。AIC和BIC值是用于比较模型的评估器。这些值越低,模型就越好。

目前 Auto ARIMA算子只支持在Notebook环境运行,不支持DLI环境下运行。

输入

表1

参数

子参数

参数说明

inputs

dataframe

inputs为字典类型,dataframe为pyspark中的DataFrame类型对象,一般为分词后的结果

输出

表2

参数

子参数

参数说明

output

output_port_1

output为字典类型,output_port_1为pyspark中的DataFrame类型对象,为Auto Arima模型预测的结果。

参数说明

表3

参数

是否必选

描述

默认值

seq_col_name

时序列。用来对valueColName排序。

value_col_name

数值列

group_col_names

分组列,多列用逗号分隔,如“col0,col1”。每个分组会构建一个时间序列

frequency

时序频率,正整数,范围为(0, 12]

12说明 12表示12/年。

max_order

pq最大值,正整数,范围为[0,4]

2

max_seasonal_order

季节性pq最大值,正整数,范围为[0,2]

1

max_diff

差分d最大值。正整数,范围为[0,2]

2

max_seasonal_diff

季节性差分d最大值。正整数,范围为[0,1]

1

diff

差分d,正整数,范围为[0,2]diffmaxDiff同时设置时,maxDiff被忽略。diffseasonalDiff要同时设置

-1说明 取值为-1表示不指定diff

seasonal_diff

季节性差分d。正整数,范围为[0,1]seasonalDiffmaxSeasonalDiff同时设置时,maxSeasonalDiff被忽略。

-1说明 取值为-1表示不指定seasonalDiff

max_iter

最大迭代次数,正整数

1500

tol

容忍度,double类型。

1e-5

predict_step

预测条数,数字,范围为(0, 365]

12

confidence_level

预测置信水平,数字,范围为(0, 1)

0.95

样例

数据样本

使用公开数据集AirPassengers.csv的前120行

数据示例:

Month,Passengers
1949-01,112
1949-02,118
1949-03,132
1949-04,129
1949-05,121
1949-06,135
1949-07,148
1949-08,148
1949-09,136
1949-10,119
1949-11,104
1949-12,118
1950-01,115
1950-02,126
1950-03,141

配置流程

运行流程

算法参数设置

查看结果

上图所示模型信息不输出到表格中,可在日志中查看。

分享:

    相关文档

    相关产品