我試圖在R中使用ARIMA模型來預測數據。我的時間序列的片看起來是這樣的:R ARIMA模型給出奇數結果
這只是一個時間的切片你得到它的意義。我有從2010年到2015年的每日數據。
我想對未來進行預測。我使用的是forecast
庫,我的代碼如下所示:
dt = msts(data$val, seasonal.periods=c(7, 30))
fit = auto.arima(dt)
plot(forecast(fit, 300))
這導致:
這種模式是不好的或有趣。我的seasonal.periods
是由我定義的,因爲我期望看到每週和每月的季節性,但結果看起來相同,沒有定義季節性時間段。
我錯過了什麼嗎?預測預測非常迅速地從點到點變化很小。
編輯:
爲了進一步展示一下我說的,這裏有一個具體的例子。比方說,我有以下的假數據集:
x = 1:500
y = 0.5*c(NA, head(x, -1)) - 0.4*c(NA, NA, head(x, -2)) + rnorm(500, 0, 5)
這是一個AR(2)模型係數0.5
和0.4
。繪製這個時間序列得出:
所以我創造了這樣的一個ARIMA模型,並畫出預測結果:
plot(forecast(auto.arima(y), 300))
而且結果是:
爲什麼ARIMA功能不能學習這個明顯的模型?如果我使用arima
函數並強制它嘗試一個AR(2)模型,我沒有得到更好的結果。
這不是一個AR(2)模型。右邊的滯後項是'x',所以模型是線性趨勢加噪聲。然而,'auto.arima'應該仍然能夠做得比這更好。由於某種原因,它缺少這種趨勢。 –