我試圖預測一個簡單的滯後時間序列迴歸與R. This question的DYN庫是一個有益的起點,但我發現了一些奇怪的行爲,我」希望有人能解釋。的R - 預測一個滯後項簡單的DYN模型
這是一個最小的工作示例。
library(dyn)
# Initial data
y.orig <- arima.sim(model=list(ar=c(.9)),n=10)
x1.orig <- rnorm(10)
data <- cbind(y=y.orig, x1=x1.orig)
# This model, with a single lag term, predicts from t=2
mod1 <- dyn$lm(y ~ lag(y, -1), data)
y.new <- window(y.orig, end=end(y.orig) + c(5,0), extend=TRUE)
newdata1 <- cbind(y=y.new)
predict(mod1, newdata1)
# This one, with a lag plus another predictor, predicts from t=1 on
mod2 <- dyn$lm(y ~ lag(y, -1) + x1, data)
y.new <- window(y.orig, end=end(y.orig) + c(5,0), extend=TRUE)
x1.new <- c(x1.orig, rnorm(5))
newdata2 <- cbind(y=y.new, x1=x1.new)
predict(mod2, newdata2)
爲什麼兩者之間存在差異?任何人都可以建議如何使用dyn預測我的''mod1''嗎?提前致謝。
感謝您的意見。然而,這並沒有真正回答我的問題:爲什麼上面的mod1預測時間序列start = 2,mod2預測start = 1的時間序列呢? – jkeirstead
我在第一段中添加了一些細節。 –
好吧,現在開始有意義了。因爲我需要兩個模型都有一個start = 1,所以我想我必須拿出一些方法來移動窗口。如果有一個簡單的方法可以做到這一點(例如預測選項),那將是非常好的,所以我會留下這個問題,看看是否有任何想法存在。 – jkeirstead