2016-06-27 94 views
0

我有一個簡單的模型GLM看起來:預測概率等於1

glm.fit=glm(Retention2~Email+Pay.method, data=train, family = binomial) 

所有的DV和工具變量是兩個級別的分類變量。

glm的結果是:

enter image description here

當我計算出的所斷言的概率,該概率值是1.000時Pay.Method爲0的語法和輸出在下面列出:

glm.fit.prob=predict(glm.fit, newdata = test2, type="response") 

enter image description here

看來,每當pay.method ="EZ PAY",概率將爲0.我認爲數學原因是Email的coeff遠小於攔截和Pay.method。我想知道我的理解是否正確,如果有的話,有關如何解決此問題的任何見解?

+0

謝謝!它確實給了我更好的適應,雖然不如使用LDA。 – YLS

回答

0

該案件被稱爲明確分居案件。看看你的數據,當你有pay.method ="EZ PAY"然後幾乎觀察可能爲零或幾乎所有將是1.因此,理想情況下,你不需要一個模型來預測,因爲你可以說結果將是0或1沒有模型(現在,如果它的真實案例或者因爲缺乏數據是另一個問題)。最好從培訓數據中刪除這些案例,然後訓練模型(在您的案例中,使用pay.method ="EZ PAY"刪除所有的觀察結果)。

現在爲什麼會出現這種行爲。 Logistic迴歸最大似然估計對於明確分離的情況處理不太好;要獲得良好的報道,請參閱Hastie Tibshirani的統計學習書。他們還建議使用判別分析,因爲它更適合處理這種情況。

+0

感謝您的意見。我確實嘗試了LDA,它提供了更好的預測概率和總體預測準確度(72%)。但是,我覺得使用LDA有一個缺點,就是我不能像使用glm那樣獲得後驗概率的CI。對於glm,如果我包含type =「link」和se = TRUE,那麼我就可以計算出CI的預測概率。任何方式我可以解決這個問題?謝謝! – YLS

+0

還有一個問題,當你說放棄pay.method = EZ PAY的情況時,是否只包含EMAIL作爲預測。由於pay.method中只有兩個級別,在刪除所有具有一個級別的個案後,我沒有看到包含此​​變量? – YLS

+0

如果這是您的「完整」數據,那麼是的。如果沒有,則查找更多數據。當你有更多的數據時,清晰分離的問題變得不太可能。從邏輯上講,僅僅因爲使用EZEEPAY的人不會造成任何減員是不合邏輯的。肯定會有這樣的人。只是你的數據不能捕獲他/呃。 – abhiieor