I am running Stata 14.2 on Win 7E. I'm using propensity score matching on some observational data. I've managed to get my models to run using psmatch2. One of the drawbacks of this command is that the bandwidth is not optimized. I believe that kmatch (http://www.statalist.org/forums/foru...score-matching) might do that for me, however, it's much more complicated.

This is my psmatch2 code:

Code:
psmatch2 anesthesia encounter_age bsa2 qrs2  pulgrade pul_stenosis rightventsize lvefecho2, /*
*/kernel(biweight) common logit
This code does not produce matching statistics, but if I specify an outcome I get the following:

Code:
 psmatch2: |   psmatch2: Common
 Treatment |        support
assignment | Off suppo  On suppor |     Total
-----------+----------------------+----------
 Untreated |         0         84 |        84
   Treated |         5         27 |        32
-----------+----------------------+----------
     Total |         5        111 |       116

Here is my kmatch code:

Code:
kmatch ps anesthesia encounter_age bsa2 qrs2  pulgrade pul_stenosis rightventsize lvefecho2, /*
*/comsup kernel(biweight) pscmd(logit) att
My kmatch code produces this:

Code:
Propensity-score kernel matching                Number of obs     =        116
                                                Kernel            =   biweight
Treatment   : anesthesia = 1
Covariates  : encounter_age bsa2 qrs2 pulgrade pul_stenosis rightventsize lvefecho2
PS model    : logit (pr)

Matching statistics
------------------------------------------------------------------------------------------
           |             Matched             |             Controls            | Bandwidth
           |       Yes         No      Total |      Used     Unused      Total |         
-----------+---------------------------------+---------------------------------+----------
   Treated |        27          5         32 |        77          7         84 |  .0612906
------------------------------------------------------------------------------------------
It seems that I'm getting the right numbers in total. However, it's not clear if this program is restricted to cases with common support. My other question is about the bandwidth. I think .0612906 is very close to the default. I tried to specify the bw option on kmatch, but I received the following error:

Code:
. kmatch ps anesthesia encounter_age bsa2 qrs2  pulgrade pul_stenosis rightventsize lvefecho2, /*
> */comsup kernel(biweight) pscmd(logit) bw(silverman) att
bwidth(): silverman not allowed
r(198);

end of do-file
Silverman is the default, but I'm not sure it's being implemented when I specify no bandwidth. It seems that it should run when this option is explicitly specified, but that's not working. Anyone have any suggestions?