4

我有这个数据集:

年龄 -- 工作 ------- 贷款 -- 是
57 -- 退休 -- -- 是 -- 没有
44 -- 管理员 -- -- 没有 -- 没有
39 -- 未知 -- 没有 -- 没有
47 - - 服务 -- 否 -- 是
41 -- 管理员 ----- 否 -- NA
51 -- 老师 --- 是 -- 否
45 -- 未知 -- 否 -- 是
57 -- 退休 ---- -- 没有 -- 没有
42 -- 老师 ----- 没有 --NA
30 -- 学生 ----- 没有 -- NA

我想使用逻辑回归来预测 y 的所有值,但我只得到 10 个预测中的 7 个。因此,它省略了y==NA.

这是我的代码:

 fit <- glm(y~ age+ as.factor(job)+ as.factor(loan), data= mydat, family=binomial)     
 predict( fit, type="response", na.action=na.pass)        

y即使在缺少值的情况下,我如何预测响应值?

4

3 回答 3

3

您的问题有点令人困惑,因为您要么想要一个多项式 logit/probit 模型,其中 NA 是第三类结果,要么您想要一个插补模型来填充y基于其他数据的值。正如@Roland 已经回答的那样,您将无法使用由glm.

如果是前者(多项 logit/probit 模型),请查看您在 Econometrics Task View 上的选项。

如果是后者(插补),您还有很多选择,例如Ameliamicemi

于 2013-07-26T07:41:10.940 回答
1

如果您没有某事的数据,则无法对其建模,因此无法进行预测。例如,您没有没有贷款的学生的数据。那么你建议如何为没有贷款的学生预测 y 呢?那需要魔法。

另一方面,如果您从模型中省略该工作或以某种方式重新编码(例如,初学者/经验丰富/未知),您可以预测所有情况。最好的建议当然是获取更多数据。

于 2013-07-26T07:26:39.410 回答
0

从您的数据中删除“学生”并在预测中使用 newdata 参数:

predict(fit,newdata=mydat,type="response")
于 2013-11-19T15:50:53.093 回答