"力"模型到R中的数据? (线性回归)

时间:2016-05-31 22:13:43

标签: r linear-regression cross-validation

我已经自学了发现Andy Field使用R 的统计数据并且遇到过这段话:

  

数据拆分:此方法涉及随机拆分数据   设置,计算数据和数据的两半的回归方程   然后比较得到的模型。使用逐步方法时,   交叉验证是一个好主意;你应该逐步运行   随机选择大约80%的病例回归。 ,然后   在剩余的20%数据上强制使用此模型。通过比较价值观   你可以告诉两个样本中的R2和b值是多少   原始模型概括(参见Tabachnick& Fidell,2007,了解更多信息   细节)。

好吧,我理解我的数据子集(使用sample()),我知道如何拟合线性模型(using lm()),但该行 "然后在剩余的20%数据上强制使用此模型" 困惑我。

这项技术从未在书中再次出现过。 R中是否有一些函数允许您将模型强制转换为数据并使用该强制模型计算R^2b-values?也许某些函数会在其中输入截距和斜率系数,并输出类似summary(lm)的内容?

或者我不明白这篇文章想说的是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用带有新数据的预测功能。

我手边没有这本书,所以我不能告诉你确切的例子,但是如果剩下的20%的数据是一个名为'holdout'的数据框,你的回归模型叫做'reg1 '然后使用:

holdout$pred <- predict(reg1, newdata=holdout)

然后,您可以通过查看预测分数与原始结果分数之间的相关性来计算$ R ^ 2 $。如果结果被称为'out',那么:

cor(holdout$pred, holdout$out)^2

应该做的伎俩。