This query is cross posted from the Statalist forum where it did not prompt any responses.
I am trying to understand whether an intervention ("tha") is associated with increased 12-month mortality ("rip") using StataSE 13.0. My first step was to match the groups across a number of variables ("age", "sex", "preopasa", "premob", and "origin") using the "cem" package for coarsened exact matching. My understanding from the literature around CEM is that researchers should then continue with their analyses (e.g. multivariable regression) as normal but using the matched groups.
When I run the matching code:
ssc install cem
cem age sex preopasa premob origin, treatment(tha) autocuts(fd)
It appears to work and almost all patients (29,181/29,267) are allocated to 56 matched strata. Stata creates a number of new variables: cem_strata, cem_matched, and cem_weights, which seems to be what is expected.
To my non-statistician mind, I imagined that that those co-variables would then be become less significant in any subsequent regression models. However, this doesn’t appear to be the case.
When I run code that I believe should run a logistic regression model using the matched weights:
logistic rip age sex preopasa premob origin tha [iweight=cem_weights]
I get an output that is barely any different – and in some cases shows bigger odds ratios / wider confidence intervals – than when I run code without the CEM weights:
logistic rip age sex preopasa premob origin tha
I think that I have used the cem package correctly (at least following the package instructions) but wonder whether I am right to be concerned that there is still so much residual confounding in the (apparently) matched dataset.
Can anyone spot what might have gone wrong and/or suggest a way of formally examining whether or not the match process worked?