2013-07-26 53 views
3

我有这样的数据集:我如何使用逻辑回归在R中预测NA的反应?

年龄 - 工作-------贷款 - Ÿ
57 - 退役 - - - 是 - 否
44 - 管理 - - - 不 - 不
39 - 未知 - 不 - 不
47 - 服务 - 不 - 是
41 - 管理-----无 - 无
51 - 老师 - - 是 - 否
45 - 未知 - 否 - 是
57 - 退役------否 - 否
42 - teacher ----- no --NA
30 - student ----- no - 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甚至在案件?

回答

3

你的问题有点令人困惑,因为你要么需要一个mulinomial logit/probit模型,其中NA是第三类结果,或者你希望插补模型根据其他数据填充y的值。正如@Roland回答的那样,您无法使用glm提供的二元结果模型预测缺失值。

如果前者(多项logit/probit模式),看看你的选项on the Econometrics Task View

如果后者(插补),您还有很多选项,如Amelia,micemi

+0

谢谢托马斯,是的,我实际上试图通过逻辑回归来计算NA值。我已经使用过鼠标包,但是我在这里要做的是获得一个包含推测值的新数据集;因为我无法使用老鼠。你有这个想法吗? – Hamed

+1

查看Amelia,它会给你一个包含几个推测数据框的列表。它非常易于使用。 – Thomas

1

如果您没有某物的数据,则无法对其进行建模并因此无法预测。例如,你没有没有贷款的学生的数据。那么你如何建议预测没有贷款的学生?这需要魔法。另一方面,如果您以某种方式(例如,初学者/有经验/未知)省略了模型或重新编码的工作,则可以预测所有案例。最好的建议当然是获得更多的数据。

+0

谢谢罗兰,我认为这是可以预测的反应,如果我们有所有的(即使它是一个缺失值)解释变量的值及其参数。 – Hamed

+0

但是对于预测因子变量的每个组合,您至少需要一些响应值。否则,信息根本就不存在。 – Roland

0

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

predict(fit,newdata=mydat,type="response")