Uma introdução às variáveis instrumentais (parte 1)

A análise de regressão é, sem a menor sombra de dúvida, a principal e mais eficaz técnica estatística para aferir relações entre dois fenômenos. Posto de forma simples, o propósito da regressão é identificar uma relação funcional — do tipo y = f(x). Algo desse tipo assim: graph1 Em resumo, a reta preta que cruza os pontos no diagrama de dispersão é a regressão. Obviamente, a maioria dos pontos não recai sobre linha estimada. Na realidade, a regressão não faz com que y seja uma função de x, como costumamos ver em Matemática. O que está em função de x é a média de y. Ou seja, trata-se, grosso modo, de uma média móvel. Quando x=5, y tem média 27, e assim por diante… Em princípio, essa função pode ter qualquer formato: uma parábola, um seno, uma exponencial… Rplot02 O modelo mais utilizado é uma reta. Parece simplista supor que dois fenômenos no mundo se relacionam de forma linear… No entanto, o “modelo reta” é bastante flexível, capaz de comportar uma infinidade de outras formas funcionais. Para além disso, precisamos de justificativas muito convincentes para lançar mão de relações não lineares.

A noção de que a regressão representa uma média móvel é só o começo. Uma pretensão mais ampla é a de compreender o processo gerador de y (data generating function-machine-pictureprocess). A noção de processo gerador de dados está bastante conectada à de link causal — tratarei disso com mais detalhes. A pergunta subjacente é algo assim: “como esses valores que observamos da variável y foram produzidos?”. É como se, a partir de uma série “produtos”, desejássemos conhecer características da “formas” que lhes serviram de molde (a analogia com o platonismo não é casual).

O termo técnico, ao invés de “forma”, é parâmetro. No exemplo acima, para gerar um y, inserimos um x, multiplicamos por e adicionamos 2. Os parâmetros são esses valores, 5 e 2. Expressam a ação da função sobre o input, para produzir o output. Mas há um noise, um ruído… A dispersão dos pontos em torno da linha de regressão evidencia que há inúmeros fatores acontecendo simultaneamente e que ajudam a determinar onde cada ponto está localizado exatamente. Ou seja, há um erro em torno da função de X, que congrega tudo aquilo o que a função não consegue explicar sozinha.

Um exemplo: imaginemos um contexto em que a oferta de educação é universal, obrigatória a partir dos 6 anos de idade e não há constrangimentos socioeconômicos para o acesso (mantenhamos em suspenso outros tipos de desigualdade que estão associados à realização educacional). Grosso modo, os anos de estudo serão uma função da idade das crianças: y = -6 + 1*idade . Ou seja, uma criança com 9 anos completos teria, em média, 3 anos de escolaridade. Os parâmetros seriam -6 e 1. Certamente haveria crianças que iniciaram a educação em idades mais tenras e estariam mais adiantadas… outras poderiam ter começado um pouco depois… Algumas podem ter interrompido os estudos por motivos diversos (saúde, por exemplo…). Enfim, sempre haverá variação em torno da função — devido à conjunção de fatores diversos que incidem simultaneamente na produção de y. É impossível observar e dar conta de tudo ao mesmo tempo… Deste modo,  os erros são inescapáveis. O objetivo da regressão não é dar conta de todos os fatores, mas isolar, com precisão e validade, a influência de um determinado componente que é teoricamente assumido como importante.

Outro exemplo: desejamos saber os determinantes do salário de uma pessoa. Suponhamos uma sociedade justa, meritocrática, com um mercado com equilíbrio perfeito, e todos os indivíduos possuindo informações completas a respeito da distribuição das vagas e oportunidades de trabalho (é muita coisa pra supor, né!? Mas é de mentirinha…). Suponhamos ainda que os conhecimentos escolares capacitam os indivíduos para serem mais produtivos no trabalho (Educação certamente não é só isso… além do que, é difícil acreditar que a “Análise sintática” aprendida no Ensino Médio capacite alguém pra alguma coisa… mas continuemos com nossa suposição). Num contexto assim, um ano a mais de escolaridade traz mais produtividade, que, por sua vez, seria recompensada com mais salário nesse tal mercado justo. O salário seria uma função da educação. Sabendo os anos de estudo de alguém informaria, com alguma margem de erro, saberíamos também quanto um indivíduo ganha. Aplicando uma análise de regressão, conheceríamos os parâmetros.

Meus comentários irônicos que acompanham esse segundo exemplo mostram minha descrença no fato de que educação, de forma simples e direta, “cause” mais renda (estamos falando de causalidade, afinal). Na vida real, uma pessoa com um ano a mais de escolarização não possui apenas um ano a mais de escolarização: ela possivelmente teve condições socioeconômicas mais favoráveis pra continuar estudando, provavelmente não precisou trabalhar enquanto estava na escola e pode ser ainda que seus pais eram mais “estudados” e, além de valorizar a  educação como um bem em si mesma, puderam colocar o indivíduo em contato com diversos elementos culturais valorizados na escola (livros, filmes, museus, línguas estrangeiras etc.) No limite, pode ser ainda que um indivíduo mais escolarizado tem facilidades específicas para o aprendizado…

Assim, adicionar um ano de educação implica, na realidade, na provável adição de um conjunto de fatores subjacentes que também podem facilitar diretamente a obtenção de um bom emprego e melhores salários. A educação está correlacionada com fatores não observados que participam da função que produz os salários, do data generating process. Nos termos corretos, a educação está correlacionada com os erros. O que vimos até agora são dois dos pressupostos básicos da análise de regressão:

  1. Linearidade nos parâmetros: assumimos que o processo gerador dos dados observados da variável dependente (y), é uma função linear de x, do tipo: y = a + b*x. Ou seja, os parâmetros são utilizados em combinações lineares (soma ou multiplicação). Não haverá, por exemplo, x^b (x elevado a b).
  2. Exogeneidade: As variáveis explicativas (ou regressores) não podem estar, de forma alguma, associadas com os erros. Caso contrário, jamais teremos confiança ao dizer que o parâmetro estimado é um efeito de x (pode ser, ao contrário, um efeito de inúmeros processos subjacentes).

Existem outros pressupostos… mas vamos ficar com esses dois, por agora. Quando independência entre x (o regressor) e os erros, dizemos que essa variável explicativa é endógena. A razão teórica para o problema é essa ilustrada anteriormente: a impossibilidade de identificar o efeito específico de x sobre y (trata-se, pois, de um problema de identificação do parâmetro). A razão matemática é a seguinte: estamos dizendo que na “população” (i.e., no data generating process), a média de y é data por uma função de x — e que tudo mais é noise (conjunção de elementos causadores de y que não estão associados a x). Ou seja:

y_i = \beta_0 + \beta_1x_i + \epsilon_i

Em notação vetorial:

y_i = \vec{x_i}'\vec{\beta} + \epsilon_i

Sei que a notação vetorial pode complicar um pouco… Mas ela é necessária (e útil). Asseguro que o post continuará inteligível. Bem… seguindo os princípios básicos de matemática, se já temos os valores de x e y (eles foram observados, coletados e estão num banco de dados), basta “isolar” o beta, correto? O problema é que a equação contém epsilon também (os erros)… E a idéia fundamental é que desconhecemos o que está contido nesse termo. Em geral, os erros são “não observáveis” — são fatores e variáveis nem mesmo presentes no banco de dados, não coletados (e/ou impossíveis de coletar/mensurar).

Não dá pra fazer conta com um dado que não temos… Porém supomos que, o que quer que sejam os erros, eles não estão associado à x (teorias devem nos assegurar disso!!). Uma consequência dessa independência é a ausência de correlação/covariância entre x e epsilon. Isso implica que o valor esperado (a média) da multiplicação entre x e epsilon é zero:

E[\vec{x_i}\epsilon_i]=0

Essa é a informação fundamental!! É isso que permite anular os erros da equação que nos informa sobre o data generating process de y. A estratégia é a seguinte:

  1. Pré-multiplicamos todos os termos da equação por x. Com isso os erros também serão multiplicados por x.
  2. Aplicamos o operador esperança (em uma amostra, tiramos a média).

y_i=\vec{x_i}'\vec{\beta}+\epsilon_i
\vec{x_i}y_i=\vec{x_i}\vec{x_i}'\vec{\beta}+\vec{x_i}\epsilon_i
E[\vec{x_i}y_i]=E[\vec{x_i}\vec{x_i}']\vec{\beta}+E[\vec{x_i}\epsilon_i]
E[\vec{x_i}y_i]=E[\vec{x_i}\vec{x_i}']\vec{\beta}

O último termo é cancelado, pois é igual a zero. Agora torna-se possível isolar o vetor de coeficientes de regressão (os parâmetros), numa equação que não depende dos erros.

\vec{\beta}=E[\vec{x_i}\vec{x_i}']^{-1}E[\vec{x_i}y_i]

O operador esperança refere-se ao comportamento das informações na “população”. Numa amostra (aleatória), a contrapartida da esperança é a média aritmética:

\vec{\beta}=[\displaystyle\sum\limits_{i=0}^n \vec{x_i}\vec{x_i}]^{-1}[\displaystyle\sum\limits_{i=0}^n \vec{x_i}y_i]

Obtemos assim um estimator amostral dos parâmetros populacionais. A fórmula acima é um método para obter coeficientes de regressões lineares, o chamado Método dos Mínimos Quadrados Ordinários (MQO) ou, em inglês, Ordinary Least Squares (OLS).

E como vimos, para que esse método dê certo, precisamos de um meio de “cancelar” ou “anular” os erros da equação. Caso contrário, não é possível isolar os coeficientes. Se os regressores forem correlacionados com os erros e ainda assim aplicarmos uma regressão linear, os coeficientes que obtemos serão enviesados, isto é, não terão relação com os “verdadeiros” parâmetros da função geradora.

Vejamos um exemplo simulado no R. Crio 5000 observações e 3 variáveis (e,x,y). A primeira é representa os erros (i.e., tudo aquilo que contribui para gerar y, mas não é nossa variável de interesse). Segunda variável é x, que segue uma distribuição normal com média 10 e desvio padrão 2. Como são duas variáveis geradas de forma independente, não há correlação entre elas — é fácil verificar isso.

n=5000
e = rnorm(n,0,2)
x = rnorm(n,10,2)

Agora o ponto crucial: defino um processo que gera y. De forma arbitrária, digo que y é igual a uma constante (10) mais duas vezes a variável x e mais uma vez os erros. Em seguida, estimo uma regressão linear através do comando lm.

# Data generating process de y
y = 10 + 2*x + e

summary(reg = lm(y ~ x))

reg1

Como podemos observar, não é necessário utilizar os erros na fórmula de regressão. E as estimativas obtidas para os coeficientes são muito próximas dos parâmetros da função geradora que defini: 9,98 é muito próximo de 10 — e 1,999 é muito próximo de 2. E, além disso, utilizando dos erros-padrão, podemos verificar que os parâmetros estão contidos num intervalo de confiança ao redor das estimativas. A regressão linear funcionou bem, né?

Começando de novo, vou gerar agora 4 variáveis (e, z, x, y). “e” continua representando os erros e os fatores não observáveis. “z” é uma variável qualquer, que não estará correlacionada com “e”, mas entrará na composição de x. O processo gerador de x agora é mais complicadinho: mistura os erros, uma distribuição uniforme qualquer, a variável z e uma constante igual a 40. Isso simplesmente diz que x é um fenômeno qualquer causado por diversos componentes, dentre eles “e” e “z”:

n=5000
e = rnorm(n,0,2)
z = rnorm(n,5,2)
x = e + 2*runif(n,0,1) + z + 40

# Há correlação entre 'x' e 'e' na população
cor(x,e)

# Há correlação entre x e z
cor(x,z)

# Não há correlaçao entre z e 'e'
cor(z,e)

reg1O processo gerador de y continuará o mesmo:

# Data generating process de y
y = 10 + 2*x + e

Aplico então a mesma regressão linear de y sobre x. reg1 Agora x é uma variável endógena, correlacionada com os erros. Os coeficientes que obtemos não são próximos dos parâmetros da função geradora de y. -11,7 não se parece em nada com a constante 10. O coeficiente de x até parece próximo do valor utilizado, 2 — mas isso é mero acaso. E, se observarmos bem, o verdadeiro parâmetro não está dentro do intervalo de confiança da estimativa. Ou seja: há viés. Numa regressão com mais variáveis, se uma única variável é endógena, todos os coeficientes estimados (inclusive os das variáveis exógenas) podem se tornar enviesados. Ainda assim, a estatística R2 é elevada… Isso ilustra muito bem que esse teste não diz sobre qualidade geral do modelo, como se costuma pensar por aí. O que fazer numa situação como essa?

Ora… temos uma informação adicional: sabemos que, por construção, a variável “z” não está correlacionada com os erros. Ou seja:

E[\vec{z_i}\epsilon_i]=0

Se utilizarmos essa variável, podemos “cancelar” os erros e isolar os coeficientes de regressão. Usamos de uma estratégica análoga àquela mobilizada para obter o estimador OLS:

  1. Pré-multiplicamos todos os termos da equação por z. Com isso os erros também serão multiplicados por z.
  2. Aplicamos o operador esperança (em uma amostra, tiramos a média).

y_i=\vec{x_i}'\vec{\beta}+\epsilon_i
\vec{z_i}y_i=\vec{z_i}\vec{x_i}'\vec{\beta}+\vec{z_i}\epsilon_i
E[\vec{z_i}y_i]=E[\vec{z_i}\vec{x_i}']\vec{\beta}+E[\vec{z_i}\epsilon_i]
E[\vec{z_i}y_i]=E[\vec{z_i}\vec{x_i}']\vec{\beta}

Novamente, o último termo é cancelado e podemos isolar o vetor de coeficientes de regressão numa equação que não depende dos erros:

\vec{\beta}=E[\vec{z_i}\vec{x_i}']^{-1}E[\vec{z_i}y_i]

A formula que obtemos agora é muito parecida com a da OLS… Mas agora depende também de “z”. Chamamos essa expressão de Estimador de Variável Instrumental (Instrumental Variable Estimator) ou simplesmente IV.

\vec{\beta}=[\displaystyle\sum\limits_{i=0}^n \vec{z_i}\vec{x_i}]^{-1}[\displaystyle\sum\limits_{i=0}^n \vec{z_i}y_i]

“z” não é uma variável de controle. Não é mais uma variável explicativa na regressão… Observem abaixo que não haverá um coeficiente de regressão para z. É um artefato, um instrumento, utilizado apenas para “cancelar” os erros e permitir que os coeficientes de regressão possam ser isolados, sem viés. Ou seja, uma variável instrumental permite estimar os parâmetros da função geradora de y. Para estimar uma regressão com o estimador de IV, uso a função ivreg, do pacote AER:

require(AER)
summary(reg_iv <- ivreg(y ~ x | z))

Na função acima a barra reta “|” é apenas um sinalizador de que “z” é uma variável instrumental (não é simbolo de “dado que” nem de “ou”).

Agora obtemos resultados não enviesados, cujos intervalos de confiança contém os verdadeiros parâmetros:

reg1

Do ponto de vista técnico, há ainda muito o que dizer sobre variáveis instrumentais, mas está fora do escopo deste post. Vale ressaltar três coisas:

  1. Um instrumento é uma variável correlacionada com (e possivelmente causadora de) x, mas não correlacionada com os fatores não observáveis que contribuem para gerar y.
  2. Quando os erros estão correlacionados com pelos menos uma das variáveis explicativas, obtemos uma regressão endógena, com (todos os) coeficientes enviesados. Regressões endógenas servem muito bem para “prever” valores de y (o que os altos valores da estatística R2 revelam), mas auxiliam muito pouco na compreensão dos mecanismos geradores do fenômeno estudado.
  3. Precisamos de pelo menos uma variável instrumental para cada variável endógena.

Mas nesse exemplo simulado com o R, estava muito claro qual era o processo gerador de y, de que forma x se correlacionava com os erros e tínhamos a certeza que z era uma variável instrumental… Numa  pesquisa real, não é bem assim. As teorias é que nos dizem se x está correlacionado com fatores não observáveis. E são também as teorias que nos dão vislumbres para encontrar instrumentos… Ou seja, variáveis instrumentais não são um artifício matemático simulado e criado pelo pesquisador. São variáveis de verdade, informações contidas no banco de dados e que podem ser mobilizadas de modo criativo para “cancelar os erros”. De maneira simplificada costuma-se dizer que é algo que “causa x, mas não causa y”.

Seguindo suas teorias, os economistas assumem, por exemplo, que a educação dos pais não têm efeitos diretos sobre os salários dos filhos. Porém a educação dos pais é uma boa proxy do status socioeconômico da família, e filhos de famílias mais ricas tem maior realização educacional. Logo, a educação dos pais pode ser uma variável instrumental para isolar o efeito da educação sobre os salários (num trabalho clássico, David Card lançou mão dessa estratégia). A educação dos pais está correlacionada com a educação do indivíduo (x) e, a princípio, não está associada a nenhum fator (e) que seja causador direto do salário do indivíduo (y).

Qualquer sociólogo que estuda desigualdades e estratificação social discordaria desse enunciado de cara, partindo do fato de que as desigualdades sociais se reproduzem intergeracionalmente. Pais mais educados incutem aspirações ocupacionais estabelecem padrões de consumo, além de garantirem subsídios financeiros até que os filhos terminem os estudos ou encontrem um emprego. No limite, pais podem auxiliar os filhos a obter emprego — por meio de suas redes pessoais — ou até mesmo empregá-los. Enfim, os canais de influência direta do status socioeconômico da família sobre o destino ocupacional e salarial dos filhos são inúmeros… As teorias sociológicas de estratificação social jamais aceitariam que a escolaridade dos pais pode operar como variável instrumental para isolar o efeito da educação sobre os salários.

A busca de variáveis instrumentais é fundamentalmente uma atividade que envolve criatividade.

Num próximo post, volto a falar sobre isso — trazendo exemplos utilizados em pesquisas e abordando o assunto de forma mais conceitual.

Anúncios

5 respostas em “Uma introdução às variáveis instrumentais (parte 1)

  1. Mto legal! Aprendi bastante.

    Em vez de usar o ivreg, neste caso, daria pra fazer na raça:
    iv <- fitted(lm(x~z))
    summary(reg <- lm(y~iv))

    Parabéns!

  2. Legal! Aprendi muito.

    Em vez de usar ivreg, neste caso, daria pra fazer na raça tbm:
    iv <- fitted(lm(x~z))
    summary(reg <- lm(y~iv))

    Parabéns!
    abs

    • Olá Athos,

      Sim, dá pra usar uma regressão em dois estágios. Mas nesse caso, é preciso fazer correções nos erros-padrão. A segunda regressão não está levando em conta a incerteza embutida na previsão da primeira. Falei apenas do ivreg no post porque é a forma mais simples. Eu não queria deixar o post muito técnico…

      abraço,
      Rogério

  3. Pingback: Sociedade, caos e complexidade (ABM – Parte 5, final) | SOCIAIS & MÉTODOS

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s