我使用带有~10个预测变量和二元响应变量的glm创建了一个逻辑模型。该模型是使用我的完整数据集(~8000观测)的一个子集创建的,通过随机选择3000个观测值,将它们放入一个新的数据集(newdata)并将glm拟合到newdata。
为了评估模型,我想看看模型在不同数据集(testdata)中描述数据的程度,该数据集随机选择例如:来自完整数据集的约1000个观测值。我将如何在R中进行此操作?
我已经为系数创建了两个置信区间,并查看了Wald-statistics和LRT来评估我的模型的统计显着性,但是希望能够看到它如何描述随机选择的完整数据集。
非常感谢!
答案 0 :(得分:1)
有几种可能的方法。首先,要从样本中评估模型,您必须选择性能指标。说它是MSE,并假设您的测试集称为测试,那么您将使用:
mean((test$response - predict(m, newdata = test, type = "response"))^2)
对于逻辑回归,您可以计算物流族的偏差,而不是使用MSE。或者您可以使用ROCR包中提供的曲线/ Gini下的区域。此外,您可能希望进行交叉验证,而不是只进行一次样本测试,这可以通过cvTools::cvFit
完成。