传统时间序列主要针对平稳序列进行建模,因为趋势性(如长期趋势,季节趋势)在前期建模过程中已经剔除,我们需要深入挖掘剔除趋势性后的部分之间的线性影响关系。故本案例采用R语言自带的数据集“Nile”:包含了1898年到1958年间,每年尼罗河水位的数据集。
library (PerformanceAnalytics)
library(tseries)
library(forecast)
library(datasets)
data("Nile")
自动根据信息准则选择模型并定阶 R语言提供了自动拟合的auto函数
f_model <- auto.arima(Nile)
summary(f_model)
## Series: Nile
## ARIMA(1,1,1)
##
## Coefficients:
## ar1 ma1
## 0.2544 -0.8741
## s.e. 0.1194 0.0605
##
## sigma^2 = 20177: log likelihood = -630.63
## AIC=1267.25 AICc=1267.51 BIC=1275.04
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -16.06603 139.8986 109.9998 -4.005967 12.78745 0.825499
## ACF1
## Training set -0.03228482
checkresiduals(f_model)
##
## Ljung-Box test
##
## data: Residuals from ARIMA(1,1,1)
## Q* = 9.7056, df = 8, p-value = 0.2863
##
## Model df: 2. Total lags used: 10
由auto函数自动定阶为ARIMA(1,1,1),与前面手动选择结果相一致