Greetings,
I am finding a problem, conceivably a bug, in the behavior of the -teffects- command,
It occurs when I try to enforce a caliper distance on matches in a propensity score
analysis.
As a secondary matter, I'm encountering a convenience issue related to excluding
from analyses treatment observations that have no match within a caliper range.
"Problem" first: I get error r(504) when I think I shouldn't
Here is the relevant part of my code:
local caliper = 0.0345
local nomatch = "1093, 2540, 2541, 5440, 5727, 7697" // some observation numbers to exclude
teffects psmatch (collgrad) (treatment i.teenparent siblings meanfmedu faminc*22) ///
if female & !inlist(_n, `nomatch'), ///
caliper(`caliper') control(0) ate nn(5) gen(match)
When I run the preceding, -teffects- halts prior to producing any output and reports:
"estimates post: matrix has missing values r(504)"
This error goes away if I relax the caliper size to a larger value.
0.0345 is not an outrageous caliper; it's about 1/4 of the standard deviation
of the propensity score, a common caliper choice.
Any suggestions of what I might be doing wrong?
I'm sorry, but I haven't yet been able to find a way to reliably reproduce
this error with a publicly available data set.
"Convenience" issue second:
In any attempt at a propensity score analysis, if I allow inclusion of treatment observations
that have no match within the caliper range, -teffects- halts and notes this fact,
"no propensity-score matches for observation 1093 within caliper 0.0345; this is not allowed."
I find the halting both inconvenient and perplexing. It's not uncommon or horrible, to my knowledge,
to have some unmatched treatment subjects in a propensity score or similar analysis. I'd rather that
-teffects- report these and go ahead with the analysis, as -psmatch2- does. My solution to this
behavior currently is to find the problem observations by trial and error, and exclude them, as I've
done above. This is tedious if one has, say, 10 match failures out of 1,000 treatment subjects.
Am I missing some option on -teffects-? If not, does anyone have any idea for a workaround?
Thanks for your advice,
Mike Lacy
Fort Collins CO
I am finding a problem, conceivably a bug, in the behavior of the -teffects- command,
It occurs when I try to enforce a caliper distance on matches in a propensity score
analysis.
As a secondary matter, I'm encountering a convenience issue related to excluding
from analyses treatment observations that have no match within a caliper range.
"Problem" first: I get error r(504) when I think I shouldn't
Here is the relevant part of my code:
local caliper = 0.0345
local nomatch = "1093, 2540, 2541, 5440, 5727, 7697" // some observation numbers to exclude
teffects psmatch (collgrad) (treatment i.teenparent siblings meanfmedu faminc*22) ///
if female & !inlist(_n, `nomatch'), ///
caliper(`caliper') control(0) ate nn(5) gen(match)
When I run the preceding, -teffects- halts prior to producing any output and reports:
"estimates post: matrix has missing values r(504)"
This error goes away if I relax the caliper size to a larger value.
0.0345 is not an outrageous caliper; it's about 1/4 of the standard deviation
of the propensity score, a common caliper choice.
Any suggestions of what I might be doing wrong?
I'm sorry, but I haven't yet been able to find a way to reliably reproduce
this error with a publicly available data set.
"Convenience" issue second:
In any attempt at a propensity score analysis, if I allow inclusion of treatment observations
that have no match within the caliper range, -teffects- halts and notes this fact,
"no propensity-score matches for observation 1093 within caliper 0.0345; this is not allowed."
I find the halting both inconvenient and perplexing. It's not uncommon or horrible, to my knowledge,
to have some unmatched treatment subjects in a propensity score or similar analysis. I'd rather that
-teffects- report these and go ahead with the analysis, as -psmatch2- does. My solution to this
behavior currently is to find the problem observations by trial and error, and exclude them, as I've
done above. This is tedious if one has, say, 10 match failures out of 1,000 treatment subjects.
Am I missing some option on -teffects-? If not, does anyone have any idea for a workaround?
Thanks for your advice,
Mike Lacy
Fort Collins CO
Comment