給定序數邏輯回歸模型,您如何預測響應類別?
我想預測一個健康問題。我有 3 個按順序排列的結果類別:“正常”、“輕度”和“嚴重”。我希望通過兩個預測變量來預測這一點,一個測試結果(一個連續的區間協變量)和這個問題的家族史(是或否)。在我的樣本中,概率為 55%(正常)、35%(輕度)和 10%(嚴重)。從這個意義上說,我總是可以預測“正常”並且在 55% 的情況下是正確的,儘管這不會給我提供有關個別患者的信息。我適合以下模型:
假設沒有交互,並且模型一切正常。一致性 c 為 60.5%,我認為這是模型提供的最大預測準確度。
我遇到了兩個新患者,數據如下: 1. test = 3.26,family = 0;2. test = 2.85, family = 1. 我想預測他們的預後。使用公式:
(然後取累積概率之間的差異),我可以根據模型計算響應類別的概率分佈。R 代碼(注意,由於舍入問題,輸出不完全匹配):
cut1 <- -2.18 cut2 <- -4.27 beta <- c(0.6, 1.05) X <- rbind(c(3.26, 0), c(2.85, 1)) pred_cat1 <- exp(-1*(X%*%beta)-cut1)/(1+exp(-1*(X%*%beta)-cut1)) pred_cat2.temp <- exp(-1*(X%*%beta)-cut2)/(1+exp(-1*(X%*%beta)-cut2)) pred_cat3 <- 1-pred_cat2.temp pred_cat2 <- pred_cat2.temp-pred_cat1 predicted_distribution <- cbind(pred_cat1, pred_cat2, pred_cat3)
即:1. 0=55.1%,1=35.8%,2=9.1%;2. 0 = 35.6%,1 = 46.2%,2 = 18.2%。我的問題是,我如何從概率分佈到預測的響應類別?
我已經使用樣本數據嘗試了幾種可能性,結果是已知的。如果我只選擇 max(probabilities),準確率是 57%,比 null 略有提高,但低於一致性。此外,在示例中,這種方法從不選擇“嚴重”,這是我真正想知道的。我嘗試了貝葉斯方法,將空概率和模型概率轉換為賠率,然後選擇最大值(賠率比)。這確實偶爾會選擇“嚴重”,但會產生更差的準確度 49.5%。我還嘗試了按概率和舍入加權的類別總和。同樣,這從不選擇“嚴重”,並且準確率低 51.5%。
採用上述信息並產生最佳準確度(60.5%)的方程式是什麼?
您正在實現一個飛躍,您需要對預測值進行分類。您的方法從不選擇“嚴重”類別的事實是問題的離散性質的結果,並且“嚴重”並不常見。使用序數響應模型,您可以單獨使用超出概率(對於除一個類別之外的所有類別)或僅引用單個概率。如果大致按區間縮放,您也可以使用預測平均值。這些都在 R
rms
包lrm
和相關函數中可用predict.lrm
。許多人認為分類是目標,而實際上風險預測是潛在目標。