我正在处理以下问题: 我正在使用此数据集进行数据智能预测示例:
library(forecast)
mydata <- c(165, 171, 147, 143, 164, 160, 152, 150, 159, 169, 173, 203, 169, 166, 162, 147, 188, 161, 162, 169, 185, 188, 200, 229, 189, 218, 185, 199, 210, 193, 211, 208, 216, 218, 264, 304)
mydata.ts <- ts(mydata, frequency = 12, start = c(2010, 1))
mydata.forecast <- forecast(mydata.ts)
plot(mydata.forecast)
通过这段代码,我就像书中所说的那样制作了一个Holt-Winters预测。 现在我想知道我可以通过仅使用35个先前的观察来预测月份#36(值= 304)。
mydata1 <- c(165, 171, 147, 143, 164, 160, 152, 150, 159, 169, 173, 203, 169, 166, 162, 147, 188, 161, 162, 169, 185, 188, 200, 229, 189, 218, 185, 199, 210, 193, 211, 208, 216, 218, 264)
mydata1.ts <- ts(mydata1, frequency = 12, start = c(2010, 1))
mydata1.forecast <- forecast(mydata1.ts)
plot(mydata1.forecast)
这不会产生趋势和季节性预测,而是简单的恒定水平预测。
mydata1.forecast$mean
Jan Feb Mar Apr May Jun Jul Aug
2012
2013 239.1952 239.1952 239.1952 239.1952 239.1952 239.1952 239.1952 239.1952
2014 239.1952 239.1952 239.1952 239.1952 239.1952 239.1952 239.1952 239.1952
Sep Oct Nov Dec
2012 239.1952
2013 239.1952 239.1952 239.1952 239.1952
2014 239.1952 239.1952 239.1952
我有一种直觉,即切割时间序列
elements in time series / modulo 12 != 0
导致错误的预测。但是我怎么能克服这个问题呢?
我还尝试削减前11个观察值,以便时间序列包含24个元素
mydatacut <- c(203, 169, 166, 162, 147, 188, 161, 162, 169, 185, 188, 200, 229, 189, 218, 185, 199, 210, 193, 211, 208, 216, 218, 264)
mydatacut.ts <- ts(mydatacut, frequency = 12, start = c(2010, 1))
mydatacut.forecast <- forecast(mydatacut.ts)
plot(mydatacut.forecast)
mydatacut.forecast$mean
Jan Feb Mar Apr May Jun Jul Aug Sep
2012 240.437 240.437 240.437 240.437 240.437 240.437 240.437 240.437 240.437
2013 240.437 240.437 240.437 240.437 240.437 240.437 240.437 240.437 240.437
Oct Nov Dec
2012 240.437 240.437 240.437
2013 240.437 240.437 240.437
所以这也无济于事。
每一个提示和建议都受到高度赞赏。