【发布时间】:2015-02-15 12:27:45
【问题描述】:
我有一些数据,正在尝试自学如何在回归模型中使用滞后预测变量。我目前正在尝试从使用样条曲线平滑数据并包含滞后的广义加法模型生成预测。
假设我有以下数据并将数据拆分为训练和测试样本。
head(mtcars)
Train <- sample(1:nrow(mtcars), ceiling(nrow(mtcars)*3/4), replace=FALSE)
太好了,让我们在训练集上训练 gam 模型。
f_gam <- gam(hp ~ s(qsec, bs="cr") + s(lag(disp, 1), bs="cr"), data=mtcars[Train,])
summary(f_gam)
当我对保留样本进行预测时,我收到一条错误消息。
f_gam.pred <- predict(f_gam, mtcars[-Train,]); f_gam.pred
Error in ExtractData(object, data, NULL) :
'names' attribute [1] must be the same length as the vector [0]
Calls: predict ... predict.gam -> PredictMat -> Predict.matrix3 -> ExtractData
谁能帮助诊断问题并提供解决方案。我知道lag(__,1) 将数据点保留为 NA,这可能是长度不同的原因。但是,我没有解决问题的方法。
【问题讨论】:
标签: r