傾向分數分析方法的實際步驟 關秉寅 國立政治大學社會學系/亞太研究英語 博士學位學程 科技部人社中心人文 社會科學理論與實踐講座 2014.09.10 演講大綱 • 理論基礎 – 反事實架構(counterfactual framework)觀 點的因果推論 – 為何用傾向分數配對分析方法(propensity score matching, PSM) – PSM之假定 • PSM 分析之步驟 • PSM:實例演練 • PSM分析的前瞻與限制 基本問題 • Q:除了使用隨機對照實驗(randomized controlled trial, RCT)的設計外,我們可以用 觀察性研究(observational studies)做因果推 論嗎? • A:當然可以,只是我們可能犯錯。即使因果 推論不是在找deterministic的模型的前提下, 仍會犯錯,因為(以國中生補習與否與其學 習成就為例): – 會補習者與不補習者可能補習前的家庭及社區資 源、學習動機、學習表現就不同 – 補習的效果會因人而異 理論基礎 • 反事實架構觀點的因果推論想像 Potential Outcomes Group Treatment group (D = 1) Control group (D = 0) Y1 Y0 Observable Counterfactual Counterfactual Observable 理論基礎 S Confounding variables D W Y δ (causal effect of interest) 理論基礎:反事實架構觀點 • 反事實分析架構的想像可看成是一種 thought experiment。 • 要想像的是同一個個體或群體在不同的狀態 下,會有什麼可能的結果(potential outcomes)。也就是 What if? • 這些可能結果間的差異,即為不同狀態(因) 的效果。 • Counterfactuals should be reasonable ! 理論基礎:反事實架構觀點 • 個人層次的真正因果效應: δi = Yi1 ─ Yi0 • The Fundamental Problem of Causal Inference: 無法觀察同一個人同時在實驗組及控制組。 • 加上一些假定,如 The Stable Unit Treatment Value Assumption(SUTVA),則可推估群層 次的因果效應。 理論基礎:反事實架構觀點 • 實驗設計是假設我們能夠將觀察到的替代無 法觀察到的。 • 如隨機分派到實驗組與控制組的個體的特性 相同,則我們可以假定: – 如果實驗組的個人沒有接受treatment的話,其結 果與控制組觀察到的相同; – 如果控制組的個人接受treatment的話,其結果與 實驗組觀察到的相同。 理論基礎:反事實架構觀點 • 當使用調查方法得到資料時,即 observational data,個人為何會接受或不接 受treatment,往往不是一個隨機的現象。 • Observational data通常有兩個問題: – 接受treatment者與不接受者有baseline differences,以及heterogeneity of treatment effect. – 可能有些影響接受treatment與否的變項,並未 觀察到,亦即omitted variables的問題。 理論基礎:反事實架構觀點 Potential Outcomes Group Treatment group (D = 1) Control group (D = 0) Y1 Y0 Observable E[Y1 | D = 1] Counterfactual Counterfactual Observable E[Y1 | D = 0] E[Y0 | D = 0] E[Y0 | D = 1] 理論基礎:反事實架構觀點 A Y1 15 Y0 ? B 13 ? C ? 8 D ? 4 Naïve estimate = 8 δ 理論基礎:反事實架構觀點 A Y1 15 Y0 10 δ 5 B 13 8 5 C 13 8 5 D 9 4 5 ATT = ATU; ATE = 5 理論基礎:反事實架構觀點 A Y1 15 Y0 10 δ 5 B 13 8 5 C 11 8 3 D 7 4 3 ATT ≠ ATU; ATE = 4 理論基礎:反事實架構觀點 • 以反事實架構的觀點來看,母群體層次的真正 因果效應(ATE;Average Treatment Effect) 為: E[δ] = E[Y1 – Y0] = E[Y1] – E[Y0] = {πE[Y1 | D = 1] + (1 – π) E[Y1 | D = 0]} – {πE[Y0 | D = 1] + (1 – π) E[Y0 | D = 0]} = π{E[Y1 | D = 1] – E[Y0 | D = 1] } + (1 – π) {E[Y1 | D = 0] – E[Y0 | D = 0] } = πE[δ| D = 1] + (1 – π) E[δ | D = 0] 理論基礎:反事實架構觀點 • π:母群體中接受 treatment 的比例 • 不同組的因果效應: – ATT(Average Treatment Effect on the Treated): E[Y1 |D = 1] – E[Y0|D = 1] ,即 E[δ| D = 1] – ATU(Average Treatment Effect on the Untreated): E[Y1 |D = 0] – E[Y0|D = 0] ,即 E[δ | D = 0] Q:我們可以假定不同組的人有同樣的因果效應嗎? 如果我們能夠做此假定的話,則 E[Y1 |D = 0] = E[Y1 |D = 1] 理論基礎:反事實架構觀點 • 基準線的差異: E[Y0 |D = 1] – E[Y0|D = 0] Q:我們可以假定不同組的人在未接受 treatment 前是一樣的嗎? 如果我們能夠做此假定的話,則 E[Y0 |D = 1] = E[Y0|D = 0] 理論基礎:反事實架構觀點 • 如果我們只以觀察到接受 treatment 的組 與觀察到未接受 treatment 的組之間的差 異做為 Causal Effect 的估計時,此估計 是一種 Naïve Estimate: 理論基礎:反事實架構觀點 Naïve Estimate = average causal effect + baseline bias + differential effect bias E[Y1 |D = 1] – E[Y0|D = 0] = E(δ) + {E(Y0|D=1) − E(Y0|D=0)} +{E(δ |D=1) − E(δ |D=0)} (1−π) 理論基礎:Why PSM? • 從反事實分析觀點的角度來看,使用觀察 性資料進行因果推論時,首先要能設法控 制影響估計D Y 的共變項。過往用OLS 的分析也是企圖達此目的。那為何還需要 用PSM呢? 理論基礎:Why PSM? • Guo, Shenyang & Mark W. Fraser (2010), Propensity Score Analysis. Thousand Oaks, CA: Sage. • Monte Carlo simulation study of Chapter 8; mean of 10,000 samples • Selection on observable simulation (p. 288-296) – Model: y = 100 + .5x1 + .2 x2 - .5x3 + .5W + u W* = .5Z + .1x3 + v – Estimation • OLS regerssion: 0.5375; Bias= 0.375 (7.5% over) • PSM: 0.4875; Bias= -0.0125 (2.5% under) 理論基礎:Why PSM? A model of selection on observables PSM Models relationship between confounders and treatment OLS Models relationship between confounders and outcome No routine assumptions about linearity and interactions Generally assumes linearity and absence of interaction, but this can be relaxed Easy assessment of overlap – Overlap is assessed in multilittle potential for extrapolation dimensional space – often extrapolated Causal effect for treated, untreated, local comparison Sample size can be diminished through matching, loss of power Causal effect extrapolated to population Sample size stays constant, power can increase due to covariates 理論基礎:PSM之假定 • 假設控制影響treatment(D)之共變項後,就 能達成ignorability,這也稱為selection on observables) • (Y1 ,Y0) ⊥ D|S, conditional independence • 如果接受及不接受 treatment 兩種人的差異 能夠被一組共變項(S)完美解釋,那麼我們 就可以用這些共變項進行分層配對,使得每層 內有兩種人:接受者及不接受者,且這些人在 各層中唯一的不同是他們是否接受 treatment。 然後,我們觀察這兩種人在 outcome 的差異 為何。我們再進一步將各分層的差異,以及分 層所佔的比例做適當加權,則可得到好的ATE, ATT,ATU 的估計 理論基礎:PSM之假定 • 實際上如果有許多共變項時,配對過程很 麻煩,且在樣本有限的情況下,有些分層 會沒有個案。Paul Rosenbaum及Donald Rubin在一系列的論文中,證明用所謂的 「傾向分數」(propensity score)將是 否會接受視為一種機率,然後以此分數來 從事分層配對是可行的。 • 如果以logistic regression來估計ps且D= 1或0的話,則 exp( S ) Pr( D 1 | S ) 1 exp( S ) PSM 分析之步驟 Selection • Selection of covariates that may affect the assignment of the treatment (D=1 or 0) Estimation • Estimate propensity scores using either logistic regression or other means Matching Model Checks Effect Estimation Sensitivity Analysis • Choose matching algorithm • Check covariates balance • Check the region of common support • Mean difference • Standard error • Check if the estimated result is robust against hidden bias Selection • 選擇可能影響treatment assignment共變項 是PSM得到不偏causal effect最重要的一環。 對如何選擇有不少討論及爭議,基本上應 選擇: – 有理論依據 – 不受treatment variable影響者;亦即是影響D, 而不是受D影響者 – 不是工具變項者;亦即排除對Y的影響是只透過 D者 – 不是collider variables;亦即不是同時受S及Y影 響者。如控制collider variables會使原本沒關係 的S及Y產生相關。 Selection: Which covariates should be controlled A B C F G D Y Selection (控制 B & F 即可,Why?) V (unobserved) A F G U (unobserved) B C D Y Selection • 要是控制了 colliders 反而會有問題,因為本 來X與Y沒有相關或因果關係的,控制這類 變項後,反而會產生相關。 S Y C (collider) Estimation • 通常可用logistic regression或probit regression來估計ps。 • 也有用data mining 或 optimization 的方法, 及尋找最大解釋力的模型,如generalized boosted regression (如Stata之boost程式)。 Matching • 從事PSM的運算方法可歸成以下大類: – Nearest Neighbor Matching: 1:1 或 1:k – Optimal Matching: 1:1 或 1:k – Full Matching: k : k – Interval Matching – Kernel Matching – 不同運算方法的差異: • With or without replacement • How many units to match Matching • 選擇不同運算法的兩難 – 要能 maximize 精準的配對(如用 strictly “nearest” or common-support region), 可能會有比較多的樣本個案會被排除於分析之外。 – 要能包括比較多的配對樣本個案 (如擴大配對 的範圍),就會有比較多不精準的配對。 Matching • Caliper及trimming之考量 – Caliper:界定可配對之ps間的合理距離, Rosenbaum & Rubin(1985)建議是 |Pi – Pj| < ε, 而 ε ≦ .25 σp , σp 為 estimated ps的標 準差。 – Trimming: 界定common support之範圍,排除 treatment cases所配對之non-treated cases的ps density 是低於某個比例(如2%、5%或10%) 時,因 ps 分配的兩端可能是極端的個案。 Model Checks • Check covariates balance – 觀察性研究中接受treatment(如補習)和不接受 者在共變項上通常有顯著差異。經過適當的配對後, 此差異應該消失。因此,需要在配對後檢視是否 treated 及 untreated 在 用 來 配 對 的 共 變 項 達 到 balance。 – Balance的檢視一方面可用Standardized bias或t- test 是要看兩組人在個別變項是否無顯著差異,也要看 兩組在全部共變項分配上,配對後是否為無差異。 Sianesi (2004)建議以pseudo R2來檢視配對後是否整 體配對變項預測兩組是否接受treatment已無解釋 力,以及用likelihood ratio test來檢視用來估算 ps阿 logit或probit model是否在配對後全部共變項的joint significance已經不顯著。 Model Checks • Check the region of common support:通常 可以圖形如histogram,來檢視兩組之ps分 配重疊的情況。 Effect Estimation • PSM可估計ATT(average treatment effect on the treated),ATU(average treatment effect on the untreated )及ATE(average treatment effect,如果所有的人都接受treatmet的話)。通 常感興趣的是ATT,因為我們期待如果接受 treatment者會有效果。可以進一步分成推論到配 對樣本(如SATT)及母群體的treatment effects (PATT)。 • 如何估計psm所得到之estimates的standard errors有不同的看法。不同的matching會有不同估 計se的方法,其中一種是用bootstrapping方式求 得PSM估計值的se(但有爭議)。 Sensitivity Analysis • Sensitivity Analysis 的目的是瞭解違反PSM之 selection on observables假定時,PSM得到的估 計有多robust。 • 以是否補習為例: – 如果是否補習的機率是π i,且此機率不僅是為觀察 到的配對變項xi所決定,也受到未觀察到之變項ui 的影響,則 π i = Pr(Di = 1 | xi) = F(βxi + γui) 。 Di = 1即參與補習,ui是可設定介於0與1間,而γ是ui 對參與補習的影響效果。 Sensitivity Analysis – 如果補習參與只受到觀察到的配對變項xi決定的話, γ即為0;但如果γ不是0,則是否補習機率估計會 有潛在偏誤(hidden bias),亦即兩個案即使在xi 的數值相同,但是否參與補習的機率卻不同。 – 隨著所設定之γ大小的變化,可評估treatment effect 受到潛在偏誤之影響的敏感度。Rosenbaum (2002)將兩人有同樣配對變項數值,但因未觀 察變項影響而有不同的接受treatment之機率的潛 在偏誤上下限訂為介於1/Г及Г之間: 1 s ,1 (1 s , 2 ) s , 2 (1 s ,1 ) S是指配對的個案,S = 1,…,S,Г = exp(γ)。 PSM:實例演練 • 以Stata 13介紹新指令teffects(treatment effect)的資料cattaneo2 ( http://www.stata.com/manuals13/te.pdf )。 • Treatment: mbsmoke; Outcome: bweight • Covariates: mmarried, mage, prenatal1, fbaby • 程式: – psmatch2: user written, Stata 13及以下均可 用 – teffects psmatch: Stata 13 PSM:實例演練 Naïve Estimate . reg bweight mbsmoke Source SS df MS Model Residual 53275939.9 1 53275939.9 1.5016e+09 4640 323622.478 Total 1.5549e+09 4641 335032.156 bweight Coef. mbsmoke _cons -275.2519 3412.912 Std. Err. 21.4528 9.255254 t -12.83 368.75 Number of obs F( 1, 4640) Prob > F R-squared Adj R-squared Root MSE P>|t| 0.000 0.000 = = = = = = 4642 164.62 0.0000 0.0343 0.0341 568.88 [95% Conf. Interval] -317.3096 3394.767 -233.1942 3431.056 PSM:實例演練 OLS regression with covariates . reg bweight mbsmoke mmarried mage prenatal1 fbaby Source SS df MS Model Residual 89487999.5 5 17897599.9 1.4654e+09 4636 316090.646 Total 1.5549e+09 4641 335032.156 bweight Coef. mbsmoke mmarried mage prenatal1 fbaby _cons -226.9851 154.4452 1.018963 57.59001 -52.07058 3245.509 Std. Err. 21.95345 21.14817 1.736228 22.24885 17.6856 46.50306 t -10.34 7.30 0.59 2.59 -2.94 69.79 Number of obs F( 5, 4636) Prob > F R-squared Adj R-squared Root MSE P>|t| 0.000 0.000 0.557 0.010 0.003 0.000 = = = = = = 4642 56.62 0.0000 0.0576 0.0565 562.22 [95% Conf. Interval] -270.0243 112.9848 -2.38487 13.97169 -86.74277 3154.341 -183.9459 195.9057 4.422796 101.2083 -17.39839 3336.677 PSM:實例演練 PSM: 1 to 1 nearest neighbor (ATT, ATU, ATE) . generate u=runiform() . sort u . set seed 09102014 . psmatch2 mbsmoke mmarried mage prenatal1 fbaby, out(bweight) norepl desc /// > common logit ate Logistic regression Number of obs LR chi2(4) Prob > chi2 Pseudo R2 Log likelihood = -2082.3879 mbsmoke Coef. mmarried mage prenatal1 fbaby _cons -1.10666 -.0187894 -.2721103 -.5428134 .1297324 Std. Err. .091279 .0082217 .0943067 .0864561 .2095812 z -12.12 -2.29 -2.89 -6.28 0.62 P>|z| 0.000 0.022 0.004 0.000 0.536 = = = = 4642 296.72 0.0000 0.0665 [95% Conf. Interval] -1.285564 -.0349036 -.4569481 -.7122642 -.2810391 -.9277569 -.0026751 -.0872725 -.3733625 .540504 PSM:實例演練 PSM: 1 to 1 nearest neighbor (ATT, ATU, ATE) There are observations with identical propensity score values. The sort order of the data could affect your results. Make sure that the sort order is random before calling psmatch2. Variable Sample Treated bweight Unmatched ATT ATU ATE 3137.65972 3137.65972 3258.11111 Controls Difference S.E. T-stat 3412.91159 -275.251871 3374.37384 -236.71412 3137.65972 -120.451389 -178.582755 21.4528037 24.2515628 . . -12.83 -9.76 . . Note: S.E. does not take into account that the propensity score is estimated. psmatch2: Treatment assignment psmatch2: Common support Off suppo On suppor Total Untreated Treated 2,914 0 864 864 3,778 864 Total 2,914 1,728 4,642 PSM:實例演練 PSM: 1 to 1 nearest neighbor (ATT only) . set seed 09102014 . psmatch2 mbsmoke mmarried mage prenatal1 fbaby, out(bweight) norepl desc /// > common logit Variable Sample Treated Controls Difference S.E. T-stat bweight Unmatched ATT 3137.65972 3137.65972 3412.91159 3374.37384 -275.251871 -236.71412 21.4528037 27.4641702 -12.83 -8.62 Note: S.E. does not take into account that the propensity score is estimated. psmatch2: Treatment assignment psmatch2: Common support On suppor Total Untreated Treated 3,778 864 3,778 864 Total 4,642 4,642 PSM:實例演練 PSM: balance check . pstest mmarried mage prenatal1 fbaby,sum Variable Mean Treated Control mmarried mage prenatal1 fbaby .47338 25.167 .68981 .37153 .47569 24.939 .69907 .37153 %bias -0.5 4.2 -2.2 0.0 t-test t p>|t| -0.10 0.90 -0.42 -0.00 0.923 0.370 0.676 1.000 Summary of the distribution of |bias| 1% 5% 10% 25% Percentiles 0 0 0 .2477759 50% 1.342956 75% 90% 95% 99% Smallest 0 .4955518 2.19036 4.163704 Largest 0 .4955518 2.19036 4.163704 3.177032 4.163704 4.163704 4.163704 Obs Sum of Wgt. 4 4 Mean Std. Dev. 1.712404 1.884177 Variance Skewness Kurtosis 3.550123 .4612301 1.655635 Pseudo R2 LR chi2 p>chi2 MeanB MedB 0.001 1.40 0.844 1.7 1.3 PSM:實例演練 Using boosted regression to estimate ps . program boost_plugin, plugin using("C:\Users\USER\Documents/boost64.dll") . sort u . boost mbsmoke mmarried mage prenatal1 fbaby, distribution(logistic) /// > maxiter(1000) trainfraction(0.8) predict(pred) influence influence Distribution=logistic predict=pred Trainfraction=.8 Shrink=.01 Bag=.5 maxiter=1000 Interaction=5 Fitting ... Assessing Influence ... Predicting ... bestiter= 364 Test R2= .07841669 trainn= 3713 Train R2= .10148136 Influence of each variable (Percent): 43.207508 mmarried 39.878625 mage 6.1220354 prenatal1 10.791831 fbaby PSM:實例演練 PSM: 1 to 1 nearest neighbor with ps estimated by boosted regresion (ATT only) . set seed 09102014 . psmatch2 mbsmoke, out(bweight) ps(pred) norepl desc common logit There are observations with identical propensity score values. The sort order of the data could affect your results. Make sure that the sort order is random before calling psmatch2. Variable Sample Treated Controls Difference S.E. T-stat bweight Unmatched ATT 3137.65972 3137.65972 3412.91159 3365.44329 -275.251871 -227.783565 21.4528037 27.611249 -12.83 -8.25 Note: S.E. does not take into account that the propensity score is estimated. psmatch2: Treatment assignment psmatch2: Common support On suppor Total Untreated Treated 3,778 864 3,778 864 Total 4,642 4,642 PSM:實例演練 PSM: balance check (once again) . pstest mmarried mage prenatal1 fbaby,sum Variable Mean Treated Control mmarried mage prenatal1 fbaby .47338 25.167 .68981 .37153 .47338 25.132 .70139 .37269 %bias 0.0 0.6 -2.7 -0.2 t-test t p>|t| -0.00 0.14 -0.52 -0.05 1.000 0.891 0.601 0.960 Summary of the distribution of |bias| 1% 5% 10% 25% Percentiles 0 0 0 .1179266 50% .4349599 75% 90% 95% 99% Smallest 0 .2358532 .6340666 2.73795 Largest 0 .2358532 .6340666 2.73795 1.686008 2.73795 2.73795 2.73795 Obs Sum of Wgt. 4 4 Mean Std. Dev. .9019675 1.251646 Variance Skewness Kurtosis 1.566619 1.008983 2.214059 Pseudo R2 LR chi2 p>chi2 MeanB MedB 0.000 0.34 0.987 0.9 0.4 0 .2 .4 .6 .8 1 PSM:實例演練 0 .2 .6 .4 Actual Values Logistic Regression Fitted Values=Actual Values .8 1 Boosting Fitted versus actual values for logistic regression and boosting on the test data set PSM:實例演練 PSM: check common support using “psgraph” . psgraph,bin(50) .1 .2 .3 Propensity Score Untreated .4 Treated .5 PSM:實例演練 PSM: using bootstrapping to estimate the standard error of ATT . set seed 09102014 . bs r(att): psmatch2 mbsmoke, out(bweight) ps(pred) norepl desc common logit (running psmatch2 on estimation sample) Note: S.E. does not take into account that the propensity score is estimated. Bootstrap replications (50) 1 2 3 4 5 .................................................. Bootstrap results command: _bs_1: _bs_1 50 Number of obs Replications = = 4642 50 psmatch2 mbsmoke, out(bweight) ps(pred) norepl desc common logit r(att) Observed Coef. Bootstrap Std. Err. -227.7836 23.43063 z -9.72 P>|z| 0.000 Normal-based [95% Conf. Interval] -273.7068 -181.8604 PSM:實例演練 PSM: sensitivity analysis . gen delta = bweight - _bweight if _treated==1 & _support==1 (3778 missing values generated) . rbounds delta, gamma(1 (.1) 2) Rosenbaum bounds for delta (N = 864 matched pairs) CICI+ t-hatt-hat+ sigsig+ Gamma ----------------------------------------------------------------------184.5 -283.5 -236.5 -236.5 0 0 1 -155.5 -315 -203.5 -269 1.5e-14 0 1.1 -127 -343.5 -174 -296 3.7e-11 0 1.2 -99 -369 -149 -321 1.6e-08 0 1.3 -71 -396.5 -127.5 -342.5 1.9e-06 0 1.4 -50 -417 -100 -368.5 .000077 0 1.5 -28.5 -439.5 -84 -386 .001321 0 1.6 -456.5 -9.99999 -60 -408 .011365 0 1.7 12.9999 -478 -42.5 -425 .055599 0 1.8 28.5 -496 -439.5 -27.9999 .172078 0 1.9 44 -510.5 -456 -10.4999 .369576 0 2 * gamma sig+ sigt-hat+ t-hatCI+ CI- - log odds of upper bound lower bound upper bound lower bound upper bound lower bound differential assignment due to unobserved factors significance level significance level Hodges-Lehmann point estimate Hodges-Lehmann point estimate confidence interval (a= .95) confidence interval (a= .95) . disp log(1.8) .58778666 PSM:實例演練 • PSM: 1 to 5 within caliper (.25*σps) . set seed 09102014 . psmatch2 mbsmoke, ps(pred) out(bweight) n(5) ai(5) caliper(.02648032) /// > common logit There are observations with identical propensity score values. The sort order of the data could affect your results. Make sure that the sort order is random before calling psmatch2. Variable Sample Treated Controls Difference S.E. T-stat bweight Unmatched ATT 3137.65972 3137.65972 3412.91159 3362.2662 -275.251871 -224.606481 21.4528037 32.3712871 -12.83 -6.94 Note: Sample S.E. psmatch2: Treatment assignment psmatch2: Common support On suppor Total Untreated Treated 3,778 864 3,778 864 Total 4,642 4,642 PSM:實例演練 • PSM: 1 to 5 within caliper (.25*σps) using “teffects (psmatch)” . teffects psmatch (bweight)(mbsmoke mmarried mage prenatal1 fbaby), atet nn(5) /// > caliper(.02551812) vce(robust) gen(po) Treatment-effects estimation Estimator : propensity-score matching Outcome model : matching Treatment model: logit bweight Coef. mbsmoke (smoker vs nonsmoker) -234.305 AI Robust Std. Err. Number of obs Matches: requested min max z P>|z| = = = = 4642 5 5 139 [95% Conf. Interval] ATET 23.58632 -9.93 0.000 -280.5334 -188.0767 PSM:實例演練 • PSM: 1 to 5 within caliper (.25*σps) using “teffects (psmatch)” 0 5 density 10 15 . teffects overlap .5 .6 .7 .8 .9 Propensity score, mbsmoke=nonsmoker mbsmoke=nonsmoker mbsmoke=smoker 1 PSM:實例演練 • 可從事PSM的軟體及程式: – Stata: psmatch2、nnmatch、teffects (v. 13) 等 – SPSS: SPSS Macro for Propensity Score Matching (http://ssw.unc.edu/VRC/Lectures/index.htm) – SAS: “GREEDY” Macro (http://www2.sas.com/proceedings/sugi26/proceed.pdf) – R: “MatchIt”, “Matching”等 • 另見 Software for implementing matching methods and propensity scores • “http://www.biostat.jhsph.edu/~estuart/propensityscore software.html” PSM分析的前瞻與限制 • PSM可用來分析 – 或兩個以上treatments:應用multinomial logistic 或 ordered logistic regression來估計ps – Binary outcome:估計odds ratio,relative risks, risk differences等 • PS與其他分析方法的結合: – Stratification:將estimated ps分層檢視不同分層 的treatment effects – Weighting:利用ps來建構權數,以平衡不同的 群體 – Regression adjustment:將ps視為共變項 PSM分析的前瞻與限制 • PSM與其他分析方法的結合 – 與迴歸分析結合 – 應用在multilevel analysis – 應用在complex sampling – Mediation analysis:從counterfactual framework的角度來看,mediation(也就是 瞭解causal mechanisms)的分析是頗複雜的, 因為中介變項本身就是一種outcome,也就需 要瞭解 counterfactual 的狀態。 – Sequential matching – 其他:如 fixed effects 或 random effects models PSM分析的前瞻與限制 • PSM的限制 – 樣本要夠大:樣本小的話,有些共變項配對後 不容易達到balance – Common support範圍太窄的話,成功配對的會 是兩組屬於比較極端的個案,容易造成錯誤的 偏誤 – SUTVA假定可能不合理 – PSM無法有效處理selection on unobservables的 情況 PSM分析的前瞻與限制 • selection on unobservables Z D Y U (unobservable) • Selection on unobservables 情況需要用其他適 當的資料(如長期追蹤)及分析方法(如 fixed effects) PSM入門參考文獻 • Morgan, Stephen L., and Christopher Winship. 2007. Counterfactuals and Causal Analysis: Methods and Principles for Social Research. Cambridge, MA: Harvard University Press. • Caliendo, Marco, and Sabine Kopeinig. 2008. “Some Practical Guidance for the Implementation of Propensity Score Matching.” Journal of Economic Surveys 22 (1): 31–72. • Guo, Shenyang, and Mark. W. Fraser. 2010. Propensity Score Analysis: Statistical Methods and Applications. Los Angeles: Sage. 謝謝聆聽! Q&A