这是初始数据的图(执行日志转换后).
很明显,既有线性趋势,也有季节性趋势.我可以通过取第一个和第十二个(季节性)差异来解决这两个问题:diff(diff(data),12).完成后,这是结果数据的图
.
这些数据看起来不太好.虽然平均值不变,但随着时间的推移,我们会看到漏斗效应.以下是ACF / PACF:.
任何可能适合尝试的建议.我使用了auto.arima()函数,它建议使用ARIMA(2,0,2)xARIMA(1,0,2)(12)模型.然而,一旦我从合体中取出残余物,很明显它们中仍然存在某种结构.以下是拟合残差的图以及残差的ACF / PACF.
关于哪些滞后在ACF / PACF残差中出现峰值似乎没有季节性模式.但是,这仍然是前面步骤未捕获的内容.你有什么建议我这样做?我怎样才能建立一个更好的模型诊断模型(此时只是一个更好看的ACF和PACF)?
这是我到目前为止的简化代码:
library(TSA)
library(forecast)
beer <- read.csv('beer.csv', header = TRUE)
beer <- ts(beer$Production, start = c(1956, 1), frequency = 12)
# transform data
boxcox <- BoxCox.ar(beer) # 0 in confidence interval
beer.log <- log(beer)
firstDifference <- diff(diff(beer.log), 12) # get rid of linear and
# seasonal trend
acf(firstDifference)
pacf(firstDifference)
eacf(firstDifference)
plot(armasubsets(firstDifference, nar=12, nma=12))
# fitting the model
auto.arima(firstDifference, ic = 'bic') # from forecasting package
modelFit <- arima(firstDifference, order=c(1,0,0),seasonal
=list(order=c(2, 0, 0), period = 12))
# assessing model
resid <- modelFit$residuals
acf(resid, lag.max = 15)
pacf(resid, lag.max = 15)
这是数据,如果有兴趣(我想你可以使用html到csv转换器,如果你想):https://docs.google.com/spreadsheets/d/1S8BbNBdQFpQAiCA4J18bf7PITb8kfThorMENW-FRvW4/pubhtml
最佳答案 简,
这里有一些事情发生.
我们使用tsay方差检验代替记录,这表明方差118后方差增加.加权最小二乘法处理它.
从第111期开始,3月开始变高.是ar12或季节性差异的替代方法是识别季节性虚拟变量.我们发现12个月中的7个是不寻常的,有几个级别的变化,AR2有2个异常值.
这是拟合和预测.7002
这是残差
残差的ACF
注意:我是Autobox软件的开发人员.所有型号都错了.有些是有用的.
这是Tsay的论文
http://onlinelibrary.wiley.com/doi/10.1002/for.3980070102/abstract