Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Formula for standardized differences in MatchIT?

Tags:

matching

r

I'm using MatchIt to match based on propensity score and then I'm checking the standardized difference. I tried to manually calculate the standardized difference for some of my matching variables and I'm not getting the same results as the output of the model.

#run the model 
ps<-matchit(y ~ ., data=mydata, method = "nearest", distance = "logit")
#store the results as a data frame 
comp <- as.data.frame(summary(ps, standardize = TRUE)["sum.matched"])
#print the results 
comp[, "sum.matched.Std..Mean.Diff." , drop=FALSE]

My question here is: Does anyone know the formula to manually calculate the standardized differences that is used in the matchIt package? I'm interested in the formula for standardized difference in means and in proportions (are they different? Maybe that's why)

like image 389
user2592729 Avatar asked Nov 26 '25 15:11

user2592729


1 Answers

I have the same problem and I think the formula that MatchIt uses is different than the most commonly used one.

According to Ho et al.'s article (http://imai.princeton.edu/research/files/matchit.pdf) "the standardize = TRUE option will print out standardized versions of the balance measures, where the mean difference is standardized (divided) by the standard deviation in the original treated group."

So the denominator in the package's formula should be s(treated), instead of the square root of s(treated)^2+s(control)^2.

like image 62
Aslı Gürer Avatar answered Nov 28 '25 16:11

Aslı Gürer