我有一个从1960年到2015年的日常温度时间序列,并且想要预测2016年。我的目标是使用一种简单的方法,同时仍然能够捕捉数据的趋势和季节性。 (我实际上只关心从五月到八月的天气情况,但不确定我是否可以使用过去几年的五月到八月的数据来获得令人信服的预测,所以我预测一年)
我试过auto.arima,它建议订单(2,0,1),但结果似乎很糟糕(见情节)[来自arima的预测] [1]
另外,我尝试了HoltWinters平滑方法并得到了看似合理的结果。但是我不知道这种方法是否适合预测温度。 [来自HW的预测] [2]
答案 0 :(得分:1)
在没有更多信息的情况下,我也犹豫不决提供答案;但是,我建议对于没有很多时间序列预测经验的人来说,"预测"中的auto.arima功能。包很棒。它具有内置优化,可搜索最佳ARIMA订单(p,d,q)。以下是一些示例代码:
install.packages("forecast")
library(forecast)
set.seed(1234)
tsdatav <- (seq(1:300) + rnorm(300, 1000, 10))
myts <- ts(tsdatav, frequency = 365, start = c(2017, 6))
mytsfit <- auto.arima(myts)
mytsfit #to my example data, fit an ARIMA(5,1,0) with drift
mytsforecast <- forecast(mytsfit, 50, level = c(80, 95))
plot(mytsforecast)
请注意,在预测功能中,您可以设置要预测的周期数以及置信区间(除了点预测)。
Duke在https://people.duke.edu/~rnau/411arim.htm
有一个关于ARIMA预测的优秀网站同样,这只是一个建议。鉴于问题细节,有许多预测方法比其他方法更有效。