**[TE] teffects ipwra** -- Inverse-probability-weighted regression adjustment

__Syntax__

**teffects** **ipwra** **(***ovar* *omvarlist* [**,** *omodel* __nocons__**tant**]**)** **(***tvar* *tmvarlist*
[**,** *tmodel* __nocons__**tant**]**)** [*if*] [*in*] [*weight*] [**,** *stat* *options*]

*ovar* is a binary, count, continuous, fractional, or nonnegative outcome
of interest.

*omvarlist* specifies the covariates in the outcome model.

*tvar* must contain integer values representing the treatment levels.

*tmvarlist* specifies the covariates in the treatment-assignment model.

*omodel* Description
-------------------------------------------------------------------------
Model
**linear** linear outcome model; the default
**logit** logistic outcome model
**probit** probit outcome model
**hetprobit(***varlist***)** heteroskedastic probit outcome model
**poisson** exponential outcome model
**flogit** fractional logistic outcome model
**fprobit** fractional probit outcome model
**fhetprobit(***varlist***)** fractional heteroskedastic probit outcome model
-------------------------------------------------------------------------
*omodel* specifies the model for the outcome variable.

*tmodel* Description
-------------------------------------------------------------------------
Model
**logit** logistic treatment model; the default
**probit** probit treatment model
**hetprobit(***varlist***)** heteroskedastic probit treatment model
-------------------------------------------------------------------------
*tmodel* specifies the model for the treatment variable.
For multivalued treatments, only **logit** is available and multinomial logit
is used.

*stat* Description
-------------------------------------------------------------------------
Stat
**ate** estimate average treatment effect in population;
the default
**atet** estimate average treatment effect on the treated
__pom__**eans** estimate potential-outcome means
-------------------------------------------------------------------------

*options* Description
-------------------------------------------------------------------------
SE/Robust
**vce(***vcetype***)** *vcetype* may be __r__**obust**, __cl__**uster** *clustvar*,
__boot__**strap**, or __jack__**knife**

Reporting
__l__**evel(***#***)** set confidence level; default is **level(95)**
__aeq__**uations** display auxiliary-equation results
*display_options* control columns and column formats, row spacing,
line width, display of omitted variables and
base and empty cells, and factor-variable
labeling

Maximization
*maximize_options* control the maximization process; seldom used

Advanced
__pstol__**erance(***#***)** set tolerance for overlap assumption
__os__**ample(***newvar***)** *newvar* identifies observations that violate the
overlap assumption
__con__**trol(***# *|* label***)** specify the level of *tvar* that is the control
__tle__**vel(***# *|* label***)** specify the level of *tvar* that is the treatment

__coefl__**egend** display legend instead of statistics
-------------------------------------------------------------------------

*omvarlist* and *tmvarlist* may contain factor variables; see fvvarlists.
**bootstrap**, **by**, **jackknife**, and **statsby** are allowed; see prefix.
Weights are not allowed with the **bootstrap** prefix.
**fweight**s, **iweight**s, and **pweight**s are allowed; see weight.
**coeflegend** does not appear in the dialog box.
See **[TE] teffects postestimation** for features available after estimation.

__Menu__

**Statistics > Treatment effects > Continuous outcomes >** **Regression**
**adjustment with IPW**

**Statistics > Treatment effects > Binary outcomes >** **Regression adjustment**
**with IPW**

**Statistics > Treatment effects > Count outcomes >** **Regression adjustment**
**with IPW**

**Statistics > Treatment effects > Fractional outcomes >** **Regression**
**adjustment with IPW**

**Statistics > Treatment effects > Nonnegative outcomes >** **Regression**
**adjustment with IPW**

__Description__

**teffects** **ipwra** estimates the average treatment effect, the average
treatment effect on the treated, and the potential-outcome means from
observational data by inverse-probability-weighted regression adjustment
(IPWRA). IPWRA estimators use weighted regression coefficients to
compute averages of treatment-level predicted outcomes, where the weights
are the estimated inverse probabilities of treatment. The contrasts of
these averages estimate the treatment effects. IPWRA estimators have the
double-robust property. **teffects** **ipwra** accepts a continuous, binary,
count, fractional, or nonnegative outcome and allows a multivalued
treatment.

See **[TE] teffects intro** or **[TE] teffects intro advanced** for more
information about estimating treatment effects from observational data.

__Options__

+-------+
----+ Model +------------------------------------------------------------

**noconstant**; see **[R] estimation options**.

+------+
----+ Stat +-------------------------------------------------------------

*stat* is one of three statistics: **ate**, **atet**, or **pomeans**. **ate** is the
default.

**ate** specifies that the average treatment effect be estimated.

**atet** specifies that the average treatment effect on the treated be
estimated.

**pomeans** specifies that the potential-outcome means for each treatment
level be estimated.

+-----------+
----+ SE/Robust +--------------------------------------------------------

**vce(***vcetype***)** specifies the type of standard error reported, which
includes types that are robust to some kinds of misspecification
(**robust**), that allow for intragroup correlation (**cluster** *clustvar*),
and that use bootstrap or jackknife methods (**bootstrap**, **jackknife**);
see **[R] ***vce_option*.

+-----------+
----+ Reporting +--------------------------------------------------------

**level(***#***)**; see **[R] estimation options**.

**aequations** specifies that the results for the outcome-model or the
treatment-model parameters be displayed. By default, the results for
these auxiliary parameters are not displayed.

*display_options*: **noci**, __nopv__**alues**, __noomit__**ted**, **vsquish**, __noempty__**cells**,
__base__**levels**, __allbase__**levels**, __nofvlab__**el**, **fvwrap(***#***)**, **fvwrapon(***style***)**,
**cformat(***%fmt***)**, **pformat(%***fmt***)**, **sformat(%***fmt***)**, and **nolstretch**; see **[R]**
**estimation options**.

+--------------+
----+ Maximization +-----------------------------------------------------

*maximize_options*: __iter__**ate(***#***)**, [__no__]__lo__**g**, and **from(***init_specs***)**; see **[R]**
**maximize**. These options are seldom used.

*init_specs* is one of

*matname* [**,** **skip** **copy**]

*#* [**,** *#* ...]**,** **copy**

+----------+
----+ Advanced +---------------------------------------------------------

**pstolerance(***#***)** specifies the tolerance used to check the overlap
assumption. The default value is **pstolerance(1e-5)**. **teffects** will
exit with an error if an observation has an estimated propensity
score smaller than that specified by **pstolerance()**.

**osample(***newvar***)** specifies that indicator variable *newvar* be created to
identify observations that violate the overlap assumption.

**control(***# *|* label***)** specifies the level of *tvar* that is the control. The
default is the first treatment level. You may specify the numeric
level *#* (a nonnegative integer) or the label associated with the
numeric level. **control()** may not be specified with statistic
**pomeans**. **control()** and **tlevel()** may not specify the same treatment
level.

**tlevel(***# *|* label***)** specifies the level of *tvar* that is the treatment for
the statistic **atet**. The default is the second treatment level. You
may specify the numeric level *#* (a nonnegative integer) or the label
associated with the numeric level. **tlevel()** may only be specified
with statistic **atet**. **tlevel()** and **control()** may not specify the same
treatment level.

The following option is available with **teffects** **ipwra** but is not shown in
the dialog box:

**coeflegend**; see **[R] estimation options**.

__Examples__

---------------------------------------------------------------------------
Setup
**. webuse cattaneo2**

Estimate the average treatment effect of smoking on birthweight, using a
probit model to predict treatment status
**. teffects ipwra (bweight prenatal1 mmarried mage fbaby)** **(mbsmoke**
**mmarried c.mage##c.mage fbaby medu, probit)**

---------------------------------------------------------------------------
Setup
**. webuse cattaneo2**

Display the POMs and equations
**. teffects ipwra (bweight prenatal1 mmarried mage fbaby)** **(mbsmoke**
**mmarried c.mage##c.mage fbaby medu, probit),** **pomeans aequations**

Refit the above model, but use heteroskedastic probit to model the
treatment variable
**. teffects ipwra (bweight prenatal1 mmarried fbaby c.mage)** **(mbsmoke**
**mmarried c.mage##c.mage fbaby medu,** **hetprobit(c.mage##c.mage)),**
**aequations**

---------------------------------------------------------------------------

__Video example__

Treatment effects: Inverse-probability-weighted regression adjustment

__Stored results__

**teffects** **ipwra** stores the following in **e()**:

Scalars
**e(N)** number of observations
**e(n***j***)** number of observations for treatment level *j*
**e(N_clust)** number of clusters
**e(k_eq)** number of equations in **e(b)**
**e(k_levels)** number of levels in treatment variable
**e(treated)** level of treatment variable defined as treated
**e(control)** level of treatment variable defined as control
**e(converged)** **1** if converged, **0** otherwise

Macros
**e(cmd)** **teffects**
**e(cmdline)** command as typed
**e(depvar)** name of outcome variable
**e(tvar)** name of treatment variable
**e(subcmd)** **ipwra**
**e(tmodel)** **logit**, **probit**, or **hetprobit**
**e(omodel)** **linear**, **logit**, **probit**, **hetprobit**, **poisson**, **flogit**,
**fprobit**, or **fhetprobit**
**e(stat)** statistic estimated, **ate**, **atet**, or **pomeans**
**e(wtype)** weight type
**e(wexp)** weight expression
**e(title)** title in estimation output
**e(clustvar)** name of cluster variable
**e(tlevels)** levels of treatment variable
**e(vce)** *vcetype* specified in **vce()**
**e(vcetype)** title used to label Std. Err.
**e(properties)** **b V**
**e(estat_cmd)** program used to implement **estat**
**e(predict)** program used to implement **predict**
**e(marginsnotok)** predictions disallowed by **margins**
**e(asbalanced)** factor variables **fvset** as **asbalanced**
**e(asobserved)** factor variables **fvset** as **asobserved**

Matrices
**e(b)** coefficient vector
**e(V)** variance-covariance matrix of the estimators

Functions
**e(sample)** marks estimation sample