我有一个从1960年到2015年的日温度时间序列,并希望预测2016年。我的目标是使用一种简单的方法,同时仍然能够捕获数据随时间变化的趋势和季节性。(事实上,我只关心5月至8月的天气情况,但我不确定是否可以仅使用过去几年5月至8月的数据来获得令人信服的预测,因此我预测了一年)
我试过自动驾驶。arima,它建议的顺序是(2,0,1),但结果似乎相当糟糕(见图表)[来自arima的预测][1]
此外,我尝试了Holtwiners平滑方法,得到了一个看似合理的结果。然而,我不知道这种方法是否能很好地预测温度。[卫生署预测][2]
在没有更多信息的情况下,我也不愿提供答案;然而,我建议,对于一个没有时间序列预测经验的人来说,汽车。“forecast”包中的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)
请注意,在“预测”功能中,可以设置要预测的时段数以及置信区间(除了点预测)。
杜克大学有一个关于ARIMA预测的优秀网站https://people.duke.edu/~rnau/411arim。热媒
同样,这只是一个建议。鉴于问题的具体情况,有许多预测方法比其他方法更有效。