Rerandomização e ajuste de regressão
Instituto de Matemática, Estatística e Computação Científica (IMECC),
Universidade Estadual de Campinas (UNICAMP).
Planejamento | Análise | |
---|---|---|
Covariável Discreta | Estratificação | Pós-estratificação |
Covariável Geral | Rerandomizar | Ajuste de regressão |
Sob CRE, a diferença de médias das covariáveis, \[\hat{\tau}_X = n_1^{-1} \displaystyle \sum_{i = 1}^n Z_i X_i - n_0^{-1}\sum_{i = 1}^n (1- Z_i) X_i,\] tem \(\mathbb{E}(\hat{\tau}_X) = 0\) e \(\mathbb{V}(\hat{\tau}_X) = \dfrac{n}{n_1 n_0}S^2_X\), em que \(S^2_X = (n - 1)^{-1} \displaystyle \sum_{i = 1}^nX_i X_i'.\)
Uma forma de avaliar a diferença entre os grupos de tratamento e controle é através da distância de Mahalanobis:
\[M = \hat{\tau}_X' \Big (\underbrace{\dfrac{n}{n_1n_0}S^2_X}_{\mathbb{V}(\hat{\tau}_X)} \Big )^{-1}\hat{\tau}_X.\]
Lema
\(M\) permanece o mesmo se transformamos \(X_i\) em \(b_0 + B X_i\) para todas as unidades \(i = 1, \cdots, n\), em que \(b_0 \in \mathbb{R}^K\) e \(B \in \mathbb{R}^{K \times K}.\)
Sob CRE e para valores grandes de \(n\), \(M \sim \chi^2_K.\) Assim, \(M\) pode ter valores realizados grandes, afinal, \(M\) tem média \(K\) e variância \(2K\).
Definição (ReM): Rerandomizaçao utilizando a distância de Mahalanobis (\(M\))
Selecione \(\textbf{Z}\) de um CRE e aceite este sss \[M \leq a,\] para algum valor predeterminado de \(a > 0.\)
Como escolher a?
Uma prática comúm é escolher \(a\) pequeno ou utilizar algum quantil da \(\chi^2_K\).
Percent Reduction in Variance (PRIV)
\[PRIV = 100 \times \Big (\dfrac{\mathbb{V}(\hat{\tau}_X) - \mathbb{V}_a(\hat{\tau}_X)}{\mathbb{V}(\hat{\tau}_X)} \Big) = 100 \times \Big ( 1 - \dfrac{P(\chi_{k+2}^2 \leq a)}{P(\chi_{k}^2 \leq a)} \Big)\]
Note que, o número de rerandomizações até o primeiro aceitável é \(1/p_a\). Dependendo do tempo computacional necessário (o que tem testes de permutação é um fator importante), o 5% adicional na redução da variância pode ou não valer a pena.
Como analisar dados sob ReM?
Notação
Seja \(L_{K,a} \sim D_1 | \textbf{D}'\textbf{D} \leq a,\) em que \(\textbf{D} = (D_1, \cdots, D_K) \sim N_K(0, I)\) e seja \(\varepsilon \sim N(0,1)\), então \(L_{K, a}\) e \(\varepsilon\) são independentes
Teorema
Sob ReM com \(M \leq a\), quando \(n \rightarrow \infty\) e se as condições (1)–(3) acontecem, então \[\hat{\tau} - \tau \sim \sqrt{\mathbb{V}(\hat{\tau})} \Big \{\sqrt{R^2}L_{K,a} + \sqrt{1 - R^2}\varepsilon \Big \},\] em que \(\mathbb{V}(\hat{\tau}) = \dfrac{S^2(1)}{n_1} + \dfrac{S^2(0)}{n_0} - \dfrac{S^2(\tau)}{n}\) e \(R^2 = \mathbb{C}or^2(\hat{\tau}, \hat{\tau}_X)\) (sob CRE).
\[R^2 = \mathbb{C}or(\hat{\tau}, \hat{\tau}_X) = \dfrac{n_1^{-1}S^2(1|X) + n_0^{-1}S^2(0|X) - n^{-1}S^2(\tau | X)}{_1^{-1}S^2(1) + n_0^{-1}S^2(0) - n^{-1}S^2(\tau)},\] em que \(S^2(1)\), \(S^2(0)\), \(S^2(\tau)\) são as variâncias de \(\{Y_i(1)\}_{i = 1}^n\), \(\{Y_i(0)\}_{i = 1}^n\), \(\{\tau_i\}_{i = 1}^n\) e \(S^2(1|X)\), \(S^2(0|X)\), \(S^2(\tau|X)\) são as variâncias das suas projeções em \((1, X)\).
Quando \(0<a<\infty\), a distribuição de \(\hat{\tau}\) é bem mais complexa mas é mais concentrada em \(\tau\). Assim, \(\hat{\tau}\) é mais preciso sob ReM do que sob CRE.
Observação: Se ignorarmos o ReM e ainda utilizarmos o intervalo de confiança baseado na fórmula de variância de Neyman (1923) e na aproximação Normal, este será excessivamente conservador.
Obviamente não somos Marty McFly e não podemos voltar no tempo para utilizar rerandomização. Contudo, não todo está perdido e é aqui que ajuste de regressão entra no jogo.
As covariáveis \(\textbf{X}\) são todas fixas e, sob \(H_{0F}\), os resultados observados também são fixos. Assim, podemos simular a distribuição de qualquer test \(T = T(\textbf{Y}, \textbf{Z}, \textbf{X})\) e calcular p-valores. A ideia central do FRT continua a mesma na presença de covariáveis.
Existem duas estratégias gerais para construir a estatística de teste, as quais são apresentadas a seguir:
Definição: estratégia de pseudo-resultado
Podemos construir a estatística de teste baseados nos residuos (\(\hat{\varepsilon}\)) do modelo ajustado (considerando \(\textbf{Y}\) como variável dependente e \(\textbf{X}\) como independentes) e utilizar os resíduos como o pseudo-resultado para construir o teste.
Definição: estratégia da “saida” do modelo (model-output)
Podemos ajustar o modelo (considerando \(\textbf{Y}\) como variável dependente e \(\textbf{X}\) e \(\textbf{Z}\) como independentes) para obter o coeficiente de \(\textbf{Z}\) e utilizá-lo como estatística de teste.
Na primeira estratégia, precisamos rodar o modelo de regressão apenas uma vez. Já na segunda estratégia precisamos rodar o modelo várias vezes.
Observação: Um dos modelos ajustados mais utilizado é regressão linear (por MQO), mas nada impede que outras abordagens tais como regressão logística ou mesmo modelos de machine learning sejam utilizados.
E se não quisermos testar \(H_{0F}\) mas \(H_{0N}\)?
Os seguintes métodos focam na estimação do efeito médio causal, \(\tau\).
Freedman
David Freedman (2008) reanalisou ANCOVA sob o olhar dos resultados potenciais e encontrou o seguinte:
Lin
Winston Lin na sua tese de doutorado (2013), respondeu a algumas das críticas do Freedman e encontrou o seguinte:
Pode ser o caso de termos um SRE, estratificado numa variável discreta \(C\) e também termos outras covariáveis \(X\). Se todos os estratos são grandes, podemos obter um estimador de Lin como \[\hat{\tau}_{L,S} = \displaystyle \sum_{k = 1}^K \pi_{[k]} \hat{\tau}_{L,[k]},\] e um estimador (conservador) de \(\mathbb{V}(\hat{\tau}_{L,S})\) dado por \[\hat{V}_{L,S} = \displaystyle \sum_{k = 1}^K \pi_{[k]}^2 \hat{V}_{EHW, [k]}\]
[Angrist et al. (2009)]
control
) e no tratamento que consiste em serviços de apoio acadêmico e incentivos financeiros (sfsp
).GPA_year1
).gender
) e nota do vestibular (gpa0
)[Angrist et al. (2009)]
library(foreign)
library(dplyr)
library(car)
dados <- read.dta("datasets/star.dta")
dados <- dados |>
filter(control == 1 | sfsp == 1) |>
mutate(GPA_year1 = ifelse(is.na(GPA_year1), mean(GPA_year1, na.rm = TRUE), GPA_year1)) |>
select(GPA_year1, sfsp, female, gpa0)
y <- dados$GPA_year1
z <- dados$sfsp
x <- dados[, c("female", "gpa0")]
# Unadjusted estimator (Neyman)
modelo_unadj <- lm(y ~ z)
tau_unadj <- coef(modelo_unadj)[2]
se_unadj <- sqrt(hccm(modelo_unadj, type = "hc2")[2, 2])
c(tau_unadj, se_unadj)
z
0.05182942 0.07753077
library(ggplot2)
x2 <- cbind(x, x[, 2]^2)
dados_sim <- data.frame(y = y, z = z, x2 = x2)
y1lm <- lm(y ~ x2, weights = z, data = dados_sim)
sigma1 <- summary(y1lm)$sigma
y0lm <- lm(y ~ x2, weights = 1 - z, data = dados_sim)
sigma0 <- summary(y0lm)$sigma
a <- 0.05
mc <- 2000
n1 <- sum(z)
n0 <- sum(1 - z)
n <- n1 + n0
rescale <- 0.2
y1_sim <- predict(y1lm, data = dados_sim) + rnorm(n)*sigma1*rescale
y0_sim <- predict(y0lm, data = dados_sim) + rnorm(n)*sigma0*rescale
tau <- mean(y1_sim - y0_sim)
tau_hat_cre <- rep(0, mc)
tau_hat_lim <- rep(0, mc)
tau_hat_rem <- rep(0, mc)
tau_hat_rem_lim <- rep(0, mc)
for (i in 1:mc) {
## CRE
z_cre <- sample(z)
y_cre <- z_cre * y1_sim + (1 - z_cre) * y0_sim
tau_hat_cre[i] <- mean(y_cre[z_cre == 1]) - mean(y_cre[z_cre == 0])
## Regression Adjustement (Lim)
tau_hat_lim[i] <- lm(y_cre ~ z_cre * x)$coef[2]
## ReM
z_rem <- rem(x, n1, n0, a)
y_rem <- z_rem * y1_sim + (1 - z_rem) * y0_sim
tau_hat_rem[i] <- mean(y_rem[z_rem == 1]) - mean(y_rem[z_rem == 0])
tau_hat_rem_lim[i] = lm(y_rem ~ z_rem * x)$coef[2]
}
Observação:
No experimento de simulação temos, além dos métodos vistos na aula de hoje, utilizado o estimador de Lim num contexto de rerandomização. De fato, Li e Ding (2020), mostram que é possível fazer isto e que, em geral, está combinação melhora o equilibrio da covariável tanto na parte do desenho amostral quando na parte de análise, dando uma maior eficiencia.
Importante
Li et al. (2018) mostram quem, quando \(a\) é pequeno, a distribuição assintótica de \(\hat{\tau}\) sob ReM e a distribuição assintócica de \(\hat{\tau}_L\) sob CRE são quase idênticas.
Carlos Trucíos (IMECC/UNICAMP) | ME920/MI628 - Inferência Causal | ctruciosm.github.io