根据这篇文章,您可以通过选择 D=1 来强制 auto.arima 中的季节性。
我有一个每周时间序列,看起来它可能(或可能没有)具有季节性成分(我有先验理由认为它可能具有季节性成分)。
Data <- as.ts(Data$Sales,order.by=Data$Date, frequency=52)
Train <- window(Data,start=3,end=107)
Test <- window(Data,start=108,end=116)
我尝试手动拟合季节性模型:
fit <- arima(Train, order=c(2,0,1) , seasonal = list (order= c(0,1,0) , period = 52))
forec <- predict(fit, n.ahead =8)
给出了一个“OK”的预测(见第一张图)。
所以我尝试通过使用 auto.arima 来改进它以找到最佳模型。
AutoFit <- auto.arima(Train)
这返回了一个 ARIMA(1,1,1) 模型,然后我使用:
#fit <- arima(Train, order=c(1,1,1))
所以我试图通过运行来强制季节性:
AutoFit <- auto.arima(Train, D=1)
但我仍然得到相同的 ARIMA(1,1,1) 模型。
为什么 auto.arima 不尝试拟合季节性模型,甚至为什么我尝试强制它?
我也试过:
AutoFit <- auto.arima(Train, seasonal=TRUE, D=1)
和
AutoFit <- auto.arima(Train, seasonal=TRUE, start.P=0, start.Q=0 , D=1)

