邏輯回歸中的參數估計<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我已經模擬了三個數據集,每個數據集有 20M 個點,用於測試具有非常罕見事件的二進制響應變量的 LR:
1) 兩個連續效應:Beta0=12,beta1=1 和 Beta2=1。 X1 是 Normal (-0.8, .25),X2 是 -ABS[Normal (0,5)]。 (這兩個變量中的每一個都會增加事件的概率,具體取決於變量的值。)在這種情況下,2000 萬個樣本中有大約 711,000 個陽性事件。 運行 LR 後,我對三個 beta 得到了相當好的估計: b 0 = 12.003, b 1個=1.005, b 2個=0.99996。 R 方 (U)=0.623,AICc = 2,314,760 和 BIC=2,314,804。 ROC AUC=0.97835。
2)第二個數據集有一個連續和一個分類效應。 對於此數據,我將第一個數據集中的第二個連續變量替換為概率為 0.05 且 Beta2 = -2 的二元變量。 此數據僅包含 2000 萬個樣本中的 394 個事件。 運行 LR 後,估計為: b 0 = 11.0988, b 1個=1.184, b 2個=-1.01。 R 方 (U)=0.0283,AICc = 9,068 和 BIC=9,112。 AUC = 0.68 的 ROC。 因此,雖然 Beta0 和 Beta1 估計是合理的,但名義變量的 Beta2 估計似乎是真實值的一半.
3) 為了生成第三個數據集,我將兩種效果都用作二項式生成的二進制變量。 我將第一個數據集中的一個連續變量替換為概率為 0.05 且 Beta2 = -2 的二元變量。 我用概率為 0.1 且 Beta = -1 的另一個二項式生成的隨機變量替換第二個連續變量。 此數據僅包含 2000 萬個樣本中的 165 個事件。 運行 LR 後,估計的參數值為: b 0 = 10.582, b 1個= - 1.14, b 2個= - 0.512。 R 方 (U)=0.0384,AICc = 4,038 和 BIC=4,082。 ROC AUC=0.6756。因此,雖然 Beta0 估計是合理的,但兩個名義變量的 Beta1 和 Beta2 估計似乎是真實值的一半
我在這裡錯過了什麼? 為什麼分類變量係數的估計值應該是真實值的一半?
我的下一個測試將是對非事件進行欠採樣,然後將欠採樣校正應用於 Beta0。 但是,首先我想了解 LR 在 JMP 中生成的估計值。 任何建議或澄清將不勝感激。
回复:邏輯回歸中的參數估計它如何編碼分類因素是問題,而不是模型的類型。 並不是說列表中有 -1。
嘗試 1/0 編碼
ranjan@mitre.org Apr 14, 2014 10:44 AM
I coded the nominal variables as 0/1 as you recommend and then did not use them, and applied the appropriate betas in the P calculation.
我不知道那是什麼意思...
如果您在這裡沒有得到答案,您可以隨時嘗試聯繫技術支持。 他們有更熟悉 JMP 的人。
回复:邏輯回歸中的參數估計瑞薩
您發送的鏈接適用於線性模型。 我正在使用邏輯回歸。
回复:邏輯回歸中的參數估計我按照你的建議將名義變量編碼為 0/1,然後沒有使用它們,並在 P 計算中應用了適當的貝塔。 現在三個貝塔的估計值是:10.52、0.9848 和 0.6534。 因此,與標稱變量對應的 Beta1 和 Beta2 看起來仍然是真實值的一半左右,但符號現在與應有的相反。 -2 的真實 Beta1 估計為 0.9848,-1 的真實 Beta2 估計為 0.6534。 如果有幫助,我會附上該文件的簡短版本。 (如果您確實有時間在 JMP 中運行 LR,則文件必須擴展很多才能獲得足夠的事件。 我使用一個 20M 行的文件。
謝謝
回复:邏輯回歸中的參數估計http://www.jmp.com/support/help/The_Factor_Models.shtml#65535
將其編碼為 0/1 並且不包括在名義效果中以查看是否獲得所需的結果。
請參閱上面的鏈接,了解 JMP 如何對名義變量進行分類。
回复:邏輯回歸中的參數估計我將標稱變量編碼為 0 和 Beta 值,然後通過邏輯表達式 (1/(1+exp(beta0+Beta1+Beta2) 在 P(event) 計算中使用這些值(它們恰好在每個條目中) )))。 我假設當該列被指定為名義效應時,效應列中的條目將僅用作“標籤”。 如果 0/1 和 1/2 有所不同,您是否建議以某種方式使用列中輸入的值?
回复:邏輯回歸中的參數估計不太熟悉 JMP,但這是在 SAS 中發生的一些原因
1. 檢查你如何編碼你的二進制變量 (0/1) 與 1/2 不同
2. 如果您使用了某種自動類別,請檢查它是如何參數化的,即效果編碼或參考編碼。