Hello,
I am using propensity score matching for a sample with 462 observations. I have been using <teffects psmatch> for nearest neighbor matching. However, when limiting matches to be within a certain caliper I am using <psmatch2> because it completes the operation when there are not matches within the caliper for all units. However, I have realized that (prior to implementing caliper matching) the standard errors reported by the two commands are not equal, even after specifying the <ai(#)> and <ties>option for <psmatch2>. The standard errors given by <teffects psmatch> are similar to those given by <psmatch2> when I use the option <vce(robust, nn(3))>. I realize that this is different than the default because the default AI standard errors with <teffects psmatch> uses 2 matches. However, the vce(robust, nn(#)) option is only allowed when matching with k>2 neighbors. My Stata code is below:
// teffects vce(robust,nn(3)) k=3
teffects psmatch (my_outcome_var) (treatment covariates),nneighbor(3) vce(robust,nn(3)) atet /*SE=9546*/
//psmatch2 AI k=3
psmatch2 treatment (covariates), neighbor(3) outcome(my_outcome_var) logit ai(3) ties /*SE= 9552*/
*****************************************
// teffects default k=1
teffects psmatch (my_outcome_var) (treatment covariates),nneighbor(1) atet /*SE= 1302*/
//psmatch2 AI k=1
psmatch2 anggota_apkj (my_outcome_var) logit ai(1) ties /*SE= 10,142*/
When k=3 the coefficient is the same for each command. However, when k=1, the coefficient is different for the two commands. Why I am I getting different results? Are there any suggestions for changes that I can make in order to be able to get the same output for each so that I am comfortable using <psmatch2> for caliper matching?
Many thanks,
Corinna
I am using propensity score matching for a sample with 462 observations. I have been using <teffects psmatch> for nearest neighbor matching. However, when limiting matches to be within a certain caliper I am using <psmatch2> because it completes the operation when there are not matches within the caliper for all units. However, I have realized that (prior to implementing caliper matching) the standard errors reported by the two commands are not equal, even after specifying the <ai(#)> and <ties>option for <psmatch2>. The standard errors given by <teffects psmatch> are similar to those given by <psmatch2> when I use the option <vce(robust, nn(3))>. I realize that this is different than the default because the default AI standard errors with <teffects psmatch> uses 2 matches. However, the vce(robust, nn(#)) option is only allowed when matching with k>2 neighbors. My Stata code is below:
// teffects vce(robust,nn(3)) k=3
teffects psmatch (my_outcome_var) (treatment covariates),nneighbor(3) vce(robust,nn(3)) atet /*SE=9546*/
//psmatch2 AI k=3
psmatch2 treatment (covariates), neighbor(3) outcome(my_outcome_var) logit ai(3) ties /*SE= 9552*/
*****************************************
// teffects default k=1
teffects psmatch (my_outcome_var) (treatment covariates),nneighbor(1) atet /*SE= 1302*/
//psmatch2 AI k=1
psmatch2 anggota_apkj (my_outcome_var) logit ai(1) ties /*SE= 10,142*/
When k=3 the coefficient is the same for each command. However, when k=1, the coefficient is different for the two commands. Why I am I getting different results? Are there any suggestions for changes that I can make in order to be able to get the same output for each so that I am comfortable using <psmatch2> for caliper matching?
Many thanks,
Corinna