Anatomia de regressão intrigante | R-bloggers

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

[ad_1]

Considere um modelo de regressão com a seguinte estrutura causal:



A variável x1 afeta y direta e indiretamente via x2. O código R a seguir implementa o modelo e simula um conjunto de dados correspondente.

set.seed(1)
n = 10000
beta1 = 1; beta2=1
x1 = rnorm(n,,1)
x2 = x1+rnorm(n,,1)
y = beta1*x1 + beta2*x2 + rnorm(n,,1)

Suponha que desejemos estimar consistentemente o efeito linear direto beta1 de x1 em y. Para fazer isso, podemos simplesmente estimar uma regressão linear múltipla, onde adicionamos x2 como uma variável de controle:

## (Intercept)          x1          x2 
## 0.007553765 0.998331323 1.000934100

Mas o que significa intuitivamente adicionar x2 como variável de controle? O teorema de Frisch-Waugh-Lovell implica que obtemos o mesmo estimador para beta1 como na regressão múltipla acima, pelo seguinte procedimento:

# y.tilde is residual of regression 
# y on x2
y.tilde = resid(lm(y~x2))

# x1.tilde is residual of regression 
# x1 on x2
x1.tilde = resid(lm(x1~x2))

# Regression y.tilde on x1.tilde
# we get the same estimate for beta1
# as in the multiple regression with x1 and x2
coef(lm(y.tilde ~ x1.tilde))
##   (Intercept)      x1.tilde 
## -5.104062e-17  9.983313e-01

Portanto, controlar x2 significa que regredimos essencialmente as variações residuais de y e x1 que não pode ser explicado linearmente por x2 um no outro. Até agora, isso parece intuitivo.

O interessante é que se obtém a mesma estimativa para beta1 Também com 1 das duas regressões a seguir abaixo (mas somente a regressão acima também gera erros padrão corretos):

# Approach A
lm(y.tilde ~ x1)
# Approach B
lm(y ~ x1.tilde)

A abordagem A regride a variação residual de y que não pode ser previsto linearmente por x2 em x1. A abordagem B regride y na variação residual de x1 que não pode ser previsto linearmente por x2.

Apenas uma abordagem produz uma estimativa consistente de beta1. Adivinhe qual deles…

Leia Também  Encontrando o caminho mais curto com o algoritmo de Dijkstra

Vamos checar:

# A: Inconsistent
coef(lm(y.tilde ~ x1))[2]
# B: Consistent
coef(lm(y ~ x1.tilde))[2]

Portanto, apenas a abordagem B funciona. Angrist e Pischke (2009) se referem a ele como anatomia de regressão. Para mim, esse resultado foi um pouco intrigante por muito tempo, porque minha interpretação intuitiva do que significa controlar x2 estava mais de acordo com a abordagem A. Primeiro, quero esclarecer essa intuição e explicar por que a abordagem A não funciona. Depois, quero dar alguma intuição para a abordagem de trabalho B.

Uma intuição para variáveis ​​de controle e por que a abordagem A falha

Eu tenho intuições diferentes para o que controlar x2 significa na regressão linear:

y = beta0 + beta1*x1 + beta2*x2 + eps

Uma das minhas intuições é a seguinte:

“Controlando por x2, subtraímos essencialmente a variação que pode ser explicada linearmente por x2 de y, ou seja, até um erro de estimativa, subtraímos beta2*x2. ”

Essa interpretação sugere que a abordagem A deve funcionar, mas essa abordagem não obtém uma estimativa consistente para beta1. Então a intuição acima está errada? Não completamente, mas a qualificação “até um erro de estimativa” causa problemas para a abordagem A. Considere o código a seguir.

# Modified approach A
y.tilde2 = y - beta2*x2
coef(lm(y.tilde2 ~x1))[2]

É uma versão modificada da abordagem A. Ele calcula a variação residual y.tilde2 subtraindo diretamente beta2*x2 de y. Agora temos um estimador consistente de beta1 ao regredir y.tilde2 em x1.

Mas a abordagem A difere porque subtraímos beta2.hat*x2 de y Onde beta2.hat é estimado na regressão do primeiro estágio:

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
# Same result as original approach A
beta2.hat = coef(lm(y~x2))[2]
beta2.hat # inconsistent estimate of beta2
y.tilde = y-beta2.hat*x2
coef(lm(y.tilde ~x1))[2] # inconsistent estimate of beta1

O problema com a abordagem A é que não estimamos beta2.hat consistentemente na regressão de y em x2. Em vez disso, desde x1 e x2 estão correlacionados, beta2.hat também captura alguns dos efeitos diretos de x1 em y. Isso significa em y.tilde já removemos parte do efeito de x1 em y que queremos estimar. Portanto, a abordagem A produz um estimador para beta1 isso é tendencioso para 0.

Leia Também  Liberada a versão 0.9.1 do NIMBLE

Observação: No cálculo original da abordagem A, também subtraímos a constante estimada da regressão inicial ao calcular y.tilde, mas isso não afeta o coeficiente de inclinação na regressão do segundo estágio.

Curiosamente, em alguns artigos empíricos, é realizada uma abordagem semelhante à abordagem A, ou seja, primeiro calculamos os resíduos de y a partir de uma primeira regressão e depois regride esses resíduos em outro conjunto de variáveis ​​explicativas. Mas o cálculo acima mostra que é preciso ter muito cuidado com essa abordagem, pois ela só funciona se a primeira regressão produzir estimativas consistentes.

Vamos considerar um exemplo em que essa abordagem funcionaria. Considere o seguinte modelo modificado:



Agora temos uma variável adicional z isso afeta x2 mas não está correlacionado com x1.

z = rnorm(n,,1)
x2 = x1+z+rnorm(n,,1)
y = beta1*x1 + beta2*x2 + rnorm(n,,1)

Agora conduzimos uma variação da abordagem A, onde y.tilde3 são os resíduos de uma regressão variável instrumental de y em x2 usando z como instrumento:

library(AER)
reg1 = ivreg(y~x2|z)
coef(reg1)[2] # consistent beta2.hat
y.tilde3 = resid(reg1)
coef(lm(y.tilde3 ~ x1))[2] # consistent beta1.hat

Agora vemos que a regressão y.tilde3 em x1 produz um estimador consistente de beta1.

Por que a abordagem B funciona

Vamos agora discutir por que a abordagem B funciona. Dada a nossa estrutura causal, acho mais intuitivo discutir primeiro por que uma abordagem semelhante funciona para estimar consistentemente beta2.

# x2.tilde is residual from regression
# of x2 on x1
x2.tilde = resid(lm(x2~x1))
# consistent estimate of beta2
coef(lm(y ~ x2.tilde))[2]

Aqui eu tenho a seguinte intuição por que funciona. Intuitivamente, para estimar consistentemente o efeito causal da x2 em y precisamos destilar variação de x2 que não está correlacionado com x1. Se regredimos x2 em x1, os resíduos x2.tilde desta regressão são por construção não correlacionada com x1. Eles descrevem a variação de x2 que não pode ser previsto linearmente por x1. Essa é exatamente a variação de x2 necessário estimar consistentemente beta2.

O procedimento equivalente também trabalha para estimar beta1 consistentemente:

x1.tilde = resid(lm(x1~x2))
coef(lm(y ~ x1.tilde))[2] # consistent

Então, mesmo que x2 não influencia x1 podemos igualmente destilar em x1.tilde a variação relevante em x1 que não está correlacionado com x2. Para a anatomia da regressão, é irrelevante qual direção causal gerou a correlação entre x1 e x2.

Acho incrível que, ao longo de muitos anos, ainda aprenda novas intuições para conceitos econométricos básicos, como a regressão linear múltipla. Atualmente, acho que a introdução de regressão múltipla via teorema de Frisch-Waugh-Lovell e a anatomia da regressão pode ser muito mais útil para construir intuição em um curso empírico aplicado do que cobrir a álgebra matricial. (É claro que é uma história diferente se você quiser provar teoremas econométricos.) Para um exemplo de um curso, você pode conferir o material on-line aberto (vídeos, questionários, exercícios interativos R) do meu curso Análise de Mercado com Econometria e aprendizado de máquina.

Leia Também  ELIZA Chatbot em R: Construa um psiquiatra

Referências

Angrist, Joshua D. e Jörn-Steffen Pischke. 2009. Econometria na maior parte inofensiva: companheiro de um empirista.



[ad_2]

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br