Dear all,
Is it generally okay to use quantile regression after cem (or matching
in general)?
best wishes,
Prashant
-
cem Mailing List, served by Harvard-MIT Data Center
Send messages: cem(a)lists.gking.harvard.edu
[un]subscribe Options: http://lists.gking.harvard.edu/?info=cem
More information on cem: http://gking.harvard.edu/cem
To Whom It May Concern,
I'm having a problem performing the causal inference portion of CEM with my
data. Right now I have data with no missing values that categorizes citizen
responses to political questions on voting behavior (which party bloc voted
for, measured on an ordinal discrete scale), and political attitudes (two
barometer questions, also measured on an ordinal discrete scale), as well as
a number of background covariates (age, education, political interest,
knowledge, religion, gender, etc.). My treatment variable is a 1 or 0
depending on whether a respondent comes from an ethnically diverse district
or not .
In running my CEM model, everything compiled just fine, however when trying
to estimate the SATT, I get the following error:
Error in att(mat1, as.factor(ONEPAR) ~ ELF + MUSLIM + CHRISTIAN + AGE + :
please, only use `lm' or `glm'
I suppose I'm getting this because I chose a forest model for my estimation,
but I don't see why this should be a problem. Just for reference here is my
matching code and my att code.
AGECUT <- c(0,29.5, 39.5, 49.5, 59.5, 69.5, 79.5)
mat1 <- cem(treatment="TREAT1", data=data2, drop=c("RESPNO", "BACKCHK",
"URBRUR", "PROVINCE", "DISTRICT", "ELF", "DIVISION", "LOCATION", "DISCUSS",
"AUTH", "PATR", "ONEPAR","MULTPAR", "FREEVOTE", "FREEEXP", "SINGLEAD",
"ELECT", "REPRESENT", "SALIENCE", "TRUST1", "TRUST2", "TRUST3", "REFORM1",
"REFORM2", "Q88C_KEN", "VOTE", "RATIONALE", "PATRON", "FRVOTE", "FREEXP",
"ELEC", "MULTIPAR", "REFORM", "OTHERREL", "TREAT", "TREATMED2"),
cutpoints=list(AGE=AGECUT))
mat1
est1 <- att(mat1,
ONEPAR~ELF+MUSLIM+CHRISTIAN+AGE+KNOW+INTEREST+EDUC+ETHMAJ+MALE, data=data2,
model="forest")
est1
If you have any idea of what I'm doing incorrectly I'd appreciate the help.
My model runs fine using automated CEM via MatchIt, so I'm not sure what the
problem is here. Finally, I'm getting some weird results with MatchIt --
namely, almost all the covariates on which I matched are turning up as
significant. Any ideas as to what could be motivating this troubling
anomaly? Note it is my understanding (possibly incorrect) that if treatment
and control units are matched exactly, there should be no difference between
treatment and control on matched covariates, and thus these measures should
not significantly affect the outcome in the analysis.
Sincerely,
Ashley Anderson
--
Ph.D. Candidate
Harvard University Government Dept
--
Ph.D. Candidate
Harvard University Government Dept
Hi,
I was wondering if I could use coarsened exact matching (CEM) to
create the following type of blocks/strata for a randomized
experiment:
1st stage: block 50 schools into pairs (25 pairs total), randomization
would take place in each pair
2nd stage: Take the students in each of the above schools (say there
are 60 students in each school) and stratify them into triples as
well, randomization would take place within each triple (assigned to
treatment A, treatment B, and control).
I have read for example that the cem command in Stata can create
blocks for a randomized experiment, but I am not sure if it can create
matched pairs and triples as in the above situation or not, since CEM
may create different size blocks/strata according to the variables and
degree of coarsening one chooses, rather than creating pairs/triples
per say -- is there a way to actually create pairs/triples using CEM
or do I have to additionally rely on another matching method (say
using some distance measure) to create pairs/triples? And is further
creating pairs/triples (beyond the blocks from cem) necessarily
helpful in reducing bias and increasing power?
Thank you so much in advance for your help,
Prashant
-
cem Mailing List, served by Harvard-MIT Data Center
Send messages: cem(a)lists.gking.harvard.edu
[un]subscribe Options: http://lists.gking.harvard.edu/?info=cem
More information on cem: http://gking.harvard.edu/cem
Hello,
I am currently working on a paper where I use one-shot survey data from 2006
and 2008 (repeated cross-sections, exact same variables) and, although they
are supposed to be random samples drawn from the same population, there is
considerable multivariate imbalance on demographic variables. Thus, I used
CEM on the pooled sample (with year as "treatment") to make the samples
comparable:
UNWEIGHTED MEANS
year education male age urban
2006 8.572 0.493 37.611 0.792
2008 8.269 0.495 40.841 0.692
Multivariate L1 distance: .34852375
CEM WEIGHED MEANS
year education male age urban
2006 8.204 0.492 40.278 0.700
2008 8.256 0.492 40.696 0.700
Multivariate L1 distance: 2.355e-15
My question is whether it makes sense to run separate regressions for 2006
and 2008 using the respective CEM weights obtained from the pooled sample.
Hope you can help. Thanks!
Reynaldo T. Rojo Mendoza
Ph.D. Student
Department of Political Science
University of Pittsburgh
Hello,
I'd like to use CEM for an analysis with multiple treatment groups,
however I'm a bit confused about how to create and apply weights for
stratum-size when using more than two treatment groups. Any advice
would be appreciated.
Thanks in advance.
Regards,
Jill
-
cem Mailing List, served by Harvard-MIT Data Center
Send messages: cem(a)lists.gking.harvard.edu
[un]subscribe Options: http://lists.gking.harvard.edu/?info=cem
More information on cem: http://gking.harvard.edu/cem
library(Amelia)
amelia(a3,idvars="tr",m=5,noms="d30",ords=c("ai","gcm","gce","gcv"))->a3.impu
#plot(a3.impu,overimpute=T)--OK
a3.imput<-a3.impu$imputations[1:5]
library(MatchIt)
cem("tr",datalist=a3.imput,drop="bac",data=a3)->imp.match
imp.match
##z.o<-zelig(gcsmottak~ais+as.numeric(bac)+as.numeric(age),data=list(en),model="ls")..........cannot
match using zelig
out <- att(imp.match, gcso ~ as.numeric(bac)+as.numeric(age), data=a3)
##results in the following:
> out
Linear regression model on CEM matched data:
Error in print.cem.att(list(mult = list(list(att.model = c(14.5304012233110, :
subscript out of bounds
Any ideas?
Also-Is there an easy way to extract the matched cases from imp.match?
Matchit has the match.data option, but as far as I understand I cannot
use imputed data as input to matchit.
Regards,
M
-
cem Mailing List, served by Harvard-MIT Data Center
Send messages: cem(a)lists.gking.harvard.edu
[un]subscribe Options: http://lists.gking.harvard.edu/?info=cem
More information on cem: http://gking.harvard.edu/cem
On 09/02/2009 12:20 AM, Donald Braman wrote:
> I can't seem to subscribe to the MatchIt list, so I'm posting here in
> hopes that the same people read both.
>
> I'm working with multiply imputed data from Amelia & wondering if any
> progress has been made at integrating Amelia, MatchIt, and Zelig -- in
> particular, pre-processing multiply imputed data and preparing them
> for use in Zelig.
>
> Not at all pressing, and (again) apologies for posting here rather
> than the MatchIt list.
>
> Cheers, Don
At the moment, MatchIt doesn't allow missing data on input (unless you
temporarily code it as observed and exact match on the missing values).
In part, this is because most matching algorithms don't have procedures
to deal with missingness. An exception is CEM which has a procedure for
multiply imputed data, but to access that you'll need to use the (R or
Stata) version of CEM directly (see http://gking.harvard.edu/cem)
instead of the one in MatchIt.
(separate message coming to fix your matchit subscription...)
Gary
---
Gary King
Albert J. Weatherhead III University Professor
Director, Institute for Quantitative Social Science
Harvard University, 1737 Cambridge St, Cambridge, MA 02138
http://GKing.Harvard.Edu, King(a)Harvard.Edu
Direct 617-495-2027, Assistant 495-9271, eFax 812-8581
-
cem Mailing List, served by Harvard-MIT Data Center
Send messages: cem(a)lists.gking.harvard.edu
[un]subscribe Options: http://lists.gking.harvard.edu/?info=cem
More information on cem: http://gking.harvard.edu/cem
Begin forwarded message:
> From: Martina Zweimueller <Martina.Zweimueller(a)jku.at>
> Date: 05 agosto 2009 9:53:14 GMT+02:00
> To: stefano iacus <stefano.iacus(a)unimi.it>
> Subject: Antw: Re: [cem] Coarsening by explicit user choice
>
> Yes, I refer to the Stata version. I think the documentation is
> confusing in this point. I would write ... if you want to create a
> certain number of equally space bins, say 10, place #11 in
> parentheses
> after the variable.
>
> Best regards,
> Martina
>
>
> Martina ZWEIMÜLLER
> Department of Economics
> Johannes Kepler University Linz
> Altenbergerstr. 69
> A-4040 Linz, Austria
> martina.zweimueller(a)jku.at
>
> Tel.: +43-(0)732-2468-5393
> Fax: +43-(0)732-2468-8238
> http://www.econ.jku.at/Zweimuller/
> http://www.labornrn.at
>
>
>>>> stefano iacus <stefano.iacus(a)unimi.it> 8/5/2009 9:42 >>>
> I guess you refer to the Stata version of cem.
> You are right, that is the number of cutpoints including the extremes,
>
> so 11 cutpoints means 10 intervals.
> Thanks for raising this
>
> stefano
>
>
> On 05/ago/09, at 09:32, Martina Zweimueller wrote:
>
>> The CEM-documenation says that if you want to create a certain
>> number of
>> equally space bins, say 10, place #10 in parentheses after the
>> variable.
>> However if you have a variable with 10 values (e.g. running from 1
> to
>> 10) and you want to match on each value, the argument `variable'
> (#10)
>> gives you only 9 strata, whereas `variable' (#11) gives you 10
>> strata.
>>
>> Martina Zweimüller
>>
>> Martina ZWEIMÜLLER
>> Department of Economics
>> Johannes Kepler University Linz
>> Altenbergerstr. 69
>> A-4040 Linz, Austria
>> martina.zweimueller(a)jku.at
>>
>> Tel.: +43-(0)732-2468-5393
>> Fax: +43-(0)732-2468-8238
>> http://www.econ.jku.at/Zweimuller/
>> http://www.labornrn.at
>>
>> -
>> cem Mailing List, served by Harvard-MIT Data Center
>> Send messages: cem(a)lists.gking.harvard.edu
>> [un]subscribe Options: http://lists.gking.harvard.edu/?info=cem
>> More information on cem: http://gking.harvard.edu/cem
>
> -
> cem Mailing List, served by Harvard-MIT Data Center
> Send messages: cem(a)lists.gking.harvard.edu
> [un]subscribe Options: http://lists.gking.harvard.edu/?info=cem
> More information on cem: http://gking.harvard.edu/cem
-
cem Mailing List, served by Harvard-MIT Data Center
Send messages: cem(a)lists.gking.harvard.edu
[un]subscribe Options: http://lists.gking.harvard.edu/?info=cem
More information on cem: http://gking.harvard.edu/cem
The CEM-documenation says that if you want to create a certain number of
equally space bins, say 10, place #10 in parentheses after the variable.
However if you have a variable with 10 values (e.g. running from 1 to
10) and you want to match on each value, the argument `variable' (#10)
gives you only 9 strata, whereas `variable' (#11) gives you 10 strata.
Martina Zweimüller
Martina ZWEIMÜLLER
Department of Economics
Johannes Kepler University Linz
Altenbergerstr. 69
A-4040 Linz, Austria
martina.zweimueller(a)jku.at
Tel.: +43-(0)732-2468-5393
Fax: +43-(0)732-2468-8238
http://www.econ.jku.at/Zweimuller/http://www.labornrn.at
-
cem Mailing List, served by Harvard-MIT Data Center
Send messages: cem(a)lists.gking.harvard.edu
[un]subscribe Options: http://lists.gking.harvard.edu/?info=cem
More information on cem: http://gking.harvard.edu/cem
Perhaps someone can assist me with a question I have about the cem
package. After matching with cem, I would like to obtain the data set of
the matched cases. Is there a function in cem that would allow me to do
this, similar to the match.data function provided in the MatchIt
package?
I also want to take this opportunity to thank the developers of the
MatchIt and cem packages for providing these tremendous resources.
Charles Abromaitis, AACI
Senior Property Appraiser/Negotiator
Corporation of The City of London
Realty Services Division
Phone: (519) 661-2500 Ext. 4713
Fax: (519) 661-5087