自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model,Arima),其中ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。所谓ARIMA模型,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。ARIMA模型根据原序列是否平稳以及回归中所含部分的不同,包括移动平均过程(MA)、自回归过程(AR)、自回归移动平均过程(ARMA)以及ARIMA过程。
ARIMA模型是将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。这个模型一旦被识别后就可以从时间序列的过去值及现在值来预测未来值。现代统计方法、计量经济模型在某种程度上已经能够帮助企业对未来进行预测。
基本程序:
(一)根据时间序列的散点图、自相关函数和偏自相关函数图以ADF单位根检验其方差、趋势及其季节性变化规律,对序列的平稳性进行识别。一般来讲,经济运行的时间序列都不是平稳序列。
(二)对非平稳序列进行平稳化处理。如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理,如果数据存在异方差,则需对数据进行技术处理,直到处理后的数据的自相关函数值和偏相关函数值无显著地异于零。
(三)根据时间序列模型的识别规则,建立相应的模型。若平稳序列的偏相关函数是截尾的,而自相关函数是拖尾的,可断定序列适合AR模型;若平稳序列的偏相关函数是拖尾的,而自相关函数是截尾的,则可断定序列适合MA模型;若平稳序列的偏相关函数和自相关函数均是拖尾的,则序列适合ARMA模型。(截尾是指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在某阶后均为0的性质(比如AR的PACF);拖尾是ACF或PACF并不在某阶后均为0的性质(比如AR的ACF)。)
(四)进行参数估计,检验是否具有统计意义。
(五)进行假设检验,诊断残差序列是否为白噪声。
(六)利用已通过检验的模型进行预测分析。
演示用例
Arima用于对股票价格的预测,所用到的数据如下所示:
12.8896942691386 13.5496440825487 13.8432744987832 12.1384361098596 12.8115609181586 14.2499628037939 15.1210259471 12.7532526308709 13.2647685601243 15.5795162488528 14.7771935240448 |
UP的ARIMA算法包含3个参数,arima(source,target,setting),其中:
source和target则分别代表输入数据和输出数据
setting表示算法的参数设置,forcastPeriod表示预测周期
具体流程如下:
call upextdb.arima('/up/sparkml/data/arima/R_ARIMA_DataSet1.csv', '/up/sparkml/data/result/arima/res', 'p=1;d=0;q=1;forecastPeriod=20'); |
最终的输出结果,则把输入数据和最终预测的结果都输出出来。
13.856078165536474 12.716264996857236 … 12.204728549991504 12.204812028816388 12.204812043575448 12.204812048101182 12.20481204948896 12.204812049914509 |




