傾向匹配得分教程【pscore、psmatch2、官方命令Teffects操作及應用】

2021-02-19 計量經濟學服務中心

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

1

命令簡介

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

psmatch2.ado

pscore.ado

nnmatch.ado

上述主要介紹了如何獲得PSM相關的命令,本文主要介紹如何使用pscore、psmatch2以及Stata官方的PSM命令Teffects。

2

語法格式

pscore語法格式為:

pscore treatment varlist [weight] [if exp] [in range] , pscore(newvar) [blockid(newvar) detail logit comsup level(#) numblo(#) ]

選項含義為:

pscore(newvar)是必需的,它要求用戶為估計的傾向評分指定變量名,並將其添加到數據集中。

blockid(newvar)允許用戶為估計傾向分數指定變量名,並將其添加到數據集中。

detail顯示更詳細的輸出,說明為獲得最終結果而執行的步驟。

logit使用logit模型來估計傾向評分,而不是默認的probit模型

本文將平衡特性的分析局限於所有處理和共同支撐區域的控制。選項comsup表示使用具有共同支撐區域樣本。

level(real)允許設置平衡屬性測試的顯著性水平。默認值是0.01。

teffects語法格式為:

help teffects

  teffects psmatch (ovar) (tvar tmvarlist [, tmodel]) [if] [in] [weight] [, stat options]

選項含義為:

ovar 結果變量

tvar 處理變量

tmvarlist 預測變量

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


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

案例應用1


背景數據描述:

這是國家支持工作示範(NSW)處理組數據的子樣本和當前人口調查(CPS)的比較樣本。Lalonde(1986)、Dehejia和Wahba(1999)對這些數據進行了廣泛的分析。

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

use "ldw_exper.dta", clear     eddesc

結果為:

2、描述性分析 

tabstat age edu black hisp married re74 re75 u74 u75,statistics(mean) by(t)

結果為:

3、Pscore命令進行操作

pscore t age edu black hisp married re74 re75 u74 u75, logit blockid(myblock) comsup pscore(mypscore)

結果為:


4、使用attnd命令進行後續分析

attnd re78 t,  pscore(mypscore)

結果為:


等價於下面命令

attnd re78 t age edu black hisp married re74 re75 u74 u75, logit

結果為:


5、psmatch2命令進行操作

psmatch2 t age edu black hisp married re74 re75 u74 u75, out(re78) neighbor(1) ate ties logit common

結果為:



6、teffects命令進行操作

teffects  psmatch (re78) (t married age edu black hisp married re74 re75 u74 u75,logit), atet nneighbor(1)


結果為:

7、平衡性檢驗,需要在psmatch2後面做,上述teffects實現不了。

7.1 傾向匹配得分

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

結果為:

7.2 查看匹配後數據

結果為:

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

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

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

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

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

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

7.3 均衡性檢驗

結果為:

7.4 共同取值範圍

結果為:

7.5 核密度函數圖

 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")

結果為:


4

案例應用1

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

 webuse cattaneo2
Estimate the average treatment effect of mbsmoke on bweight, using a logistic model (the default) to predict each subject's propensity scoreteffects psmatch (bweight) (mbsmoke mmarried c.mage##c.mage fbaby medu)
Refit the previous model, but only consider a pair of observations a match if the absolute difference in the propensity score is less than 0.1teffects psmatch (bweight) (mbsmoke mmarried c.mage##c.mage fbaby medu), caliper(0.1)

結果為:


5

2020國慶Stata研討班


為了幫助大家全面系統的掌握stata,我們在一貫堅持高水平授課辦會的基礎上,特別打造「小班教學、理論與軟體並重、精品課程解析」的課程培訓亮點,現推出2020年Stata國慶班!截至目前,計量經濟學服務中心已經在西安、北京、上海、廣州等地成功舉辦了15場stata高級班,並在深圳南方科技大學舉辦了一場stata編程研討班。由於種種原因,很多學員一直想學卻沒有學,2020,給自己一個勇敢的理由,一起來放大你的小目標。零基礎起步,高級計量及Stata應用遠程班,採用線上的授課模式進行授課。以理論+軟體+案例+操作+講解答疑的模式,初級+高級課程,涵蓋數據管理+橫截面+時間序列+面板數據+門限回歸+因果推斷(傾向匹配得分+合成控制法)+空間計量等專題,幫助你建立系統的計量體系,具體內容如下:

Class 1. A Quick Tour of Stata

stata簡介Why Stata?/what is stata

軟體界面The Stata Interface/What Stata looks like

參考書籍推薦Textbooks

log工作日誌和do文檔What to do first?Set a working directory/Keeping track of things(Do-files and log-files )

命令以及幫助the command & Getting Help(包括help的使用以及ssc install 、findit等外部命令獲取和使用)

Class 2. DATABASE MANIPULATION數據管理

導入導出 Import and Export

面板數據、時間數據、官方數據Time series data &Panel data & Example Datasets

變量以及數據Variable and data types/Indicator or data variables

數據管理Data management

排序Order, aorder, and move

變量標籤Variable Labels and Notes

文字變量處理之數據類型轉換Converting strings to numerics and vice versa(encode 、decode、 destring、 tostring 等)

數據橫向合併和縱向合併Append and merge(merge,包括一對一、一對多、多對一等合併,append、cross、joinby等,)

數據生成Generating new variables

描述分析Describing the data (summarize)

基礎命令Basic commands(table tabulate)

tabstat命令

CSMAR及中經網資料庫複雜的使用技巧

Class 3. 相關分析Correlation analysis(相關分析簡介、相關命令corr、pwcorr、pwcorr_a等應用介紹、分析結果輸出等)

Class 4.  回歸分析Estimation

Class 5. 時間序列

Class 6&7. 靜態面板與動態面板數據

Class 8. 門限回歸

Class 9. 內生性問題專題I:傾向匹配得分

Class 10. 內生性問題專題II:合成控制法

Class 11. 結果輸出Extracting results

Post summary statistics(summarize、tabstat)

Post correlation coefficients (pwcorr、correlate、logout )

Coefficients/equations

Basic syntax and usage

estout、esttab、estadd and other useful Stata commands

Standard errors, p-values, and summary statistics

Use with Word/Rtf/Excel/LaTeX

Other Advanced Examples(esttab、outreg2、logout等)

Class  12. 經濟金融資料庫(國泰安資料庫、中經網)使用技巧

Class  13. 論文寫作專題(從源頭數據處理到分析)

Class  14. 空間計量經濟學模型(橫截面空間計量模型與面板空間模型,包括空間自相關檢驗、空間效應檢驗、SAR、SEM模型以及空間面板隨機與固定效應檢驗等)

重軟體操作、重實戰是課程一直以來的優勢與好評。控制人數的小班教學以確保每一位學員真正學到操作技能。

理論與軟體並重,手把手教學,零基礎起步,小白也能學會的Stata研討班!

重要的事情說三遍,我們課程手把手帶大家操作學習,並提供完整do文檔以及數據、講義、資料書等,手把手教學和操作學習!

2,學術學習資料大禮包一份;

3,課後贈送三個配套精品課程視頻:《零基礎學空間計量:空間計量及Geoda、stata應用》+初級班視頻《零基礎學stata,讓每一個文科生都成為計量高手》+高級班視頻《高級量化回歸分析:讓每一個文科生都能學會回歸分析》,全網累計1000人訂閱,價值1000元;

4,後續相同課程現場班可以五折優惠參加。

立體化的服務體系,真正保障學有所成!

1、系統化的知識體系。15場線上+線下班成功舉辦的經驗積累,知識點精細,學習成長路徑更放心;

2、在線直播。授課以直播形式,能夠及時答疑,互動性更強,感受線下課堂學習氛圍

3、課後答疑。有學習上的疑問,可與老師1對1溝通解答。

4、零基礎起步,理論與軟體並重,手把手教學,小白也能學會的計量班。

開課時間:

時間:2020年10月1日-10月4日(四天)

參會人數:限額60人,報名成功與否以實際付款為準,不接受口頭報名。

價格:原價4000元 /3600元 (學生價,僅限全日制本科生和碩士在讀);

授課形式:老師講授指導、學員操作練習、線上答疑解惑。

課程資料:提供PPT、課程講義以及完整的do文檔等。

1.同一單位3人以上報名,9折優惠;

2.同一單位5人以上報名,8折優惠(前2項優惠不能疊加)

1、掌握計量經濟學及Stata操作,能夠運用Stata完成複雜的數據處理工作,並熟練運用Stata完成寫作;        

2、了解常用模型的思路、原理和建模方法,從源頭資料庫等數據下載、搜集、整理、管理,到stata數據操作,培養數據分析能力;

3、通過中心精心準備的do文檔講義來完成學習,並實現do文檔中現成命令的可複製性(只需要修改部分do文檔命令的變量,就可以一鍵實現數據分析和數據管理的結果,具有複製性),然後根據相關計量經濟學知識學習,能夠獨立完成計量經濟學模型建模以及實證分析!

經濟及社科類青年教師、博士生、碩士生、高年級本科生。(1 Stata愛好學習者。2  經濟管理以及人文社科領域人員、各類市場調查公司、諮詢公司、網際網路公司和科研機構需要進行數據處理的人士。)

支持網絡付款以及對公轉帳

報名流程  

2、交費(微信、支付寶或者對公轉帳等),報名前請確認信息。

3、開課前發送培訓通知以及軟體準備,電子版預習資料等。

4、開課後領取發票及邀請函。 

網絡付款:掃描下方二維碼立即報名哦

▲(教師)掃碼報名

▲(學生價)掃碼報名

 

1、即日起接受報名,具體報名截止日期根據實際招生而定,人員招滿將關閉報名通道。2、如人數滿15人,即可開班;若報名人數不夠15人,本次訓練營自動取消,學員所繳納報名費全額返還。3、如您報名後有事不能參加,請及時告知!2020年9月150日17:00之後不再接受退費。4、本次會議可提供增值稅普通發票,如需開具(請聯繫微信:Xindream1992),並根據自己單位財務部門要求填寫抬頭和類目信息(一旦開具不能重開),發票類目為:會議服務費、信息服務費、培訓費、會議費、諮詢費等,報名時可以直接任選其一,其他類目無法開具。5、會議邀請函通知及課程試看和報名諮詢等直接聯繫王老師。請學員自己網絡搜索下載stata15.0/16.0。本次會議最終解釋權歸計量經濟學服務中心所有。

在線諮詢:

王老師

電話:18729083980

微信:Xindream1992

掃碼添加微信



相關焦點

  • 一文讀懂傾向匹配得分Stata及R操作應用
    本文將介紹Stata及R軟體進行傾向匹配得分操作應用,主要包括傾向匹配得分命令簡介、語法格式、傾向匹配得分操作步驟 思路,涉及傾向匹配得分應用、
  • 傾向匹配得分教程(附PSM操作應用、平衡性檢驗、共同取值範圍、​核密度函數圖)
    計量百科·資源·乾貨:本文主要包括傾向匹配得分命令簡介、語法格式、傾向匹配得分操作步驟 思路,涉及傾向匹配得分應用、平衡性檢驗、共同取值範圍檢驗、核密度函數圖等內容。以下是最受歡迎的模塊(主要有如下幾個外部命令)psmatch2.adopscore.adonnmatch.adopsmatch2.ado was developed by Leuven and Sianesi (2003) and pscore.ado by Becker and Ichino (2002).
  • 傾向得分匹配:psmatch2 還是 teffects psmatch
    在 Stata 命令中,psmatch2 是較早出現的PSM非官方命令。時至今日,仍不時有學生來諮詢我在使用 psmatch2 過程中所遇到的種種問題,可見其依然流行。然而,雖然 psmatch2 提供了豐富的具體匹配方法,但它最大的缺陷則在於其標準誤(standard errors)並不正確。基於標準誤對於統計推斷的重要性,這是 psmatch2 的致命弱點。
  • 統計計量丨傾向得分匹配:psmatch2 還是 teffects psmatch
    在 Stata 命令中,psmatch2 是較早出現的PSM非官方命令。然而,雖然 psmatch2 提供了豐富的具體匹配方法,但它最大的缺陷則在於其標準誤(standard errors)並不正確。基於標準誤對於統計推斷的重要性,這是 psmatch2 的致命弱點。事實上,psmatch2 在匯報 PSM 估計結果時,已經委婉暗示了此局限性。
  • 一文讀懂傾向得分匹配法(PSM)舉例及stata實現(一)
    本文主要包括傾向匹配得分命令簡介、語法格式、傾向匹配得分操作步驟 思路,涉及傾向匹配得分應用、平衡性檢驗、共同取值範圍檢驗、核密度函數圖等內容。
  • 傾向得分匹配(PSM)操作過程與問題反思
    舉例:接受培訓對於工資的影響分析思路:(1)驗證選擇性的存在;(2)傾向值打分;(3)匹配估計量兩種方法:pscore;psmatch2所選用數據:國家支持工作示範項目(National Supported Work,NSW)2.原理需要估計的內容:處理效應,Treatment Effect評估某項目或政策實施後的效應
  • Stata新命令:psestimate - 傾向得分匹配中協變量的篩選
    在前期文獻中,Becker & Ichino (2002, Stata Journal, 2(4):358-377) 對 PSM 的分析過程進行了詳細的介紹,Stata 中也有多個命令可以執行 PSM 分析,如 pscore, psmatch2, treatrew (Stata Journal, 14(3): 541-561), gpscore (SJ 8(3):354--373), kmatch
  • 關於 psmatch2 與 teffects psmatch 估計結果差異的一個原因
    stata15及之後的版本中有個teffects模塊,PSM 方法也可以用其實現,一般的psmatch2命令用來做 psm 是比較多的,但,psmatch2對標準差的估計是有問題的,其報告結果的時候都會提示Note: S.E. does not take into account that the propensity score is estimated
  • PSM-傾向得分匹配分析的誤區
    [Link1], [Link2]❝「目錄」❞1.背景2.傾向得分匹配3.會計研究中使用情況4.應用案例4.2 解讀:採用 regress 命令完成 PSM 的回歸分分析5.PSM 使用建議 相關課程❝1.
  • 玩轉Stata | 傾向得分配對(PSM)內生性檢驗利器
    所以在此介紹傾向得分匹配方法(PSM)。本文在此就不介紹相關理論了,因為小編的理論也不是特別的好,如果想學習的可以參閱連玉君老師的相關視頻(重點推介),大概有5個課時;同時也可以參考陳強老師的《高級計量經濟學及stata應用》中的第28章處理效應。在此小編僅僅介紹stata的相關操作。
  • 內生性問題和傾向得分匹配, 獻給準自然試驗的厚禮
    方法五:馬氏距離由於在傾向得分匹配第一階段估計傾向得分時存在不確定性,Abadie and Imbens的相關研究又重新回到更簡單的馬氏距離,進行有放回且允許並列的k近鄰匹配,針對非精確匹配一般存在偏差,提出了偏差校正的方法,通過回歸的方法估計偏差,然後得到偏差校正匹配估計量。
  • R語言:傾向評分匹配(Propensity Score Matching)-1
    輸入:mydata.ps <- pscore(data= mydata1,  formula =treatment~age+social+lbp+jaundice+dialysis)plot.pscore(mydata.ps,with.legend=T,legend.cex=1,
  • Propensity Score Matching 傾向得分匹配
    傾向得分匹配(propensity score matching)是一種常用的降維方法。因此,依據傾向得分進行匹配是一個簡單易行的選擇。我們丟棄觀測組中傾向得分低於實驗組傾向得分最小值、以及高於實驗組傾向得分最大值的數據,保證只比較有相似的傾向得分的實驗組和觀測組對象,然後分析數據的分布。
  • 傾向得分匹配法的詳細解讀.doc
    今天,商小研就要給大家介紹一種可以用來緩解自選擇偏誤的計量方法——傾向得分匹配法!個體的協變量集是多維度的,我們需要考慮如何將個體按照現有的多維度協變量集進行適當的匹配,這就是引入傾向得分值的緣由了。到了這裡,想必大家對傾向得分匹配(PSM)的基本邏輯有了一定的認識了吧!1.選擇合適的協變量集協變量集中的協變量一般來說應該對被解釋變量和解釋變量都有影響。2.確定選擇性的存在確定我們的解釋變量不是隨機的。
  • Stata+Eviews:倍分法操作教程
    二、Eviews操作教程1、調用數據首先我們讀入所需數據>2、生成交互項,命令為:生成政策前後以及控制組虛擬變量,並將它們相乘產生交互項。3、進行雙重差分操作命令為:ls fte did tr t croys) kernel rcs support diff fte, t(treated) p(t) cov(bk kfc roys) kernel rcs support addcov(wendys) diff fte, t(treated) p(t) kernel rcs ktype(gaussian) pscore
  • Fragstats官方入門教程5 從R運行命令行版本的Fragstats
    根據完整的用戶指南,命令行版本可以直接從計算機系統命令行運行。然而,它也可以從其他程序(如R)中調用,如本教程所示。本教程假設您現在已經完成教程1和教程2,或閱讀了FRAGSTATS軟體附帶的詳細用戶指南,對FRAGSTATS有了基本的工作理解。特別是,本教程假設您知道如何通過圖形用戶界面構建FRAGSTATS模型(參見教程2)。
  • 一文讀懂PSM-DID操作及應用
    雙重差分傾向得分匹配
  • 傾向得分配對宏
    本篇文章所使用的數據與宏文件如下:連結:http://pan.baidu.com/s/1c2s9LoG 密碼:ytwh連結:http://pan.baidu.com/s/1i5nFSpv 密碼:n7xg[問題]配對好睏難呀,請問傾向得分配對要如何處理呢
  • Stata:斷點回歸分析教程
    1、零基礎起步,初級+高級課程,涵蓋數據管理+橫截面+時間序列+面板數據+門限回歸+傾向匹配得分+合成控制法+斷點回歸+雙重差分+空間計量等專題,幫助你建立系統的計量體系2、理論與軟體並重,課程涵蓋理論介紹、軟體操作、案例應用、解釋結果、講解答疑等,手把手教你學Stata軟體操作與分析
  • 【官方教程】TensorFlow在圖像識別中的應用
    如果你已經根據自己的平臺環境,按照教程下載並安裝了TensorFlow,那麼在shell終端執行這條命令就能編譯例子了:bazel build tensorflow/examples/label_image/...