Para la UAT, el peso de las $y_i$ sería
$$
w_i = \begin{cases}
\frac{1 - \hat p(x_i)}{\hat p(x_i)} & \text{if}\ d_i=1 \\
1 & \text{if}\ d_i=0,
\end{casos}
$$
donde $d_i$ es el binario de tratamiento indicador.
Para ATT/ATET, los pesos son
$$
w_i = \begin{cases}
1 & \text{if}\ d_i=1 \\
\frac{\hat p(x_i)}{1-\hat p(x_i)} & \text{if}\ d_i=0
\end{casos}
$$
Para COMER, los pesos son
$$
w_i = \begin{cases}
\frac{1}{\hat p(x_i)} & \text{if}\ d_i=1 \\
\frac{1}{1-\hat p(x_i)} & \text{if}\ d_i=0
\end{casos}
$$
Usted puede encontrar estas fórmulas derivadas en las páginas 67-69 de Micro-Econometría para la Política, el Programa y los Efectos del Tratamiento por Myoung-jae Lee, excepto que se me rompió en dos pedazos aquí.
He aquí cómo yo podría hacer esto en Stata, con los comandos nativos cuando sea posible, y también de la mano con una regresión ponderada de los resultados en un archivo binario tratamiento ficticio:
cls
set more off
webuse cattaneo2, clear
/* (0) Get the phats */
qui probit mbsmoke mmarried c.mage##c.mage fbaby medu
predict double phat, pr
/* (1a) ATE */
teffects ipw (bweight) (mbsmoke mmarried c.mage##c.mage fbaby medu, probit), ate
/* (1b) ATE By Hand */
gen double ate_w =cond(mbsmoke==1,1/phat,1/(1-phat))
reg bweight i.mbsmoke [pw=ate_w], vce(robust)
/* (2a) ATT */
teffects ipw (bweight) (mbsmoke mmarried c.mage##c.mage fbaby medu, probit), atet
/* (2b) ATT by Hand */
gen double att_w =cond(mbsmoke==1,1,phat/(1-phat))
reg bweight i.mbsmoke [pw=att_w], vce(robust)
/* (3) ATU by Hand Only */
gen double atu_w =cond(mbsmoke==1,(1-phat)/phat,1)
reg bweight i.mbsmoke [pw=atu_w], vce(robust)
Esto le da a los siguientes tres efectos del tabaquismo materno sobre el recién nacido de peso:
- ATU = -231.8782 gramos
- ATT = -225.1773 gramos
- ATE = -230.6886 gramos