簡體   English   中英

R 中帶和不帶 NA 的時間序列預測(ARIMA 和預測包)

[英]Time series prediction with and without NAs (ARIMA and Forecast package) in R

這是我關於堆棧溢出的第一個問題。

情況:我有 2 個時間序列。 兩個系列具有相同的值,但第二個系列在開始時有 5 個 NA。 因此,第一個系列有 105 個觀察值,而第二個系列有 110 個觀察值。 我已經使用 Arima function 分別為兩個系列安裝了 ARIMA(0,1,0)。 然后我使用預測 package 預測未來 10 步。

問題:盡管兩個系列的 ARIMA 系數相同,但預測(10 步)似乎不同。 我不確定為什么會這樣。 有沒有人遇到過這個? 非常感謝任何指導。

試過:我嘗試設置種子,手動創建索引,並使用 auto.ARIMA 進行 model 擬合。 但是,這些步驟都沒有幫助我調和差異。

我添加了一張圖片向您展示我所看到的。 請注意,我隱藏了系列的中間部分,以便您可以看到系列的開頭和結尾。 黃色突出顯示的單元格是“預測”package 的投影輸出。 在從 R 提取結果后,我手動添加了索引。

excel 中的時間序列投影和基數

Rates <- read.csv("Rates_for_ARIMA.csv")

set.seed(123)

#ARIMA with NA
Simple_Arima <- Arima(
            ts(Rates$Rates1),
            order = c(0,1,0),
            include.drift = TRUE)

fcasted_Arima <- forecast(Simple_Arima, h = 10)
fcasted_Arima$mean

#ARIMA Without NA

Rates2 <- as.data.frame(Rates$Rates2)
##Remove the final spaces from the CSV
Rates2 <- Rates2[-c(106,107,108,109,110),] 

Simple_Arima2 <- Arima(
  ts(Rates2),
  order = c(0,1,0),
  include.drift = TRUE)

fcasted_Arima2 <- forecast(Simple_Arima2, h = 10)
fcasted_Arima2$mean

數據鏈接在這里,CSV格式

您能否分享您的數據和代碼,以便其他人可以查看它是否有任何問題?

我試圖提出一個例子,並為兩個系列得到了相同的結果,一個包含 NA,一個不包含。

library(forecast)
library(xts)

set.seed(123)
ts1 <- arima.sim(model = list(0, 1, 0), n = 105)
ts2 <- ts(c(rep(NA, 5), ts1), start = 1)

fit1 <- forecast::Arima(ts1, order = c(0, 1, 0))
fit2 <- forecast::Arima(ts2, order = c(0, 1, 0))

pred1 <- forecast::forecast(fit1, 10)
pred2 <- forecast::forecast(fit2, 10)

forecast::autoplot(pred1)
forecast::autoplot(pred2)

> all.equal(as.numeric(pred1$mean), as.numeric(pred2$mean))
[1] TRUE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM