2013-07-26 49 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")