在最近的一篇 博文 中,Paul von Hippel 對他之前關於線性概率模型的論點進行了擴展,他認為:在很多情況下,線性概率模型(通過普通最小二乘估計)比 Logit 回歸模型更可取。並且在他發表的兩篇文章中,von Hippel 提出了以下三個要點:
在 0.20 到 0.80 的預測概率區間內,線性概率模型與 Logit 模型非常相近。即使在這個範圍之外,如果區間很窄線性概率模型也可能做得很好。
相對於概率函數比來說,人們更容易理解概率變化之比例。
OLS 回歸比 Logit 回歸運行快得多。
雖然我同意他的這些觀點但是在絕大多數實際應用中,我依舊更喜歡使用Logit回歸。在我2015年4月的文章中,我討論了邏輯回歸的一些特性,正因為這些特性使得它比其他非線性替代方法(如 probit 或互補對數)更具吸引力。但我沒有將邏輯模型與線性概率模型進行比較。下面是我對 von Hippel 論點的看法,以及我為什麼更喜歡 Logit 回歸的原因。
1. Logit 模型的優點1.1 速度線性回歸採用的最小二乘估計確實比邏輯回歸的極大似然估計要快。然而考慮到當今計算機的能力,即使有一百萬或更多的觀測值,這種運算差異對於一個二元 Logit 回歸來都是是不顯著的。正如 von Hippel 所指出的,只有當你用隨機效應、固定效應,空間或縱向相關性來估算一個模型時,差異才真正變得重要。
如果你正在進行有放回的重複抽樣,多元運算或者你正在對一群混合變量使用某種強度變數篩選方法有時當結合 K-折交叉驗證 時,速度才會很重要。在這類應用中,使用線性回歸進行前期工作可能非常有用。但有一個風險是線性回歸可能會發現 Logit 模型中並不需要的相互作用(或其他非線性影響作用)。(具體參見下面不變性的部分)
1.2 預測概率即使你真的不喜歡優勢比,Logit 模型在預測概率方面也有一個眾所周知的優勢。正如 von Hippel 提醒我們的,當你用 1-0 結果估計線性回歸時,預測值可能大於1或小於0,這顯然意味著它們不能被解釋為概率。即使絕大多數例子中模型給出的預測概率都在他建議的0.20到0.80的範圍內,但這種超出 1-0 邊界的情況經常也發生。
然而在許多應用中,這不是一個問題,因為你真正感興趣的並不是這些概率。而是獲得有效的概率預測。例如,你想給骨質疏鬆的症患者一個未來五年髖部骨折概率的估計,你不會想告訴他們是 1.05 。即使線性概率模型只產生有界預測,概率也可以用 logistic 進行更精確地估計。
1.3 可解釋性von Hippel 說,對大多數研究人員來說,概率差異比優勢比更直觀,這無疑是正確的。但從某種程度上來看這僅僅是因為我們最習慣拿概率作為衡量某件事發生可能性的一個指標。
在 von Hippel 的例子中,「困難」來自於將機率到概率的轉換。但概率本身並沒有什麼神聖的。機率是對事件發生概率的合理度量,我相信只要稍加訓練,大多數人都能習慣機率測度。
以下是我對某一年患感冒的可能性的思考。如果機率是2,這意味著對於所有沒感冒的人裡就會有2個人感冒。如果機率增加到4,意味著所有不感冒的人中有4個人會感冒,這是機率的兩倍,也就是說,優勢比為2。另一方面,如果機率是1/3,那麼每三個不感冒的人中就有一個人感冒。如果我們把機率翻兩番,那麼每3個不感冒的人中就有4個人感冒。更一般地說,與沒有發生事件的個人相比,如果事件發生的機率增加了某個確定的百分比,那麼個人對事件發生的數量預期也將增加該百分比。
機率的一個主要吸引力是它促進了乘法比較,這是因為優勢比是沒有上限的。如果我在下一次總統選舉中投票的概率是.6,那麼你的投票概率是我的兩倍是不可能的。但是你的投票機率很容易是我的2、4或10倍。即使你非常喜歡概率,一旦你估計了一個 Logit 回歸模型,你就可以很容易地得到用概率表示的效果估計。Stata 通過它的「頁邊距」命令可以特別容易的實現這一點,我將在下一節中演示這一點。
1.4 不變性歸根結底,我最喜歡 Logit 模型的原因是,對於二分法結果,有充分的理由期望優勢比在時間、空間和總體上比線性回歸的係數更穩定。這就是為什麼對於連續的概率進行預測時,我們知道線性概率模型不可能是產生二分結果機制的「真實」描述。這是因為線性模型的外延推斷會產生大於1或小於0的概率。真正的關係一定是S形曲線,雖然不一定是 Logit 關係但會是類似 Logit 的關係。
由於線性概率模型不考慮曲率,線性最小二乘法產生的斜率將取決於大部分數據在曲線上的位置。在 1 或 0 附近有一個較小的斜率,在 0.50 附近有一個較大的斜率。但是即使基本的機制保持不變,事件發生的總概率在不同情況下也會有很大的變化。
這一問題也適用於進行分類預測。考慮一個二分法的 y 和一個二分法的預測因子 x ,它們之間的關係完全可以用一個 2 x 2 的頻率計數表來描述。眾所周知,對該表的任何行或任何列乘以一個大於零的常數,優勢比不變。因此,任何一個變量的邊際分布都可以在不改變優勢比的情況下發生實質性變化。這不是「兩個比例之間的差異」的情況,這相當於 Y 對 x 回歸 的 OLS 係數。
2. 基於 NHANES 數據 的 Stata 例證對於產生了二分結果的線性回歸來說,它很可能為線性回歸中的交互作用不是「真實的」,或者邏輯回歸中不需要這種交互作用提供證據。下面是一個使用 國家健康和營養檢查研究 (NHANES) 數據的例子。數據集可以在 Stata 網站上搜索到,命令為 findit nhanes。最終共收集到包含有主要變量在內的 10335 個完整數據案例。
2.1 Logit 回歸模型估計首先估計了以 diabetes(編碼 1 或 0)為因變量的一個 Logit 回歸模型。預測因素包括 age (以年計)和兩個虛擬(指標)變量,black 和 female。模型還包括了black * age的交互項。
用於估計模型的 Stata 代碼如下:
webuse nhanes2f, clear
logistic diabetes black female age black#c.age
結果如下:
---
diabetes | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
---+----
black | 3.318733 1.825189 2.18 0.029 1.129381 9.752231
female | 1.165212 .1098623 1.62 0.105 .9686107 1.401718
age | 1.063009 .0044723 14.52 0.000 1.054279 1.071811
black#c.age | .9918406 .0090871 -0.89 0.371 .9741892 1.009812
_cons | .0014978 .0003971 -24.53 0.000 .0008909 .0025183
---
如果考慮到相互作用的高p值(.371),顯然沒有證據顯示變量 black 會隨著 age 變化。
2.2 線性回歸模型估計用於估計模型的 Stata 代碼如下:
reg diabetes black female age black#c.age
新結果為:
---
diabetes | Coef. Std. Err. t P>|t| [95% Conf. Interval]
---+----
black | -.0215031 .0191527 -1.12 0.262 -.0590461 .0160399
female | .0069338 .004152 1.67 0.095 -.0012049 .0150725
age | .0020176 .0001276 15.82 0.000 .0017675 .0022676
black#c.age | .0012962 .0003883 3.34 0.001 .0005351 .0020573
_cons | -.0553238 .0068085 -8.13 0.000 -.0686697 -.0419779
---
現在我們有了強有力的證據來證明交互作用,特別是 black 對高年齡的人的影響更大。black 的隱含係數從 20 歲時的 0.004(樣本中的最低年齡)增加到 74 歲時的 0.074(樣本中的最高年齡)。這個巨大增長充分說明 black 對高年齡的人的影響作用並不僅僅是由於樣本量大導致的。
2.3 結果分析糖尿病的總發病率隨著年齡的增長而顯著增加。當總體比率較低時,黑人和非黑人的概率差異較小。當總比率接近0.50時,Logit 曲線上最陡點的概率差異變大而優勢比保持不變。
線性模型和邏輯模型之間差異的實質性影響往往是至關重要的。「糖尿病對黑人的不利地位隨著年齡的增長而顯著增加」和「糖尿病對黑人的不利地位在所有年齡都基本相同」是完全不同的。基於當前數據,我將採用第二種說法。
對於線性模型來說,概率變化太大時不可能是一個好的近似值。但最重要的一點是,對於二分法結果,Logit 回歸模型往往比線性回歸模型更為簡潔。從邏輯回歸模型中得到的定量估計在經歷很大變化的情況下可能會更穩定。
3. 基於 Logit 模型的邊際效應測度依舊延用之前 NHANES 數據集。(數據集在 Stata 網站上是公開,可以在 Stata 會話中直接從 Internet 進行訪問)。
3.1 邊際效應 i.varname首先以 diabetes(編碼 1 或 0)為因變量進行 Logit 回歸,預測因素包括 age(以年計)和兩個虛擬(指標)變量,black 和 female 。
webuse nhanes2f, clear
logistic diabetes i.black i.female age
---
diabetes | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
---+----
1.black | 2.050133 .2599694 5.66 0.000 1.598985 2.62857
1.female | 1.167141 .1100592 1.64 0.101 .9701892 1.404074
age | 1.061269 .003962 15.93 0.000 1.053532 1.069063
_cons | .0016525 .000392 -27.00 0.000 .0010381 .0026307
---
黑人患糖尿病的機率是非黑人的兩倍,這是一個非常顯著的「效應」。
女性患糖尿病的機率比男性高17%,但這並沒有統計學意義。
年齡每增長一歲,糖尿病的機率就會顯著地增加 6% 。
3.2 平均邊際效應(AME) margins現在假設我們想估計每個變量對糖尿病發生概率的影響,而不是糖尿病發生概率的影響。
margins, dydx(black female age)
---
| Delta-method
| dy/dx Std. Err. z P>|z| [95% Conf. Interval]
---+----
1.black | .0400922 .0087055 4.61 0.000 .0230297 .0571547
1.female | .0067987 .0041282 1.65 0.100 -.0012924 .0148898
age | .0026287 .0001869 14.06 0.000 .0022623 .0029951
---
dy/dx 列給出了每一個預測因子增加1單位時糖尿病發生的預測概率變化。例如,黑人糖尿病的預測概率平均比非黑人高0.04。
AME 估計原理:保持所有其他的預測變量不變,對於每個不同的個體在 black=1 和 black=0 條件下計算計算這兩個概率之間的差異,然後再所有人進行平均。
3.3 平均值的邊際效應(MEM)margins用於估計模型的 Stata 代碼如下:
margins, dydx(black female age) atmeans
1.平均值的邊際效應(MEM):保持其他兩個預測因子的平均值不變,對 black計算當black=1和black=0時預測概率之間的差異。
MEM的計算只需要模型估計值,而 AME 則需要對單個觀測值進行操作。
---
| Delta-method
| dy/dx Std. Err. z P>|z| [95% Conf. Interval]
---+----
1.black | .0290993 .0066198 4.40 0.000 .0161246 .0420739
1.female | .0047259 .0028785 1.64 0.101 -.0009158 .0103677
age | .0018234 .0000877 20.80 0.000 .0016516 .0019953
---
1.黑人的MEM明顯小於其AME。這是模型本身具有的非線性結果,特別是在概率尺度(AME)上的平均值通常不會產生與 Logit 尺度(MEM)上的平均值相同。
2.邏輯模型的非線性表明,我們應該考慮不同條件下的邊際效應。Williams(others)將其稱為代表值的邊際效應。
3.4 不同的年齡段黑人(AME)marginsmargins, dydx(black) at(age=(20 35 50 65))
margins, dydx(black) at(age=(20 35 50 65))
1._at : age = 20
2._at : age = 35
3._at : age = 50
4._at : age = 65
---
| Delta-method
| dy/dx Std. Err. z P>|z| [95% Conf. Interval]
---+----
1.black |
_at |
1 | .0060899 .0016303 3.74 0.000 .0028946 .0092852
2 | .0144831 .0035013 4.14 0.000 .0076207 .0213455
3 | .0332459 .0074944 4.44 0.000 .018557 .0479347
4 | .0704719 .015273 4.61 0.000 .0405374 .1004065
---
4. 基於線性概率模型的估計依據 Von Hippel 的建議,我們繪製對數概率與預測概率範圍的關係圖,並檢查圖是否近似線性,再對數據進行回歸。
4.1 預測概率及其範圍的估計Stata 代碼如下:
predict yhat
sum yhat
注意:
4.2 對數概率與預測概率範圍的關係圖Stata 代碼如下:
twoway function y=ln(x/(1-x)), range(.005 .244) ///
xtitle("Probability") ytitle("Log odds")
sum yhat
圖形如下:
顯然,此時圖像呈現的對數概率與預測概率範圍的關係與線性關係有很大的偏離。
4.3 線性概率模型估計Stata 代碼如下:
reg diabetes black female age, robust
注意:
回歸結果如下:
---
| Robust
diabetes | Coef. Std. Err. t P>|t| [95% Conf. Interval]
---+----
black | .0383148 .008328 4.60 0.000 .0219902 .0546393
female | .0068601 .0041382 1.66 0.097 -.0012515 .0149716
age | .0021575 .0001214 17.76 0.000 .0019194 .0023955
_cons | -.0619671 .0049469 -12.53 0.000 -.0716639 -.0522703
---
注意:
這裡的 t 統計量非常接近 Logit 回歸中的 z 統計量,並且係數本身與上面顯示的 AME 非常相似。
該線性概率模型不能揭示黑人患糖尿病的概率是如何隨年齡不同而變化的。若想獲得具體的變化信息就必須顯式地將這些變量的交互項構建到模型中。
5. 結論將 Logit 回歸與 margin 命令結合起來,可以讓你獲得最佳的估計效果。這種結合的方式下得到的模型可能比單純的線性回歸模型更加準確。因為它產生的預測概率總是落在允許的範圍內,並且該模型的參數即使在變化的條件下也會趨於穩定。
除此之外,你也可以得到易於解釋的概率數值估計,並且可以具體觀測到這些基於概率的估計值在不同的條件下是如何變化的。
參考文獻Paul, v. H. (2017, MARCH 8) When Can You Fit a Linear Probability Model? More Often Than You Think. Statistical Horizons Website. Retrieved May 6, 2019,from https://statisticalhorizons.com/when-can-you-fit
Cross Validation. Carnegie Mellon University. From https://www.cs.cmu.edu/~schneide/tut5/node42.html
Williams, Richard. "Using the margins command to estimate and interpret adjusted predictions and marginal effects." The Stata Journal 12.2 (2012): 308-331.[PDF]