← Lab

Modelos de Escolha Binária

LPM, Logit e Máxima Verossimilhança — Teoria e Aplicações

1. Fundamentos Estatísticos

1.1 Esperança Matemática

A esperança matemática (ou valor esperado) representa a média ponderada de todos os valores possíveis de uma variável aleatória, onde os pesos são as probabilidades.

Definição: Esperança para Variável Discreta
E(Y) = Σⱼ yⱼ · P(Y = yⱼ)

Para uma esperança condicional, calculamos o valor esperado dado que conhecemos o valor de outra variável:

Esperança Condicional
E(Y | X) = Σⱼ yⱼ · P(Y = yⱼ | X)

💡 Intuição

Pense na esperança como o "centro de gravidade" da distribuição. Se repetíssemos o experimento infinitas vezes, a média dos resultados convergiria para E(Y).

1.2 Variância Condicional

A variância mede a dispersão dos valores em torno da média. A variância condicional considera essa dispersão dado um valor de X.

Definição: Variância
Var(Y | X) = E[(Y - E(Y|X))² | X] = E(Y² | X) - [E(Y|X)]²

Uma fórmula útil quando E(Y|X) = 0:

Se E(u) = 0, então Var(u) = E(u²)

1.3 Distribuição de Bernoulli

Uma variável de Bernoulli assume apenas dois valores: 0 (fracasso) ou 1 (sucesso), com probabilidade p de sucesso.

Propriedades da Bernoulli
Y ∈ {0, 1}

P(Y = 1) = p     P(Y = 0) = 1 - p

E(Y) = p

Var(Y) = p(1 - p)

📝 Exemplo: Lançamento de Moeda

Se Y = 1 indica "cara" com p = 0.5:

  • E(Y) = 0.5
  • Var(Y) = 0.5 × 0.5 = 0.25

2. Modelo de Probabilidade Linear (LPM)

2.1 Estrutura do Modelo

O Modelo de Probabilidade Linear aplica regressão linear por MQO quando a variável dependente é binária (0 ou 1).

Modelo LPM
Yᵢ = β₀ + β₁Xᵢ + uᵢ

Onde:

2.2 Demonstração: E(Y|X) = P(Y=1|X)

Esta é uma das demonstrações mais importantes para entender o LPM. Provaremos que o valor esperado condicional de Y é igual à probabilidade de sucesso.

Ponto de Partida: Use a definição de esperança para variável discreta.
E(Y | X) = Σⱼ yⱼ · P(Y = yⱼ | X)
Valores Possíveis: Como Y é Bernoulli, só assume 0 ou 1.
E(Yᵢ | Xᵢ) = 0 · P(Yᵢ = 0 | Xᵢ) + 1 · P(Yᵢ = 1 | Xᵢ)
Simplificação: O termo multiplicado por zero desaparece.
E(Yᵢ | Xᵢ) = P(Yᵢ = 1 | Xᵢ) = Pᵢ

💡 Conclusão Fundamental

No LPM, a esperança condicional E(Y|X) é interpretada diretamente como a probabilidade de sucesso. Por isso, os coeficientes representam variações em pontos percentuais (p.p.) na probabilidade.

2.3 Heterocedasticidade no LPM

Um problema fundamental do LPM é que os erros são heterocedásticos por construção.

Dedução da Variância do Erro

O erro é definido como: uᵢ = Yᵢ - Pᵢ

Identificar valores possíveis de u²:
Se Y = u = u² = Probabilidade
1 1 - Pᵢ (1 - Pᵢ)² Pᵢ
0 0 - Pᵢ = -Pᵢ Pᵢ² 1 - Pᵢ
Calcular E(u²):
E(uᵢ²) = Pᵢ · (1-Pᵢ)² + (1-Pᵢ) · Pᵢ²
Fatorar Pᵢ(1-Pᵢ):
E(uᵢ²) = Pᵢ(1-Pᵢ)[(1-Pᵢ) + Pᵢ]

E(uᵢ²) = Pᵢ(1-Pᵢ) · [1]
Resultado Final:
Variância do Erro no LPM
Var(uᵢ | Xᵢ) = Pᵢ(1 - Pᵢ)

⚠️ Por que é Heterocedástico?

A variância depende de Pᵢ = β₀ + β₁Xᵢ, que varia com X. Como a variância não é constante, o erro é heterocedástico por construção.

Impacto nos Testes de Hipótese

2.4 Limitações e Correções

Problema: Probabilidades Fora de [0,1]

O LPM pode gerar previsões impossíveis:

📝 Exemplo Numérico

Considere: deny = -0.091 + 0.559(P/I) + 0.177(Afam)

Para um indivíduo branco (Afam=0) sem dívida (P/I=0):

P̂ = -0.091 + 0 + 0 = -0.091 = -9.1%

Problema: Uma probabilidade negativa é matematicamente impossível!

Correção por Mínimos Quadrados Ponderados (WLS)

Para corrigir a heterocedasticidade, usamos MQP dividindo toda a equação pelo desvio-padrão estimado:

Transformação WLS
σᵢ = √[P̂ᵢ(1-P̂ᵢ)]

Yᵢ/σᵢ = β₀/σᵢ + β₁(Xᵢ/σᵢ) + uᵢ/σᵢ

Após a transformação, o novo termo de erro tem variância constante (homocedástico).

3. Modelo Logit

3.1 Função Logística (Sigmoide)

O modelo Logit resolve o problema das probabilidades fora de [0,1] usando a função logística:

Função Logística
Pᵢ = 1 / (1 + e^(-Zᵢ))
onde Zᵢ = β₀ + β₁Xᵢ

💡 Propriedades da Sigmoide

  • Quando Z → +∞, então P → 1
  • Quando Z → -∞, então P → 0
  • Quando Z = 0, então P = 0.5
  • A função é sempre crescente
  • O resultado está sempre entre 0 e 1

3.2 Odds e Log-Odds

Derivação da Transformação Logit

Vamos demonstrar que o termo linear é igual ao logaritmo da razão de chances:

Ponto de partida: A função logística.
Pᵢ = 1 / (1 + e^(-Zᵢ))
Inverter a fração:
1 + e^(-Zᵢ) = 1/Pᵢ
Isolar a exponencial:
e^(-Zᵢ) = 1/Pᵢ - 1 = (1 - Pᵢ)/Pᵢ
Inverter ambos os lados:
e^(Zᵢ) = Pᵢ/(1 - Pᵢ)

O termo à direita é chamado de Odds (razão de chances).

Aplicar logaritmo natural:
Log-Odds (Logit)
ln[Pᵢ/(1 - Pᵢ)] = Zᵢ = β₀ + β₁Xᵢ
Definições Importantes
Odds: Pᵢ/(1 - Pᵢ) = razão sucesso/fracasso

Log-Odds (Logit): ln[Pᵢ/(1 - Pᵢ)] = termo linear

3.3 Interpretação dos Coeficientes

⚠️ Erro Comum de Interpretação

No Logit, os coeficientes NÃO representam variação direta na probabilidade!

Eles representam variação no log-odds.

Interpretação Correta via Odds Ratio

Se β₁ = 1.27, então:

e^(β₁) = e^(1.27) ≈ 3.56

Isso significa que um aumento de 1 unidade em X multiplica a odds por 3.56.

📝 Exemplo: Crédito e Raça

Modelo: L̂ = -4.13 + 5.37(P/I) + 1.27(Afam)

Interpretação ERRADA: "Ser afro-americano aumenta a probabilidade de negação em 127%"

Interpretação CORRETA: Como e^(1.27) ≈ 3.5, a chance (odds) de um afro-americano ter crédito negado é aproximadamente 3,5 vezes maior que a de um branco com mesmas condições financeiras.

4. Efeitos Marginais

4.1 Regra da Cadeia

Para calcular o efeito marginal no Logit, precisamos da regra da cadeia do cálculo diferencial:

Regra da Cadeia
Se y = f(g(x)), então:

dy/dx = (df/dg) · (dg/dx)

No contexto do Logit:

∂P/∂Xₖ = (dP/dZ) · (∂Z/∂Xₖ)

4.2 Derivação no Logit

Calcular ∂Z/∂Xₖ:
∂Z/∂Xₖ = βₖ
Derivar a Sigmoide P(Z) = (1 + e^(-Z))^(-1):
dP/dZ = -1 · (1+e^(-Z))^(-2) · (e^(-Z)) · (-1)

dP/dZ = e^(-Z) / (1+e^(-Z))²
Simplificar algebricamente:
dP/dZ = [1/(1+e^(-Z))] · [e^(-Z)/(1+e^(-Z))]

dP/dZ = P · (1 - P)

Note que e^(-Z)/(1+e^(-Z)) = 1 - P

Resultado Final:
Efeito Marginal no Logit
∂Pᵢ/∂Xₖ = βₖ · Pᵢ · (1 - Pᵢ)

4.3 Interpretação Gráfica

O termo P(1-P) determina a sensibilidade do modelo em diferentes pontos da probabilidade.

P P(1-P) Sensibilidade
0.10 0.09 Baixa
0.30 0.21 Média
0.50 0.25 (máximo) Máxima
0.70 0.21 Média
0.90 0.09 Baixa

💡 Insight Importante

O efeito marginal é máximo quando P = 0.5 e diminui nos extremos. Isso significa que o Logit é mais sensível a mudanças em X quando a probabilidade está no meio da distribuição, e menos sensível nos extremos (perto de 0 ou 1).

📝 Exemplo Comparativo

Dado β(P/I) = 5.37:

  • Indivíduo A (P = 0.50): Efeito = 5.37 × 0.50 × 0.50 = 1.34
  • Indivíduo B (P = 0.90): Efeito = 5.37 × 0.90 × 0.10 = 0.48

O impacto de um aumento na dívida é 2.8 vezes maior para quem está na faixa média de probabilidade!

5. Estimação por Máxima Verossimilhança

5.1 Função de Verossimilhança

A Máxima Verossimilhança (MLE) busca os parâmetros que maximizam a probabilidade de observar os dados que temos.

Para uma observação individual com Y ∈ {0,1}:

Probabilidade de uma observação
P(Yᵢ) = Pᵢ^(Yᵢ) · (1-Pᵢ)^(1-Yᵢ)

Verificação:

A função de verossimilhança é o produto das probabilidades individuais (assumindo independência):

Função de Verossimilhança
L(β) = ∏ᵢ Pᵢ^(Yᵢ) · (1-Pᵢ)^(1-Yᵢ)

5.2 Log-Verossimilhança

Por conveniência matemática, trabalhamos com o logaritmo (transforma produtos em somas):

Log-Verossimilhança
ln L = Σᵢ [Yᵢ ln(Pᵢ) + (1-Yᵢ) ln(1-Pᵢ)]

Simplificação Usando Propriedades do Logit

Sabemos que no Logit:

Substituindo:

ln L = Σᵢ [Yᵢ(Xᵢβ) - ln(1 + e^(Xᵢβ))]

5.3 Condições de Primeira Ordem

Para encontrar o máximo, derivamos em relação a β e igualamos a zero.

Derivar a Log-Verossimilhança (Score):
∂ln L/∂β = Σᵢ [YᵢXᵢ - (1/(1+e^(Xᵢβ))) · e^(Xᵢβ) · Xᵢ]
Reconhecer que e^(Xᵢβ)/(1+e^(Xᵢβ)) = Pᵢ:
∂ln L/∂β = Σᵢ [YᵢXᵢ - PᵢXᵢ]
Fatorar Xᵢ:
∂ln L/∂β = Σᵢ (Yᵢ - Pᵢ)Xᵢ
Igualar a zero para maximizar:
Condição de Primeira Ordem (CPO) do MLE-Logit
Σᵢ (Yᵢ - Pᵢ)Xᵢ = 0

💡 Interpretação da CPO

A condição Σ(Yᵢ - Pᵢ)Xᵢ = 0 diz que os resíduos (Yᵢ - Pᵢ) devem ser ortogonais às variáveis explicativas Xᵢ. Isso é análogo à condição de MQO, onde Σ(Yᵢ - Ŷᵢ)Xᵢ = 0.

⚠️ Não Existe Solução Fechada

A equação Σ(Yᵢ - Pᵢ)Xᵢ = 0 é não-linear em β (pois Pᵢ depende de β de forma não-linear). Por isso, o MLE do Logit requer métodos numéricos iterativos (Newton-Raphson, por exemplo).

6. Implementação em R

6.1 Manipulação de Dados

Conversão de Fatores para Binário

No R, variáveis categóricas (fatores) são armazenadas internamente como inteiros 1, 2, 3, etc. Para o LPM funcionar, precisamos de 0 e 1.

# Problema: 'deny' é um fator com níveis "no" e "yes" # Internamente armazenado como 1 e 2 # Solução: converter para numérico e subtrair 1 HMDA$deny <- as.numeric(HMDA$deny) - 1 # Agora deny é 0 (negação = não) ou 1 (negação = sim)

⚠️ Por que subtrair 1?

Sem a subtração, o modelo preveria valores em torno de 1.5 (média de 1 e 2), em vez de probabilidades entre 0 e 1. A interpretação como probabilidade exige que Y seja 0 ou 1.

6.2 Erros-Padrão Robustos

Comparação de Abordagens

# Abordagem 1: MQO padrão (INCORRETO para LPM) modelo <- lm(deny ~ pirat, data = HMDA) summary(modelo) # Assume homocedasticidade - erros-padrão INCORRETOS # Abordagem 2: Com erros robustos (CORRETO) library(sandwich) library(lmtest) coeftest(modelo, vcov. = vcovHC) # Usa matriz de covariância robusta - erros-padrão CORRETOS
Aspecto lm() padrão coeftest() com vcovHC
Coeficientes Corretos Corretos
Erros-padrão Incorretos Corretos
Estatística t Inválida Válida
p-valores Não confiáveis Confiáveis
Pressuposto Homocedasticidade Permite heterocedasticidade

💡 vcovHC - O que faz?

A função vcovHC (Heteroskedasticity-Consistent) calcula uma matriz de covariância que é consistente mesmo sob heterocedasticidade. Ela usa os resíduos ao quadrado de cada observação para estimar a variância individual, em vez de assumir variância constante.

Código Completo para Análise

# Carregar pacotes necessários library(AER) # Dados HMDA library(sandwich) # vcovHC library(lmtest) # coeftest # Carregar dados data("HMDA") # Converter variável dependente HMDA$deny <- as.numeric(HMDA$deny) - 1 # Estimar LPM lpm <- lm(deny ~ pirat + afam, data = HMDA) # Resultados com erros robustos coeftest(lpm, vcov. = vcovHC(lpm, type = "HC1")) # Estimar Logit logit <- glm(deny ~ pirat + afam, data = HMDA, family = binomial(link = "logit")) summary(logit) # Calcular Odds Ratios exp(coef(logit))

📋 Resumo das Fórmulas Essenciais

Esperança = Probabilidade (LPM)
E(Yᵢ | Xᵢ) = P(Yᵢ = 1 | Xᵢ)
Variância do Erro (LPM)
Var(uᵢ | Xᵢ) = Pᵢ(1 - Pᵢ)
Função Logística
Pᵢ = 1 / (1 + e^(-Zᵢ))
Log-Odds (Logit)
ln[Pᵢ/(1-Pᵢ)] = β₀ + β₁Xᵢ
Efeito Marginal (Logit)
∂Pᵢ/∂Xₖ = βₖ · Pᵢ · (1 - Pᵢ)
CPO do MLE-Logit
Σᵢ (Yᵢ - Pᵢ)Xᵢ = 0
Transformação WLS
Dividir toda equação por σᵢ = √[P̂ᵢ(1-P̂ᵢ)]