Code:
* PSM for non-second tier small audit firms only caliper 0.03 */ drop pscoresmallgender /*1. Estimate probabilities (no need to cluster given that you only want probabilities):*/ logit big4exp lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy shorttenure cityexp clientimp soxaudit weakness if smallfirm==1 predict pscoresmallgender, p /*2. Match on probabilities:*/ psmatch2 big4exp, pscore(pscoresmallgender) caliper(0.03) noreplace /*3. Check the covariate balance:*/ pstest smallfirm lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy shorttenure cityexp clientimp soxaudit weakness if smallfirm==1, t(big4exp) mw(_weight) /*4. Obtain the treatment effect:*/ eststo clear reg lnauditfees big4exp gender lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy /// shorttenure cityexp clientimp soxaudit weakness i.ffi12 i.fyear if smallfirm==1 [pw=_weight] eststo m1 reg lnauditfees atleastman gender lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy /// shorttenure cityexp clientimp soxaudit weakness i.ffi12 i.fyear if smallfirm==1 [pw=_weight] eststo m2 reg lnauditfees atleastsenman gender lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy /// shorttenure cityexp clientimp soxaudit weakness i.ffi12 i.fyear if smallfirm==1 [pw=_weight] eststo m3 reg lnauditfees big4part gender lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy /// shorttenure cityexp clientimp soxaudit weakness i.ffi12 i.fyear if smallfirm==1 [pw=_weight] eststo m4 esttab using afeespcaobpsmsmallgender.csv, t star(* 0.10 ** 0.05 *** 0.01) replace b(3) r2 ar2 pr2 /* PSM for non-second tier midtier audit firms only */ drop pscoremidtiergender /*1. Estimate probabilities (no need to cluster given that you only want probabilities):*/ logit big4exp lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy shorttenure cityexp clientimp soxaudit weakness if smallfirm==0 predict pscoremidtiergender, p /*2. Match on probabilities:*/ psmatch2 big4exp, pscore(pscoremidtiergender) caliper(0.03) noreplace /*3. Check the covariate balance:*/ pstest lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy shorttenure cityexp clientimp soxaudit weakness if smallfirm==0, t(big4exp) mw(_weight) /*4. Obtain the treatment effect:*/ eststo clear reg lnauditfees big4exp gender lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy /// shorttenure cityexp clientimp soxaudit weakness i.ffi12 i.fyear if smallfirm==0 [pw=_weight] eststo m1 reg lnauditfees atleastman gender lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy /// shorttenure cityexp clientimp soxaudit weakness i.ffi12 i.fyear if smallfirm==0 [pw=_weight] eststo m2 reg lnauditfees atleastsenman gender lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy /// shorttenure cityexp clientimp soxaudit weakness i.ffi12 i.fyear if smallfirm==0 [pw=_weight] eststo m3 reg lnauditfees big4part gender lnassets lnbusseg lngeoseg cata quick leverage roa loss goingconcern foreign busy /// shorttenure cityexp clientimp soxaudit weakness i.ffi12 i.fyear if smallfirm==0 [pw=_weight] eststo m4 esttab using afeespcaobpsmmidtiergender.csv, t star(* 0.10 ** 0.05 *** 0.01) replace b(3) r2 ar2 pr2
0 Response to Problem with propensity score matching
Post a Comment