我已经使用dynlm包对具有多个自变量的模型进行了拟合,其中一个是因变量的滞后。
假设我对自变量有1步超前预测,如何对因变量有1步超前预测?
这是一个例子:
library(dynlm)
y<-arima.sim(model=list(ar=c(.9)),n=10) #Create AR(1) dependant variable
A<-rnorm(10) #Create independant variables
B<-rnorm(10)
C<-rnorm(10)
y<-y+.5*A+.2*B-.3*C #Add relationship to independant variables
data=cbind(y,A,B,C)
#Fit linear model
model<-dynlm(y~A+B+C+L(y,1),data=data)
#Forecast
A<-c(A,rnorm(1)) #Assume we already have 1-step forecasts for A,B,C
B<-c(B,rnorm(1))
C<-c(C,rnorm(1))
y=window(y,end=end(y)+c(1,0),extend=TRUE)
newdata<-cbind(y,A,B,C)
predict(model,newdata)
这是使用dyn包的示例,该示例有效。
library(dyn)
#Fit linear model
model<-dyn$lm(y~A+B+C+lag(y,-1),data=data)
#Forecast
predict(model,newdata)the dyn packages, which works:
@deps_stats因变量是我要预测的。我假设我已经对我的自变量进行了预测。在我的示例代码中,y是我要预测的因变量,而A,B,C是我已经对其进行预测的自变量。如果运行我发布的示例代码,您将了解问题的本质。
—
Zach
@Zach:不错的Kaggle评分!(我点击了鼠标悬停配置文件中的链接)
—
休·珀金斯
dynlm
软件包将无法提供因变量的预测。提供因变量的预测将需要一个模型来解释它们以及可能的其他数据。我建议您阅读有关多元回归的内容,例如Johnson和Wichern的“应用多元统计分析”。或预测课程:duke.edu/~rnau/411home.htm