傾向匹配得分教程(附PSM操作應用、平衡性檢驗、共同取值範圍、​核密度函數圖)

2021-03-02 計量經濟學服務中心
計量經濟學服務中心專輯匯總!計量百科·資源·乾貨:

本文主要包括傾向匹配得分命令簡介、語法格式、傾向匹配得分操作步驟 思路,涉及傾向匹配得分應用、平衡性檢驗、共同取值範圍檢驗、核密度函數圖等內容。

1

命令簡介

Stata does not have a built-in command for propensity score matching, a non-experimental method of sampling that produces a control group whose distribution of covariates is similar to that of the treated group. However, there are several user-written modules for this method. The following modules are among the most popular:

Stata沒有一個內置的傾向評分匹配的命令,一種非實驗性的抽樣方法,它產生一個控制組,它的協變量分布與被處理組的分布相似。但是,這個方法有幾個用戶編寫的模塊。以下是最受歡迎的模塊(主要有如下幾個外部命令)

psmatch2.ado

pscore.ado

nnmatch.ado

psmatch2.ado was developed by Leuven and Sianesi (2003) and pscore.ado by Becker and Ichino (2002). More recently, Abadie, Drukker, Herr, and Imbens (2004) introduced nnmatch.ado. All three modules support pair-matching as well as subclassification. 

You can find these modules using the .net command as follows: 

net search psmatch2 

net search pscore 

net search nnmatch 

You can install these modules using the .ssc or .net command, for example: 

ssc install psmatch2, replace 

After installation, read the help files to find the correct usage, for example:

help psmatch2

上述主要介紹了如何獲得PSM相關的命令,總結一下目前市面上用的較好的命令為psmatch2.

PSM 相關命令

help psmatch2 

help nnmatch

help psmatch

help pscore

持續獲取最新的 PSM 信息和程序

findit propensity score

findit matching

psmatch2 is being continuously improved and developed. Make sure to keep your version up-to-date as follows

ssc install psmatch2, replace

where you can check your version as follows:

which psmatch2

2

語法格式

語法格式為:

help psmatch2

 psmatch2 depvar [indepvars] [if exp] [in range] [, outcome(varlist)                     pscore(varname) neighbor(integer) radius caliper(real)                     mahalanobis(varlist) ai(integer) population altvariance                     kernel llr kerneltype(type) bwidth(real) spline                     nknots(integer) common trim(real) noreplacement                     descending odds index logit ties quietly w(matrix) ate]

選項含義為:

depvar因變量 ;

indepvars表示協變量;

outcome(varlist)表示結果變量;

logit指定使用logit模型進行擬合,默認的是probit模型;

neighbor(1)指定按照1:1進行匹配,如果要按照1:3進行匹配,則設定為neighbor(3);

radius表示半徑匹配

核匹配 (Kernel matching)

其他匹配方法

廣義精確匹配(Coarsened Exact Matching)  || help cem

局部線性回歸匹配 (Local linear regression matching)

樣條匹配 (Spline matching)

馬氏匹配 (Mahalanobis matching)

pstest $X, both做匹配前後的均衡性檢驗,理論上說此處只能對連續變量做均衡性檢驗,對分類變量的均衡性檢驗應該重新整理數據後運用χ2檢驗或者秩和檢驗。但此處對於分類變量也有一定的參考價值。 

psgraph對匹配的結果進行圖示。

3

案例應用

政策背景:國家支持工作示範項目( National Supported Work,NSW ) 

研究目的:檢驗接受該項目(培訓)與不接受該項目(培訓)對工資的影響。基本思想:分析接受培訓組(處理組, treatment group )接受培訓行為與不接受培訓行為在工資表現上的差異。但是,現實可以觀測到的是處理組接受培訓的事實,而處理組沒有接受培訓會怎樣是不可能觀測到的,這種狀態也成為反事實( counterfactual )。

匹配法就是為了解決這種不可觀測事實的方法。在傾向得分匹配方法( Propensity Score Matching )中,根據處理指示變量將樣本分為兩個 組,一是處理組,在本例中就是在 NSW 實施後接受培訓的組;二是對照組 ( comparison group ),在本例中就是在 NSW 實施後不接受培訓的組。傾向得分 匹配方法的基本思想是,在處理組和對照組樣本通過一定的方式匹配後,在其他 條件完全相同的情況下,通過接受培訓的組(處理組)與不接受培訓的組(對照組)在工資表現上的差異來判斷接受培訓的行為與工資之間的因果關係。

1、首先進行數據結構查看

use "ldw_exper.dta", clear     eddesc

結果為:

2、描述性分析 

 tabulate t, summarize(re78) means standard

結果為:

3、傾向匹配得分

3.1 首先進行排序,生成隨機數種子

 set seed 20180105 //產生隨機數種子  gen u=runiform()  sort u //排序   或者 order u

3.2 傾向匹配得分

local v1 "t"local v2 "age edu black hisp married re74 re75 u74 u75"global x "`v1' `v2' "
psmatch2 $x, out(re78) neighbor(1) ate ties logit common $表示引用宏變量,
等價於 psmatch2 t age edu black hisp married re74 re75 u74 u75, out(re78) neighbor(1) ate ties logit common

結果為:

3.3 查看匹配後數據

結果為:

打開數據編輯窗口,會發現軟體自動生成了幾個新變量:

其中_pscore是每個觀測值對應的傾向值;

_id是自動生成的每一個觀測對象唯一的ID(事實上這列變量即是對_pscore排序);

_treated表示某個對象是否試驗組;

_n1表示的是他被匹配到的對照對象的_id(如果是1:3匹配,還會生成_n2, _n3);

_pdif表示一組匹配了的觀察對象他們概率值的差。

3.4 均衡性檢驗

結果為:

3.5 共同取值範圍

結果為:

3.6 核密度函數圖

 twoway(kdensity _ps if _treat==1,legend(label(1 "Treat")))(kdensity _ps if _treat==0, legend(label(2 "Control"))),xtitle(Pscore> ) title("Before Matching")
. twoway(kdensity _ps if _treat==1,legend(label(1 "Treat")))(kdensity _ps if (_weight!=1&_weight!=.), legend(label(2 "Control"))),> xtitle(Pscore) title("After Matching")

結果為:

相關焦點

  • 一文讀懂傾向得分匹配法(PSM)舉例及stata實現(一)
    本文主要包括傾向匹配得分命令簡介、語法格式、傾向匹配得分操作步驟 思路,涉及傾向匹配得分應用、平衡性檢驗、共同取值範圍檢驗、核密度函數圖等內容。
  • 傾向得分匹配(PSM)操作過程與問題反思
    方法三:分層匹配(stratification matching)分層匹配法是根據估計的傾向得分將全部樣本分塊,使得每塊的平均傾向得分在處理組和控制組中相等。方法五:馬氏距離由於在傾向得分匹配第一階段估計傾向得分時存在不確定性,Abadie and Imbens的相關研究又重新回到更簡單的馬氏距離,進行有放回且允許並列的k近鄰匹配,針對非精確匹配一般存在偏差,提出了偏差校正的方法
  • 傾向匹配得分教程【pscore、psmatch2、官方命令Teffects操作及應用】
    本文主要包括傾向匹配得分命令簡介、語法格式、傾向匹配得分操作步驟 思路,涉及傾向匹配得分應用、平衡性檢驗、共同取值範圍檢驗、核密度函數圖等內容。
  • PSM-傾向得分匹配分析的誤區
    [Link1], [Link2]❝「目錄」❞1.背景2.傾向得分匹配3.會計研究中使用情況4.應用案例4.2 解讀:採用 regress 命令完成 PSM 的回歸分分析5.PSM 使用建議 相關課程❝1.
  • 玩轉Stata | 傾向得分配對(PSM)內生性檢驗利器
    這是由於一開始選擇控制組的樣本時,選擇範圍比較廣闊,存在選擇偏差。所以在此介紹傾向得分匹配方法(PSM)。本文在此就不介紹相關理論了,因為小編的理論也不是特別的好,如果想學習的可以參閱連玉君老師的相關視頻(重點推介),大概有5個課時;同時也可以參考陳強老師的《高級計量經濟學及stata應用》中的第28章處理效應。在此小編僅僅介紹stata的相關操作。
  • 內生性問題和傾向得分匹配, 獻給準自然試驗的厚禮
    郭申陽,弗雷澤,2012,《傾向值分析:統計方法與應用》,郭志剛,巫錫煒等譯,重慶:重慶大學出版社。Part II 傾向得分匹配方法1.數據來源來源:網絡資源,其實也比較容易找,比如人大經濟論壇。但為了避免相關的版權爭議,我重新寫了一個do文件,處理的方法和變量也有改變。
  • 傾向得分匹配法的詳細解讀.doc
    今天,商小研就要給大家介紹一種可以用來緩解自選擇偏誤的計量方法——傾向得分匹配法!個體的協變量集是多維度的,我們需要考慮如何將個體按照現有的多維度協變量集進行適當的匹配,這就是引入傾向得分值的緣由了。傾向得分值便是按照現有的協變量集計算個體進入處理組的概率(一般是利用probit或logit模型來進行的),這就使得多維協變量集被降到一維變量的層面,之後我們便可通過特定的匹配法則來將我們定義中的傾向得分值接近的個體進行匹配,這便重構了我們的控制組和處理組。接著,在完成了平衡性檢驗後,我們便可以開始計算處理效應了。
  • Propensity Score Matching 傾向得分匹配
    因此,依據傾向得分進行匹配是一個簡單易行的選擇。第三步,匹配。匹配的方式有很多,這裡介紹最常見的四種:1. 區間匹配:設定一系列區間,傾向得分在同一個區間內的參與者和未參與者為一個配對。上面的傾向得分頻數圖就是按照從 0 到 1,以 0.05 為區間長度的區間匹配。
  • Stata新命令:psestimate - 傾向得分匹配中協變量的篩選
    平衡性假設在 PSM 匹配時,用treat變量對控制變量進行Logit回歸,得到傾向得分值。傾向得分值最接近的控制組個體即為實驗組的配對樣本,通過這種方法可以最大程度減少實驗組與控制組個體存在的系統性差異,從而減少估計偏誤。
  • 一文讀懂PSM-DID操作及應用
    雙重差分傾向得分匹配
  • 傾向得分配對宏
    [問題剖析]實際上,在財務研究中,配對方法有很多種,傾向得分配對是近幾年來流行的作法,在筆者讀博期間,大多數的配對都是採用相似特徵值配對,這些學術文獻大概都有這樣的論述本篇文章採用與事件公司同一年度、同產業但未發生事件的公司做為配對公司群體,並從中選出與事件公司相似的規模、BM、營利能力(...)等變量進行配對,在準則中,大約是選取鄰近10%-30%的特徵值進行配對
  • 統計計量丨傾向得分匹配:psmatch2 還是 teffects psmatch
    比如,在下圖 psmatch2 估計結果底部的 Note 中,已經聲明「所提供的標準誤並未考慮到傾向得分是估計的」(S.E. does not take into account that the propensity score is estimated)。這意味著,在計算此標準誤中,有個不現實的假定,即假設所估計的傾向得分就是真正的傾向得分;這自然會導致偏差。
  • 傾向性匹配得分分析(PSM)是一種不太靠譜的方法
    我們首先進行多元線性回歸分析,多元線性回歸的軟體操作略,計算結果如圖2.所示。treat變量的回歸係數假設檢驗的p=0.048,說明是否接受職業教育在校正了其他因素之後是一個獨立影響收入的因素,這與實際情況也是吻合的,一般來講對勞動人口進行職業培訓會增加勞動者的收入。
  • 傾向得分匹配:psmatch2 還是 teffects psmatch
    比如,在下圖 psmatch2 估計結果底部的 Note 中,已經聲明「所提供的標準誤並未考慮到傾向得分是估計的」(S.E. does not take into account that the propensity score is estimated)。這意味著,在計算此標準誤中,有個不現實的假定,即假設所估計的傾向得分就是真正的傾向得分;這自然會導致偏差。
  • 求函數自變量的取值範圍方法總結
    求函數自變量的取值範圍方法總結葛麗青函數自變量的取值範圍使函數有意義的自變量的全體叫做自變量的取值範圍
  • 統計學有大用處,利用核密度估計法來進行警務大數據預測犯罪
    核密度估計法是一種典型的非參數檢驗方法。使用核密度估計法可以推導出分布奇特的函數表達式。因此核密度可以被用於處理公共事務或經濟領域的小眾問題。本小節將要介紹的大數據預測犯罪是一個最經典的現代公共事務案例,這個案例雖然並沒有使用過於複雜的算法,但它確實成功解決了公共管理中的難題。
  • 函數的定義域和參數的取值範圍詳解
    幾句順口溜教你輕鬆拿下函數的定義域和參數的取值範圍本次課程內容簡介1 函數中的參數和變量的區別2 函數的定義域3 含有參數的函數參數的取值範圍>4 函數中的參數和變量取值範圍對比溫馨提示:本課程適用於高一以及高一以上的學生,主要針對那些不知道什麼是參數什麼是變量以及相關的取值範圍不清晰的學生。
  • Python-plotnine 核密度空間插值可視化繪製
    從本期開始,我會陸續推出系列空間插值的推文教程,包括常見的「Kriging(克裡金插值法)、Nearest Neighbor(最近鄰點插值法)、Polynomial Regression(多元回歸法)、Radial Basis Function(徑向基函數法)」 等多種空間插值方法,探索空間可視化帶給我們的視覺魅力
  • 中考數學:一次函數的應用——分段函數
    一次函數的應用——分段函數一次函數的應用非常廣泛,比如行程問題、收費問題、方案選擇問題等。而不管是在什麼方面的實際應用,都不可能全是直線型的。在實際應用方面,不可避免的會出現一些轉折,比如分段收費、分段行駛等。