700 likes | 1.15k Views
中級社會統計. 第十五講 二元依變項的迴歸分析: 分對數模型( logit model or logistic model ). OLS 無法處理的變數. 是否做慈善捐款? 是否投票? 家庭子女數 是否尋求民俗醫療? 什麼國家會有民主體制 中國廣東省一年抗議事件發生次數 他們有的是二元依變項,回答有是 / 非兩種可能,有的則是從 0 到某個有限整數的次數。有的則是有順序的質性變數 統稱為受限的依變數 Limited dependent variable, limdep. ©Ming-chi Chen. 社會統計. Page. 2. 廣義線性模型 GLM.
E N D
中級社會統計 第十五講 二元依變項的迴歸分析: 分對數模型(logit model or logistic model) 社會統計
OLS無法處理的變數 是否做慈善捐款? 是否投票? 家庭子女數 是否尋求民俗醫療? 什麼國家會有民主體制 中國廣東省一年抗議事件發生次數 他們有的是二元依變項,回答有是/非兩種可能,有的則是從0到某個有限整數的次數。有的則是有順序的質性變數 統稱為受限的依變數Limited dependent variable, limdep ©Ming-chi Chen 社會統計 Page.2
廣義線性模型GLM • 我們之前所討論的「線性迴歸模型」(linear regression model,就是我們用OLS來求解的迴歸模型)其實屬於一個更大的統計模型家族,這就是廣義線性模型generalized linear model, GLM • 之前的線性迴歸模型方法只能處理連續的DV,而且有很多限制(homoscedasticity, 殘差與IV不相關等) • GLM則可以處理DV不符合變異數齊一性假設或變異數常態分配的連續變數、處理間斷性DV。 • 這些DV有時候也被稱為類別categorical或受限limited依變項 • 可以參照鄭旭智等譯、J. Scott Long原著,類別與受限依變項的迴歸統計模式。(台北:弘智1997) • 底下的討論主要基於Agresti的Statistical Methods for the Social Sciences, 3rd ed. 社會統計
GLM的構成 • g(x)= α+β1X1+β2X2+…+βkXk • 所有的GLM都有三個部分 • 隨機部分random component:對DV做其機率分佈的假設,在線性迴歸模型中我們假設為常態分配。 • 系統部分systematic component:自變項 • 連結函數link function:指定依變項Y的期望值(或稱均數)是如何可以線性地被自變項預測的函數。 社會統計
隨機部分 • 指定依變項Y以及其機率分配 • 之前我們所討論的,包括ANOVA在內,都預設了 • Y是連續變數 • Y是一個常態分配,且具有相同的變異數。 • 換句話說,ANOVA和一般線性模型都是有著常態隨機部分的概化線性模型GLMs with normal random component • 除此之外,DV也可能是二元變數(成功/失敗):二項分配binomial,適合分對數logit模型來分析 • DV也可能是一個次數count:波耳松分配Poisson distribution • DV雖然是連續變數,但只能取正值,分配會右偏,,而均數越大變異也越大,是一種gamma distribution 社會統計
系統部分 • 迴歸方程式等號右邊的部分 • α+β1X1+β2X2+…+βkXk 社會統計
連結函數 • 指定μ=E(Y)是如何關連到自變數 • g(μ)=α+β1X1+β2X2+…+βkXk • g(μ)就是連結函數link function • 最簡單的連結函數是g(μ)= μ,這是一個identity link恆等連結 • μ=α+β1X1+β2X2+…+βkXk • OLS 社會統計
對數連結log link • g(μ)=ln(μ) • 100=102=>log10100=2 • e3=20.056(e≈2.718)=>ln20.056=3 • 在社會科學裡,多半時候log其實就是指ln • 在這個式子裡,不管g(μ)為正或負, μ恆為正 • 這是一個對數連結log link,適用於次數DV • 用log link的GLM往往被稱為loglinear model 社會統計
分對數連結logit link • 對於二元變數,我們往往指定連結函數g(μ)=log(μ/1- μ) • 在μ介於0與1之間時適用 • 當DV為二元變數時,我們可以指定一個事件發生的機率為μ • 這種迴歸模型稱為logit model 社會統計
GLM與最大概似法 • GLM在兩個面向上概化了OLS • 隨機部分可以不是常態分配 • 可以針對依變項做特定的函數 • OLS用最小平方法來估算迴歸係數,而GLM用一個不受常態分配假設限制的方法─最大概似法maximum likelihood來估算 • 在SAS裡是用proc genmod這個指令 • proc genmod y=x / dist=norm link=identity; • 在Stata裡是用glm這個指令 • glm consum income, family(gamma) link(identity) 社會統計
收入與消費p.389 在data editor裡自行輸入資料 ©Ming-chi Chen 社會統計 Page.12
收入與消費p.389 Stata沒有內建White test的功能,有的是另一個檢定Cook-Weisberg。 一樣是要先run過迴歸分析。 ©Ming-chi Chen 社會統計 Page.13
White Test 所以拒絕虛無假設,也等於說變異數不齊一。 ©Ming-chi Chen 社會統計 Page.14
看圖形判斷 ©Ming-chi Chen 社會統計 Page.15
看圖形判斷 ©Ming-chi Chen 社會統計 Page.16
看圖形判斷 X越大殘差值越大 ©Ming-chi Chen 社會統計 Page.17
Stata與Gamma GLM 社會統計
Heteroscedasticity & Gamma GLM • 依變項y的標準差並非像常態分配預設一般維持不變,而會隨著均數增大而增大,根據圖形以及White test發現有Heteroscedasticity的問題。 • 設依變項有著Gamma分配的特質 • Gamma分配的特質 • 標準差和均數等比例增大縮小(均數倍增標準差也倍增) • 恆為正、右偏。卡方分配就是一種Gamma分配
二元依變項 • 誰會做慈善捐款? • 誰去投票? • 誰會去尋求民俗醫療? • 什麼廠商西進大陸 • 什麼國家會有民主體制 • 誰移居到都市/外國? • 贊成婚前性行為 • 以上都是社會科學關心的問題,他們都是二元依變項。回答有是/非兩種可能 社會統計
二元依變項的分析 • 依變項Y有兩種結果,用機率的術語來說就是成功/失敗。 • 也就是Y有1或0兩個可能值 • π=E(Y)=P(y=1)表示成功的機率 社會統計
二元依變項的分析 • 如何用迴歸方程式來預測成功的機率? • 用線性機率模型(linear probability model): π = P(y=1) = α + βX ? • 問題何在? • 在自變項X相當小時,機率π <0;而在X很大的時候, π >1 • 但是機率不可能小於0或大於1 • 而且,自變項的機率分配是一個二項分配binomial distribution,用常態分配假設有其不適之處。 • 怎麼辦? 社會統計
線性機率模型 π linear 1 x 0 社會統計
勝算與羅吉斯轉換 • 可以把依變項做一些適當的轉換 • π/(1- π)稱為勝算odds,是賭徒常用的機率計算方式,就是成功/不成功的比。勝算介於0和∞之間。這樣的轉換只解決了一部份的問題 • 再把勝算取自然對數log[π/(1- π)],這個過程稱羅吉斯轉換logistic transformation又稱logit。 • 這樣轉換之後, log[π/(1- π)]就會介於-∞和∞之間了(probit和complementary log-log轉換也有類似的效果) 社會統計
Odds勝算 • 今天下午新竹降雨機率為74%,折算成下雨的勝算為? • Odds=0.74/(1-0.74)=2.846 • 新興民主化國家在政權轉型後一年內發生軍事政變的機率為15%,則發生政變的勝算為? • Odds=0.15/(1-0.15)=0.176 • 勝算這個概念雖然沒有機率來得符合我們的直覺,但應該還不難理解。 社會統計
Odds ratio勝算比 • 我們也常用勝算比(odds ratio)來表達兩個勝算之間的關係 • 今天下午新竹下雨的機率是74%,而苗栗下雨的機率是65%。 • 新竹下雨的勝算是2.846,苗栗則是1.444 • 新竹和苗栗今天下午下雨的勝算比是2.846/1.444=1.971 社會統計
Logistic Regression Model • 當π從0增加到1時,odds從0增加到∞,而分對數logit則從- ∞增加到∞。 • 當π=1/2時,odds=1,而logit=0 • 當π>1/2時,logit>0 • 當π<1/2時,logit<0 社會統計
Logistic Regression Model π linear 1 Logistic, β> 0 Logistic, β< 0 x 0 社會統計
Logistic Regression Model • 當β>0,X變大,π也變大 • 當β<0,X變大,π變小 • | β |越大,logistic曲線越陡 • 但是在logistic regression model裡,這不是斜率的意思。 社會統計
Logistic曲線的切線斜率 • 斜率會隨著X不同而不同。 • 如果π=0.5,則勝算odds π/(1- π)=1 • log[π/(1- π)]=0 • 0=α+βX • X=-α/β • 當X=-α/β, π=0.5 社會統計
β π(1- π)是logistic曲線在特定π值時的切線斜率 • 若自變項X預測得知π=0.5則,在這個X值上切線的斜率是0.25 β • 當π=1/2時,切線斜率最大,logit=0,也就是當X=-α/ β時。
Stata與logit regression • 用88q1的資料 • 我們想要瞭解什麼樣的人會捐錢幫助別人? • 在Stata裡依變項失敗(沒有捐錢)要以0來表示 • gen donation=v54這是為了不動原資料方便轉換 • Tab donation看有無異常值 • Recode donation (2=0) 社會統計
Stata與logit regression • gen h_inc=v47家戶月平均收入 • 用do檔來方便作轉換 社會統計
Stata與logit regression 把這個do file個容易記得的地方和名字存起來。 社會統計
Stata與logit regression 找到你放do file的檔案夾執行。 社會統計
Stata與logit regression 亦可用glm donation h_inc, family(binomial) link(logit) 社會統計
State與線性機率模型 • 前面的係數太小,因為收入是以元為單位,試以萬元作為單位。 • gen demi_inc=h_inc/10000 • tab demi_inc看分佈狀況 ‧以上得出線性機率模型linear probability model,LPM 捐款機率=P(y=1)=0.7028+0.008554*以萬元計的家戶月收入 社會統計
logit regression ‧若某個受訪者的家庭月收入為10萬元,則捐款的機率為 ‧也就是說,根據logistic迴歸模型的預測,受訪者的家庭月收入10萬元會有79.5%的機會捐款。 社會統計
Stata與logit regression Stata logistic指令產生的係數不是logistic regression model的係數,而是odds ratio,也就是eβ,這也可以用計算機取反對數自行計算出來。 社會統計
詮釋連續自變數的logit迴歸係數 ‧針對連續自變數的logit迴歸係數,一般而言我們可以這樣了解,在控制了其他自變數以後,連續自變數X每增加一個單位,一變數Y的勝算增加100*(eβ-1)% 社會統計
詮釋dummy variable logit迴歸係數 • 先對迴歸係數作反對數轉換,求eβ • 這個數值乘上100%就是虛擬變數值為1的和虛擬變數值為0前對後的百分比差距 社會統計
Logit迴歸模型與虛擬變數 • 以前面的88q1這個資料為例,v1為受訪者性別,1為男,2是女。 • 轉換成虛擬變數dummy variable • gen sex=1 • replace sex=0 if v1==2 • tab sex 社會統計
Logit迴歸模型與虛擬變數 男生比女生更傾向不捐款,e-0.1818416=0.8337,也就是說在控制了家庭收入之後,男生捐款的勝算(機會)是女生的83.37% 社會統計
Stata與虛擬變數:xi指令 • 宗教與慈善捐款的關係 • v49:1"佛教" 2"道教" 3"民間信仰" 4"一貫道" 5"軒轅教" 6"回教” 7"天主教" 8"基督教" 9"沒有宗教信仰" 10"其他“ • gen relig=. If v49==6 | v49==10 • replace relig=1 if v49==1 • replace relig=2 if v49==2 | v49==3 | v49==4 | v49==5 • replace relig=3 if v49==7 | v49==8 • replace relig=4 if v49==9 社會統計
Stata與虛擬變數:xi指令 • expand interactions • 這個作法是讓Stata自動針對類別自變項產生數個虛擬變數。 • xi, prefix(ind) i.relig所有虛擬變數以ind做開頭,以relig的類別來做虛擬變數,產生indrelig_1, indrelig_2, indrelig_3, indrelig_4共四個虛擬變數 • 另一個方法則是讓Stata自己設定虛擬變數 • xi i.relig • i.relig indrelig_1-4 (naturally coded; indrelig_1 omitted)分數最小的那一組(佛教是1)被當成對照 社會統計
我們可用char relig[omit]4指定relig第四組(無宗教信仰)為對照,虛擬變數組名稱為_I原變數名稱_* • 分別tab _Irelig_1、_Irelig_2、和_Irelig_3看是否合乎原來的宗教變數
Stata與虛擬變數:xi指令 社會統計
在其他條件皆相等的情況下,佛教徒比無神論者捐款的勝率為289.6%;道教/民間信仰比無神論者捐款的勝率為231.26%;基督天主教比無神論捐款的勝率為233.07%在其他條件皆相等的情況下,佛教徒比無神論者捐款的勝率為289.6%;道教/民間信仰比無神論者捐款的勝率為231.26%;基督天主教比無神論捐款的勝率為233.07% 社會統計
logistic regression model的統計推論 • 多半的統計軟體會報告個別自變項的Wald統計量,方便我們判斷係數是否到達顯著水準 • H0:β=0 • Wald統計量是β除以其標準誤結果統計量Z的平方 • Wald statistics是一個依循卡方分配的統計量 • 不過Stata報告標準統計量Z,意思跟解讀都是相近的。 社會統計