Transcription of teffects psmatch — Propensity-score matching
1 psmatch Propensity-score matchingDescriptionQuick startMenuSyntaxOptionsRemarks and examplesStored resultsMethods and formulasReferencesAlso seeDescriptionteffects psmatchestimates the average treatment effect (ATE) and average treatment effect onthe treated (ATET) from observational data by Propensity-score matching (PSM).PSMestimators imputethe missing potential outcome for each subject by using an average of the outcomes of similar subjectsthat receive the other treatment level. Similarity between subjects is based on estimated treatmentprobabilities, known as propensity scores. The treatment effect is computed by taking the average ofthe difference between the observed and potential outcomes for each psmatchaccepts a continuous, binary, count, fractional, or nonnegative [TE] teffects introor [TE] teffects intro advancedfor more information about estimatingtreatment effects from observational startATEoftreatonyestimated byPSMusing a logistic model fortreatonxand indicators for levelsof categorical variableateffects psmatch (y) (treat x )As above, but estimate theATET teffects psmatch (y) (treat x ), atetATEoftreatusing a heteroskedastic probit model for treatmentteffects psmatch (y) (treat x , hetprobit(x ))With 4 matches per observationteffects psmatch (y) (treat x ), nneighbor(4)
2 MenuStatistics>Treatment effects>Continuous outcomes> Propensity-score matchingStatistics>Treatment effects>Binary outcomes> Propensity-score matchingStatistics>Treatment effects>Count outcomes> Propensity-score matchingStatistics>Treatment effects>Fractional outcomes> Propensity-score matchingStatistics>Treatment effects>Nonnegative outcomes> Propensity-score matching12 teffects psmatch Propensity-score matchingSyntaxteffects psmatch (ovar) (tvar tmvarlist[,tmodel])[if][in][weight][,sta t options]ovaris a binary, count, continuous, fractional, or nonnegative outcome of contain integer values representing the treatment the variables that predict treatment assignment in the treatment model. Only twotreatment levels are treatment model; the defaultprobitprobit treatment modelhetprobit(varlist)heteroskedastic probit treatment modeltmodelspecifies the model for the treatment average treatment effect in population; the defaultatetestimate average treatment effect on the treatedteffects psmatch Propensity-score matching 3optionsDescriptionModelnneighbor(#)spec ify number of matches per observation; default isnneighbor(1)SE/Robustvce(vcetype)vcety pemay bevce(robust[, nn(#)]); use robust Abadie Imbens standarderrors with#matchesvce(iid); use independent and identically distributed Abadie Imbensstandard errorsReportinglevel(#)set confidence level.
3 Default islevel(95)displayoptionscontrol columns and column formats, row spacing, line width,display of omitted variables and base and empty cells, andfactor-variable labelingAdvancedcaliper(#)specify the maximum distance for which two observations arepotential neighborspstolerance(#)set tolerance for overlap assumptionosample(newvar)newvaridentifie s observations that violate the overlap assumptioncontrol(#|label)specify the level oftvarthat is the controltlevel(#|label)specify the level oftvarthat is the treatmentgenerate(stub)generate variables containing the observation numbers of the nearest neighborscoeflegenddisplay legend instead of statisticstmvarlistmay contain factor variables; see[U] Factor ,collect, andstatsbyare allowed; see[U] Prefix are allowed; see[U] not appear in the dialog [U] 20 Estimation and postestimation commandsfor more capabilities of estimation Model nneighbor(#)specifies the number of matches per observation.
4 The default isnneighbor(1). Eachindividual is matched with at least the specified number of individuals from the other ()must specify an integer greater than or equal to 1 but no larger than thenumber of observations in the smallest group. Stat statis one of two the that the average treatment effect be that the average treatment effect on the treated be teffects psmatch Propensity-score matching SE/Robust vce(vcetype)specifies the standard errors that are reported. By default, teffects psmatchusestwo matches in estimating the robust standard (robust[, nn(#)])specifies that robust standard errors be reported and that the requestednumber of matches be used (iid)specifies that standard errors for independent and identically distributed data be standard derivative-based standard-error estimators cannot be used byteffects psmatch ,because these matching estimators are not differentiable.
5 The implemented methods were derivedby Abadie and Imbens (2006, 2011, 2012); seeMethods and discussed in Abadie and Imbens (2008), bootstrap estimators do not provide reliable standarderrors for the estimator implemented byteffects psmatch . Reporting level(#); see [R]Estimation :noci,nopvalues,noomitted,vsquish,noempt ycells,baselevels,allbaselevels,nofvlabe l,fvwrap(#),fvwrapon(style),cformat(%fmt ),pformat(%fmt),sformat(%fmt), andnolstretch; see [R]Estimation options. Advanced caliper(#)specifies the maximum distance at which two observations are a potential match. Bydefault, all observations are potential matches regardless of how dissimilar they psmatch , the distance is measured by the estimated propensity score . If an observationhas no matches, teffects psmatchexits with an (#)specifies the tolerance used to check the overlap assumption. The default valueispstolerance(1e-5).teffectswill exit with an error if an observation has an estimatedpropensity score smaller than that specified bypstolerance().
6 Osample(newvar)specifies that indicator variablenewvarbe created to identify observations thatviolate the overlap assumption. Two checks are made to verify the assumption. The first ensuresthat the propensity scores are greater thanpstolerance(#)and less than 1 pstolerance(#).The second ensures that each observation has at leastnneighbor(#)matches in the oppositetreatment group within the distance specified bycaliper(#).Thevce(robust, nn(#))option also requires at least#matches in the same treatment groupwithin the distance specified bycaliper(#).The average treatment effect on the treated, optionatet, usingvce(iid)requires onlynneigh-bor(#)control group matches for the treated (#|label)specifies the level oftvarthat is the control. The default is the first treatmentlevel. You may specify the numeric level#(a nonnegative integer) or the label associated withthe numeric ()andtlevel()may not specify the same treatment (#|label)specifies the level oftvarthat is the treatment for the statisticatet.
7 The defaultis the second treatment level. You may specify the numeric level#(a nonnegative integer) orthe label associated with the numeric ()may only be specified with ()andcontrol()may not specify the same treatment (stub)specifies that the observation numbers of the nearest neighbors be stored in the newvariablesstub1,stub2,.. This option is required if you wish to perform postestimation basedteffects psmatch Propensity-score matching 5on the matching results. The number of variables generated may be more thannneighbor(#)because of tied distances. These variables may not already following option is available withteffects psmatchbut is not shown in the dialog box:coeflegend; see [R]Estimation and matching uses an average of the outcomes of similar subjects who get the othertreatment level to impute the missing potential outcome for each subject. TheATEis computed bytaking the average of the difference between the observed and potential outcomes for each psmatchdetermines how near subjects are to each other by using estimated treatmentprobabilities, known as propensity scores.
8 This type of matching is known as Propensity-score matching (PSM).PSMdoes not need bias correction, becausePSMmatches on a single continuous covariate. Incontrast, the nearest-neighbor matching estimator implemented inteffects nnmatchuses a bias-correction term when matching on more than one continuous covariate. In effect, thePSMestimatorparameterizes the bias-correction term in the treatment probability model. See [TE] teffects introor[TE] teffects intro advancedfor more information about this will illustrate the use ofteffects psmatchby using data from a study of the effect of amother s smoking status during pregnancy (mbsmoke) on infant birthweight (bweight) as reported byCattaneo (2010). This dataset also contains information about each mother s age (mage), educationlevel (medu), marital status (mmarried), whether the first prenatal exam occurred in the first trimester(prenatal1), whether this baby was the mother s first birth (fbaby), and the father s age (fage).
9 Example 1: Estimating the ATEWe begin by usingteffects psmatchto estimate theATEofmbsmokeonbweight. We use alogistic model (the default) to predict each subject s propensity score , using covariatesmage,medu,mmarried, andfbaby. Because the performance ofPSMhinges upon how well we can predict thepropensity scores, we will use factor-variable notation to include both linear and quadratic terms formage, the only continuous variable in our model:. use (Excerpt from Cattaneo (2010) Journal of Econometrics 155: 138-154). teffects psmatch (bweight) (mbsmoke mmarried ## fbaby medu)Treatment-effects estimation Number of obs = 4,642 Estimator : Propensity-score matching Matches: requested = 1 Outcome model : matching min = 1 Treatment model: logit max = 74AI robustbweightCoefficient std.
10 Err. z P>|z| [95% conf. interval]ATEmbsmoke(SmokervsNonsmoker) average birthweight if all mothers were to smoke would be 211 grams less than the averagethat would occur if none of the mothers had teffects psmatch Propensity-score matchingBy default, teffects psmatchestimates theATEby matching each subject to a single subjectwith the opposite treatment whose propensity score is closest. Sometimes, however, we may want toensure that matching occurs only when the propensity scores of a subject and a match differ by lessthan a specified amount. To do that, we use thecaliper()option. If a match within the distancespecified in thecaliper()option cannot be found, teffects 2: Specifying the caliperHere we reconsider the previous example, first specifying that we only want to consider a pair ofobservations a match if the absolute difference in the propensity scores is less than.