Escolar Documentos
Profissional Documentos
Cultura Documentos
Laboratório de Econometria I
Gilberto Boaretto
Departamento de Economia
PUC-Rio
Conteúdo
Introdução
2 / 21
Modelo de probabilidade linear (PML)
▶ Sob a hipótese de média condicional zero, E (U | X1 , X2 , . . . , Xk ) = 0,
sabemos que
E (Y | X1 , X2 , . . . , Xk ) = β0 + β1 X1 + · · · + βk Xk = Xβ, (1)
E (Y | X) = 0 × P (Y = 0 | X) + 1 × P (Y = 1 | X)
E (Y | X) = P (Y = 1 | X) (2)
P (Y = 1 | X) = β0 + β1 X1 + · · · + βk Xk = Xβ, (3)
∆P (Y = 1 | X) = βj ∆Xj
▶ Na equação estimada,
b (Y = 1 | X) = βb0 + βb1 X1 + · · · + βbk Xk = X β,
P b
4 / 21
MPL – Caracterı́sticas
▶ Principal vantagem: simples de estimar e interpretar.
ou seja, depende de X.
• Erros-padrão e estatı́sticas convencionais não são válidas.
P (Y = 1 | X) = G (β0 + β1 X1 + · · · + βk Xk ) = G (Xβ) ,
em que 0 ⩽ G(·) ⩽ 1.
0 ⩽ P (Y = 1 | X) ⩽ 1.
1. função logı́stica;
2. c.d.f. da normal.
6 / 21
Modelos logit e probit
exp (Xβ)
G(Xβ) = Λ(Xβ) = .
1 + exp (Xβ)
7 / 21
Modelos logit e probit
▶ Ambas as funções G(z) acima são crescentes no argumento z.
▶ Essas funções crescem mais rapidamente quando z = 0.
8 / 21
A “economia” por trás desses modelos
▶ Para entendermos melhor, vamos considerar o modelo de variável
latente: suponha que Y ∗ seja uma variável não observada tal que
Y ∗ = Xβ + U, Y = I (Y ∗ > 0)
10 / 21
Estimação dos modelos logit e probit
• A solução é numérica.
11 / 21
Interpretação dos modelos logit e probit
12 / 21
Interpretação dos modelos logit e probit
▶ Efeitos parciais: é necessário reescalonar os coeficientes pois o efeito
parcial depende de X e da distribuição G(·).
• Quando X for uma variável contı́nua:
∂P (Y = 1 | X) ∂G (Xβ)
= = g (Xβ) βj
∂Xj ∂Xj
em que g(·) = dG(z)/dz.
• Portanto, considerando uma variação ∆Xj em Xj , temos:
P (Y = 1 | X) ≈ g X β
∆b b βbj ∆Xj
▶ Os efeitos parciais
serão mais difı́ceis de serem analisados devido à
escala g X βb depender de X.
t test of coefficients:
summary(probit)
z test of coefficients:
16 / 21
Estimação do logit no R
### logit ###
summary(logit)
z test of coefficients:
17 / 21
Figura dos ajustes
### figura completa ###
par(mfrow = c(1,3)) # definimos que acrescentaremos tres graficos no formato uma linha
x tres colunas
plot(x, y, ylim = c(-0.5, 1.5), col = "blue", type = "p", main = "(a) MPL",
lwd = 2, pch = 1, cex = 3, cex.axis = 2, cex.lab = 2, cex.main = 2.5)
abline(mpl, col = "red", lwd = 4)
plot(x, y, ylim = c(-0.5, 1.5), col = "blue", type = "p", main = "(b) Probit",
lwd = 2, pch = 1, cex = 3, cex.axis = 2, cex.lab = 2, cex.main = 2.5)
curve(pnorm(beta0_probit + beta1_probit*x),
col = "green",
lwd = 4, type = "l", lty = 1,
add = TRUE)
plot(x, y, ylim = c(-0.5, 1.5), col = "blue", type = "p", main = "(c) Logit",
lwd = 2, pch = 1, cex = 3, cex.axis = 2, cex.lab = 2, cex.main = 2.5)
curve(exp(beta0_logit + beta1_logit*x)/(1 + exp(beta0_logit + beta1_logit*x)),
col = "purple",
lwd = 4, type = "l", lty = 1,
add = TRUE)
dev.off()
18 / 21
Figura dos ajustes
19 / 21
Efeitos marginais do probit
Comando probitmfx() do pacote mfx calcula efeito marginal médio (e na
media) para o probit:
probitmfx(probit, atmean = TRUE, data = data.frame(y = y, x = x)) # efeito marginal na
media (PEA) do probit
Call:
probitmfx(formula = probit, data = data.frame(y = y, x = x),
atmean = TRUE)
Marginal Effects:
dF/dx Std. Err. z P>|z|
x 0.37965 0.10605 3.5799 0.0003437 ***
---
Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
Call:
logitmfx(formula = logit, data = data.frame(y = y, x = x), atmean = TRUE)
Marginal Effects:
dF/dx Std. Err. z P>|z|
x 0.4103 0.1263 3.2485 0.00116 **
---
Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
20 / 21
Efeitos marginais do logit
Comando logitmfx() do pacote mfx calcula efeito marginal médio (e na
media) para o logit:
logit.pea <- logitmfx(logit, atmean = TRUE, data = data.frame(y = y, x = x)) # efeito
marginal na media (PEA) do logit
Call:
logitmfx(formula = logit, data = data.frame(y = y, x = x), atmean = TRUE)
Marginal Effects:
dF/dx Std. Err. z P>|z|
x 0.4103 0.1263 3.2485 0.00116 **
---
Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
Call:
logitmfx(formula = logit, data = data.frame(y = y, x = x), atmean = FALSE)
Marginal Effects:
dF/dx Std. Err. z P>|z|
x 0.053142 0.034485 1.541 0.1233
21 / 21