我正在运行一个程序,在该程序中,我进行OLS回归,然后从实际观测值中减去系数以保留残差。
model1 = lm(data = final, obs ~ day + poly(temp,2) + prpn + school + lag1) # linear model
predfit = predict(model1, final) # predicted values
residuals = data.frame(final$obs - predfit) # obtain residuals我想要引导我的模型,然后对引导后的系数执行相同的操作。我试着用下面的方法来做:
lboot <- lm.boot(model1, R = 1000)
predfit = predict(lboot, final)
residuals = data.frame(final$obs - predfit) # obtain residuals然而,这是行不通的。我也试着:
boot_predict(model1, final, R = 1000, condense = T, comparison = "difference")而且这也不起作用。
我如何引导我的模型,然后根据它进行预测?
发布于 2020-03-16 10:39:07
如果您正在尝试使用bootstrap来拟合最好的OLS,我会使用caret包。
library(caret)
#separate indep and dep variables
indepVars = final[,-final$obs]
depVar = final$obs
#train model
ols.train = train(indepVars, depVar, method='lm',
trControl = trainControl(method='boot', number=1000))
#make prediction and get residuals
ols.pred = predict(ols.train, indepVars)
residuals = ols.pred - final$obshttps://stackoverflow.com/questions/60699413
复制相似问题