Stata: 為何使用 Logit 模型?Logit 模型評價

2021-03-02 Stata連享會

在最近的一篇 博文 中,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 的頻率計數表來描述。眾所周知,對該表的任何行或任何列乘以一個大於零的常數,優勢比不變。因此,任何一個變量的邊際分布都可以在不改變優勢比的情況下發生實質性變化。這不是「兩個比例之間的差異」的情況,這相當於 Yx 回歸 的 OLS 係數。

2. 基於 NHANES 數據 的 Stata 例證

對於產生了二分結果的線性回歸來說,它很可能為線性回歸中的交互作用不是「真實的」,或者邏輯回歸中不需要這種交互作用提供證據。下面是一個使用 國家健康和營養檢查研究 (NHANES) 數據的例子。數據集可以在 Stata 網站上搜索到,命令為 findit nhanes。最終共收集到包含有主要變量在內的 10335 個完整數據案例。

2.1 Logit 回歸模型估計

首先估計了以 diabetes(編碼  1 或 0)為因變量的一個 Logit 回歸模型。預測因素包括 age (以年計)和兩個虛擬(指標)變量,blackfemale。模型還包括了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(以年計)和兩個虛擬(指標)變量,blackfemale

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=1black=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)margins

margins, 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

圖形如下:

image.png

顯然,此時圖像呈現的對數概率與預測概率範圍的關係與線性關係有很大的偏離。

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]

相關焦點

  • reg2logit:用OLS估計Logit模型參數
    LDM 模型來源於 LPM 和 logit 模型的轉換。首先,LDM 可以轉換為一個 logit 模型,其次,線性概率模型 (LPM) 的參數估計能夠轉換為「第一步轉換後的 Logit 模型」參數的極大似然估計。
  • 互助問答第366期:logit模型在stata操作中出現的問題
    logit模型在stata操作中出現的問題在進行logit模型回歸,在stata中輸入的命令是logit y x i.year i.industry, cluster(id),然而發現控制行業後出現下圖的情況,回歸時部分樣本被刪除
  • Stata:多元 Logit 模型詳解 (mlogit)
    在這些情境下,我們需要採用多元 Logit 模型進行估計。2. 多元 Logit 模型多元 Logit 模型實質上可視為二元 Logit 模型的拓展,具體二元 Logit 模型的使用可參考閱讀 Stata 連享會 推文 : Logit 模型簡介。
  • 隨機係數Logit模型及Stata實現
    其中Berry,Levinsohn&Pakes(1995)建立的隨機係數離散選擇模型(現通常稱為BLP模型)結合了隨機係數和Logit模型,允許價格的內生性,所以是當前需求估計建模理論和應用的熱點。
  • 二元Logit模型的理解推導(一)
    二元logit離散選擇是出行行為研究中非常重要的一種。
  • 基礎方法 | Logit回歸和Probit回歸有區別嗎?
    因變量的類型決定了回歸模型的使用! 所以,有辨析價值的是Logit回歸和Probit回歸,可能大家看文章時候看的最多的是使用Logit回歸,較少有文章使用Probit回歸,但是Probit總會縈繞在我們的數據分析之中,例如做傾向值匹配,如果你不要求用Logit模型就會自動使用Probit,那麼Probit和Logit回歸之間又有什麼區別和聯繫呢?
  • 拉什(RASCH)測量怎麼返回logit
    一些測量研究的文章裡也提到,有的兒童教育或者語言訓練等進入中國市場的教育機構使用的觀察學員學習發展的測量模型,多數地,也是RASCH測量。但在高中裡使用RASCH的人或學校,確實不多見。這可能是RASCH較之經典測量CTT太深奧、太麻煩。由於巧合的原因,接觸了一點兒RASCH,於是看了一點點RASCH的文獻,包括Winsteps的手冊manual和教程tutorial,譯了其中的3篇。
  • Stata 16 正式發布:新增16+項主要功能特徵詳細介紹
    stata16導入SAS版本要求:導入sas允許我們從版本7或更高版本導入sas數據到Stata。導入類型:我們可以導入整個數據集,也可以只導入其中的一個子集。使用導入sas,我們還可以導入值標籤。日期、值標籤和丟失的值都被正確地從SAS格式轉換為Stata格式。
  • 零基礎的同學如何用Stata做廣義估計模型(GEE)?
    什麼是廣義估計模型?廣義估計方程的打開方式又是怎樣的?在Stata中如何選取合適的變量、合適的代碼進而做出廣義估計模型(GEE)?今天,我們將學習如何在stata軟體中進行廣義估計模型(GEE)的操作,希望大家都能有所收穫。
  • 看不懂Logistic模型?別慌,先來了解它和線性回歸模型的區別!
    作為回歸模型的一種,其實它和簡單線性回歸模型分析有著非常相似的地方,它們的模型方程形式是一致的,右邊都可以寫成b1x+c的方程形式,並且b1和c都是未知的係數參數。但是和多元線性回歸模型的不同之處在於,Logistic回歸模型的因變量不同,這是因為我們將因變量的值做了logit處理變換,而不是直接將該方程的值作為因變量的結果。
  • Maximum Likelihood Estimation in STATA
    _____________________________________________________________________________STATA本身有很多estimator是通過MLE方法估計的,例如logit, probit等。在這些模型之外,STATA同時提供了ML syntax來拓展可以估計maximum likelihood模型。
  • suest:跨模型比較與廣義豪斯曼檢驗
    理論回顧sureg 命令的模型設定僅限於 GLS,無法進行標準誤的調整,也無法使用其他常見的模型。本文我們介紹 suest 命令,它基於 「得分」 計算出係數的方差-協方差矩陣,因此並不局限於線性回歸,也不局限於球形擾動項的嚴格前提。
  • 學習Stata的4本經典教材
    第一講:認識Stata       了解Stata的交互使用,基本的命令語法和算子,do文件和log文件編寫,認識標量和矩陣、局部宏和全局宏以及循環命令(foreach、forvalus、while);第二講:數據管理與繪圖介紹       數據導入(insheet、infile
  • Stata15.0中文版正式發布!又要騙我去學習了
    來源:stata官網,https://www.stata.com/new-in-stata/chinese-interface
  • 玩轉Stata | 傾向得分配對(PSM)內生性檢驗利器
    本文在此就不介紹相關理論了,因為小編的理論也不是特別的好,如果想學習的可以參閱連玉君老師的相關視頻(重點推介),大概有5個課時;同時也可以參考陳強老師的《高級計量經濟學及stata應用》中的第28章處理效應。在此小編僅僅介紹stata的相關操作。
  • 在TensorFlow中對比兩大生成模型:VAE與GAN
    本文中,作者在 MNIST 上對這兩類生成模型的性能進行了對比測試。項目連結:https://github.com/kvmanohar22/Generative-Models本項目總結了使用變分自編碼器(Variational Autoencode,VAE)和生成對抗網絡(GAN)對給定數據分布進行建模,並且對比了這些模型的性能。
  • STATA學習總結(4):回歸及釋義
    該統計量越接近於1,模型的擬合優度越高。 多元回歸 共線性問題為什麼加入某個變量之後,前面模型中顯著的某個自變量突然變得不顯著了呢? Logit 在stata中的實現,Logit var1 var2 var3 var4 對logit回歸係數的解讀,b表示,當x為連續變量時,x每增加一個單位,y的odds成為原來的eβ倍;當x為虛擬變量時,對應組的odds為參照組odds的eβ倍。β即為coef.
  • Maxdiff系列(六)MaxDiff的數據分析(用Excel進行logit分析)
    為什麼要使用logit model,這是因為Maxdiff記錄的是消費者在面對不同對象集合時的選擇(Choice)。從模型的角度看,消費者的選擇是因變量Y,他所面對的對象集合是自變量X。而消費者的選擇(Y)是一個離散型變量(要麼選中,要麼不選中),而非連續型數據(偏好打分)。
  • 線性模型(三)邏輯回歸
    邏輯回歸用戶是否會點擊廣告、貸款是否會逾期等這種二分因變量取值一般定義為0和1(一般把關注的事件編碼為1)或+1和-1,對於這類問題可以使用邏輯回歸建模模型原理拋硬幣的隨機事件中,拋一次硬幣的結果可能是正面或反面,設正面表示為1,概率為p,則該隨機事件屬於