如何解决从R中的ETS和AUTO.ARIMA模型解释拟合值的问题
我陷入了无法解决的问题。
在使用AirPassengers数据并通过ETS()和AUTO.ARIMA()对其建模时,拟合值似乎很合理地适合于观测值:
library(forecast)
a <- ts(AirPassengers,start = 1949,frequency = 12)
a <- window(a,end = c(1954,12),frequency = 12)
fit_a_ets <- ets(a)
fit_a_arima <- auto.arima(a)
plot(a)
lines(fit_a_ets$fitted,col = "blue")
lines(fit_a_arima$fitted,col = "red")
Plot from AirPassengers and fitted models
当我对数据尝试相同的代码时,似乎错位了1个周期:
b <- c(1237,1982,1191,1163,1418,1687,2331,2181,1943,1782,177,1871,391,1397,734,712,1006,508,368,767,675,701,989,725,1292,983,1094,1105,928,1246,1604,1390,959,1630,789,1173,910,875,718,655,606,968,716,476,499,544,1250,359,386,458,947,542,953,1450,1195,1317,957,778,1030,1399,1119,3142,1024,1537,1321,2062,1897,2094,2546,1796,2089,1194,896,727,599,785,674,828,311,375,315,365,314,126,372,666,596,589,001,613,498,635,644,1018,873,900,502,121,293,259,169,378,153,24,115,250,565,349,201,393,83,327,325,185,307,501,194)
b <- ts(b,frequency = 12)
b <- window(b,frequency = 12)
fit_b_ets <- ets(b)
fit_b_arima <- auto.arima(b)
plot(b)
lines(fit_b_ets$fitted,col = "blue")
lines(fit_b_arima$fitted,col = "red")
Plot from my data and fitted models
有人知道为什么吗?
在这里https://otexts.com/fpp2/index.html尝试过,但我不知道为什么会这样。
我认为这是因为它不能很好地适合我的数据,但是对于其他数据集,也会发生同样的情况。例如,https://otexts.com/fpp2/ses.html中的图7.1。
解决方法
这是典型的。
在预测的情况下,“拟合”值是一步一步的预测。对于许多不同类型的系列,我们能做的最好的事情就是接近最新的观察结果,并进行少量调整。这使“拟合”值看起来滞后了1个周期,因为它通常通常非常接近先前的观测值。
问为什么拟合系列滞后就像问“为什么我们在发生之前不知道未来?”。根本不是那么容易,并且它也并不表明该模型必然不足(可能无法做得更好)。
比较观测值的时间序列和拟合值的图很少用于预测。他们基本上总是这样。这也使得很难判断线之间的垂直距离,而这正是您真正关心的(预测误差)。最好直接绘制预测误差。
AirPassengers
系列之所以与众不同,是因为它的季节性非常容易预测。您将在野外遇到的大多数系列都不是这样。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。