Soluci´ on de los controles de Econometr´ıa 2013 Grupo A
Gregorio R. Serrano
´ Indice
1. Control de 15 de marzo de 2013 1
1.1. Enunciados y soluciones . . . 1
1.2. Soluciones con R . . . 4
1.2.1. Problema 1. Chi-cuadrado de independencia . . . 4
1.2.2. Problema 2. Modelo lineal simple . . . 5
1.2.3. Problema 3. ´Algebra matricial . . . 9
1. Control de 15 de marzo de 2013
1.1. Enunciados y soluciones
Problema 1. (2 puntos) Se dispone de datos sobre el sexo y el n´umero de aventuras extra- matrimoniales de 601 personas casadas. El n´umero de infidelidades se agrupa en 0, entre 1 y 3, y m´as de 3 infidelidades.
0 [1, 3] > 3 mujer 243 30 42
hombre 208 40 38
A) Calcule el estad´ıstico chi-cuadrado para contrastar si el sexo del infiel est´a relacionado con la cantidad de aventuras. Deje clara la distribuci´on del estad´ıstico de contraste.
B) ¿Cu´antas mujeres se espera que sean infieles en m´as de tres ocasiones?
Soluci´on. Para calcular el estad´ıstico Q necesitamos las frecuencias esperadas, que se obtienen suponiendo que la hip´otesis nula de independencia es cierta. As´ı, para cualquier celda de la tabla, la frecuencia esperada eij se calcula:
eij = n ˆPi·Pˆ·j = nni·
n n·j
n , i = 1, 2, j = 1, 2, 3.
0 [1, 3] > 3 mujer 236.38 36.69 41.93 hombre 214.62 33.31 38.07
El estad´ıstico de contraste resulta:
Q =
2
X
i=1 3
X
j=1
(eij− nij)2
eij = (236,4 − 243)2
236,4 +(36,69 − 30)2
36,69 + . . . + (38,07 − 38)2
38,07 = 2,95.
Bajo la hip´otesis nula, el estad´ıstico Q se distribuye χ22 y el p-valor del contraste es 0,23, por lo que no se puede rechazar que sexo y n´umero de infidelidades sean independientes.
Problema 2. (6 puntos) Sean los datos sobre desempleo (ut) e inflaci´on (πt) en EE.UU. para los a˜nos 1960 a 1969 (ambas series en %) que aparecen en siguiente cuadro:
t ut πt 1960 5.5 1.7 1961 6.7 1.0 1962 5.5 1.0 1963 5.7 1.3 1964 5.2 1.3 1965 4.5 1.6 1966 3.8 2.9 1967 3.8 3.1 1968 3.6 4.2 1969 3.5 5.5
Cuadro 1: Datos sobre inflaci´on (πt) y desempleo (ut) de EE.UU. 1960–1969.
Se ha calculado la siguiente informaci´on descriptiva: ¯π = 2,36, ¯u = 4,78, nSπ2 = 21,04, nSu2 = 10,78 y nSπu = −12,72. Se pide:
A) Formule el modelo te´orico lineal para la curva de Phillips, interprete los par´ametros y comente el signo de los mismos.
B) Estime los par´ametros por m´ınimos cuadrados ordinarios.
C) Sabiendo que SR = ˆε0ε = 3,09, calcule el Rˆ 2.
D) ¿Cu´al es la tasa de desempleo esperada si la inflaci´on es de un 2 %?
E) Se plantea el siguiente modelo alternativo: ut = γ1+ γ2π1
t+ νt. ¿Qu´e signo deber´ıa tener γ2 y por qu´e?
F) En el modelo alternativo ¿cu´al es el efecto esperado sobre el empleo de un incremento de un punto en la inflaci´on? ¿Necesita informaci´on adicional?
Soluci´on. La curva de Phillips supone una relaci´on inversa entre inflaci´on y desempleo.
Una versi´on lineal vendr´ıa dada por ut= β1+β2πt+εt, siendo utel desempleo, πtla inflaci´on y β2 < 0. β2 es la variaci´on (descenso al ser negativo) en el desempleo por cada punto adicional de inflaci´on.
La estimaci´on de los par´ametros es trivial a partir de la informaci´on del enunciado. En un modelo lineal simple:
βˆ2 = nSπu
nSπ2 = −12,72
21,04 = −0,6044 y βˆ1 = ¯u − ˆβ2π = 6,2063.¯
El modelo estimado se puede expresar: ˆut = 6,2063 − 0,6044πt. El c´alculo del R2 resulta inmediato teniendo en cuenta que nSu2 =Pn
t=1(ut− ¯u)2 es la suma total:
R2 = 1 − SR
ST = 1 − 3,09
10,78 = 0,7133.
Si la inflaci´on se sit´ua en un 2 %, cabe esperar un nivel de desempleo del 5 % (ˆut = 6,2063 − 0,6044 · 2 = 4,998).
En el modelo alternativo cabe esperar que γ2 > 0, puesto que la relaci´on inversa entre inflaci´on y desempleo se encuentra reflejada en la variable explicativa transformada. M´as formalmente, es necesario que γ2 > 0 para que ∂u/∂π < 0, que es el supuesto subyacente a la curva de Phillips. Para analizar el efecto de la inflaci´on sobre el desempleo derivamos a ambos lados en la expresi´on u = γ1+ γ21π y resulta:
du = −γ2 1
π2dπ ' ∆u = −γ2 1 π2∆π,
que depende del nivel de inflaci´on antes del cambio (que ser´a necesario conocer), a diferencia del modelo inicial donde la variaci´on en el desempleo era independiente del nivel de inflaci´on (s´olo depend´ıa de la variaci´on en la misma). Se puede apreciar en la expresi´on que, ante una variaci´on unitaria en la inflaci´on, el descenso en el desempleo ser´a menor cuanto mayor sea la inflaci´on existente.
Problema 3. (2 puntos) Sea la matriz A =
1 3 3 1 4 3 1 3 4
y el vector b =
1 3 3
. Invierta la matriz A y resuelva el sistema de ecuaciones lineales Ax = b.
Soluci´on. La inversa de A es:
A−1 = 1
|A|(AAdj)T = 1 1
7 −1 −1
−3 1 0
−3 0 1
T
=
7 −3 −3
−1 1 0
−1 0 1
,
y la soluci´on del sistema lineal resulta:
x∗ = A−1b =
7 −3 −3
−1 1 0
−1 0 1
1 3 3
=
−11 2 2
.
1.2. Soluciones con R
1.2.1. Problema 1. Chi-cuadrado de independencia
Para definir la tabla de frecuencias, se utiliza la funci´on matrix() y con dimnames() asignamos etiquetas a filas y columnas para mejorar la legilibilad de los resultados:
t1 <- matrix(c(243, 30, 42, 208, 40, 38), nrow = 2, byrow = TRUE)
dimnames(t1) <- list(sexo = c("mujer", "hombre"), aventuras = c("0", "[1-3]",
">3")) t1
## aventuras
## sexo 0 [1-3] >3
## mujer 243 30 42
## hombre 208 40 38
Los datos originales se encuentran disponibles en el paquete Ecdat, donde la variable nbaffairs (n´umero de aventuras extramaritales) es discreta, por lo que hay que agruparla en intervalos para obtener la tabla contingencia del problema. Las siguientes instrucciones realizan el trabajo:
library(Ecdat) data(Fair)
summary(Fair[, c("sex", "nbaffairs")])
## sex nbaffairs
## female:315 Min. : 0.00
## male :286 1st Qu.: 0.00
## Median : 0.00
## Mean : 1.46
## 3rd Qu.: 0.00
## Max. :12.00
Fair$nbaffairs2 <- cut(Fair$nbaffairs, c(-Inf, 0, 3, Inf)) (t2 <- with(Fair, table(sex, nbaffairs2)))
## nbaffairs2
## sex (-Inf,0] (0,3] (3, Inf]
## female 243 30 42
## male 208 40 38
Para realizar el contraste chi-cuadrado de independencia, en R se dispone de la funci´on chisq.test(), que proporciona todos los resultados pedidos en en ejercicio:
chisq.test(t1)
##
## Pearson's Chi-squared test
##
## data: t1
## X-squared = 2.952, df = 2, p-value = 0.2285
chisq.test(t1)$expected
## aventuras
## sexo 0 [1-3] >3
## mujer 236.4 36.69 41.93
## hombre 214.6 33.31 38.07
1.2.2. Problema 2. Modelo lineal simple
Los datos sobre desempleo e inflaci´on en EE.UU. desde 1950 hasta 1969 se obtuvieron de http://www.oswego.edu/~kane/econometrics/data.htm. Para facilitar trabajar con ellos, se han transformado al formato .csv (con ; como separador) y se pueden descargar desde http://grserrano.es/datos/phillips.csv. Las siguientes l´ıneas leen los datos en R (para lo que debe estar conectado a internet) y realizan un gr´afico etiquetando cada punto con el a˜no correspondiente:
phillips <- read.csv("http://www.grserrano.es/datos/phillips.csv", sep = ";")
## cambie la linea anterior para leer un archivo local
plot(unemp ~ inflat, data = phillips, type = "n", xlim = c(0, 8), ylim = c(0, 8))
with(phillips, text(unemp, inflat, year)) grid(col = "gray50")
0 2 4 6 8
02468
inflat
unemp
1950 1951
1952
1953 1954
1955 1956
1957
1958
1959 1960
1961 1962
1963 1964 1965 19661967 1968 1969
En el problema se utilizan los datos del per´ıodo 1960–1969, as´ı que se extrae dicho intervalo con subset(), reproduciendo la tabla del enunciado:
(ph <- subset(phillips, year >= 1960))
## year unemp inflat
## 11 1960 5.5 1.7
## 12 1961 6.7 1.0
## 13 1962 5.5 1.0
## 14 1963 5.7 1.3
## 15 1964 5.2 1.3
## 16 1965 4.5 1.6
## 17 1966 3.8 2.9
## 18 1967 3.8 3.1
## 19 1968 3.6 4.2
## 20 1969 3.5 5.5
Ahora se pueden calcular los estad´ısticos descriptivos que se ofrecen en el enunciado del ejercicio. La funci´on apply() aplica una funci´on a todas las filas o columnas de un data.frame, dependiento del segudno argumento. Para los momentos de segundo orden se utiliza la funci´on cov() que devuelve la matriz de varianzas y covarianzas, pero R divide por n−1 (ser´ıan cuasi- varianzas):
apply(ph[, c("unemp", "inflat")], 2, mean)
## unemp inflat
## 4.78 2.36
(nrow(ph) - 1) * cov(ph[, c("unemp", "inflat")])
## unemp inflat
## unemp 10.78 -12.72
## inflat -12.72 21.04
Sin embargo, en R no hace falta calcular dichos estad´ısticos para estimar por m´ınimos cuadrados ordinarios, el trabajo lo realiza la funci´on lm():
m1 <- lm(unemp ~ inflat, data = ph) summary(m1)
##
## Call:
## lm(formula = unemp ~ inflat, data = ph)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.739 -0.455 -0.085 0.311 1.098
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.206 0.375 16.54 1.8e-07 ***
## inflat -0.604 0.135 -4.46 0.0021 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.621 on 8 degrees of freedom
## Multiple R-squared: 0.713,Adjusted R-squared: 0.677
## F-statistic: 19.9 on 1 and 8 DF, p-value: 0.00211
plot(unemp ~ inflat, data = ph) abline(m1, col = "red")
grid(col = "gray50")
1 2 3 4 5
3.54.04.55.05.56.06.5
inflat
unemp
Para calcular el valor esperado del desempleo suponiendo una inflaci´on del 2 % usamos la funci´on predict() a la que se le pasa el modelo estimado y los nuevos datos de la variable explicativa en un data.frame:
predict(m1, data.frame(inflat = 2))
## 1
## 4.998
Aunque R es un programa claramente orientado al c´alculo num´erico, es posible realizar derivadas anal´ıticas de expresiones sencillas con la funci´on D():
D(expression(g1 + g2 * 1/pi), "pi")
## -(g2 * 1/pi^2)
Dado que se dispone de los datos, se puede estimar el modelo alternativo propuesto y compararlo con el modelo lineal (n´otese el uso de la funci´on I() para definir la variable transformada):
m2 <- lm(unemp ~ I(1/inflat), data = ph) summary(m2)
##
## Call:
## lm(formula = unemp ~ I(1/inflat), data = ph)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.6705 -0.1948 -0.0655 0.2414 0.7055
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.829 0.319 8.88 2.1e-05 ***
## I(1/inflat) 3.342 0.490 6.82 0.00013 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.445 on 8 degrees of freedom
## Multiple R-squared: 0.853,Adjusted R-squared: 0.835
## F-statistic: 46.5 on 1 and 8 DF, p-value: 0.000135
Tal vez resulte m´as ilustrativa la comparaci´on gr´afica de la Figura 1, donde se aprecia que el segundo modelo considerado se ajusta mejor a los datos del ejercicio (algo que ya se ve´ıa en los R2):
plot(unemp ~ inflat, data = ph) abline(m1, col = "red")
inf <- seq(0, 6, by = 0.1)
y2fit <- predict(m2, data.frame(inflat = inf)) lines(inf, y2fit, col = "blue")
grid(col = "gray50")
legend("topright", c(expression(hat(u) == hat(beta)[1] + hat(beta)[2] * pi),
expression(hat(u) == hat(gamma)[1] + hat(gamma)[2]/pi)), lty = 1, col = c("red",
"blue"))
1.2.3. Problema 3. ´Algebra matricial
Para definir una matriz en R se usa la funci´on matrix() (que ya se utiliz´o para definir la tabla del problema 1), donde hay que tener cuidado con el orden de llenado de la matriz:
A <- matrix(c(1, 3, 3, 1, 4, 3, 1, 3, 4), nrow = 3, byrow = TRUE) A
## [,1] [,2] [,3]
## [1,] 1 3 3
## [2,] 1 4 3
## [3,] 1 3 4
1 2 3 4 5
3.54.04.55.05.56.06.5
inflat
unemp
u^= β^
1+ β^
2π u^= γ^
1+ γ^
2π
Figura 1: Datos 1960–1969 y modelos estimados
La inversa de la matriz se obtiene con la funci´on solve() y comprobamos que el producto matricial ( %* %) de A por su inversa es la identidad:
solve(A)
## [,1] [,2] [,3]
## [1,] 7 -3 -3
## [2,] -1 1 0
## [3,] -1 0 1
A %*% solve(A)
## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
## [3,] 0 0 1
Para resolver el sistema de ecuaciones planteado, se define el vector b y la soluci´on se obtiene con solve() (la misma que se usa para invertir), pero pasando como argumentos la matriz de coeficientes y el vector de t´erminos independientes:
b <- matrix(c(1, 3, 3), nrow = 3)
solve(A, b) ## equivalente a solve(A)%*%b
## [,1]
## [1,] -11
## [2,] 2
## [3,] 2
Otras funciones ´utiles para matrices son det() para el determinante, eigen() para auto- valores y autovectores y chol() para la descomposici´on de Cholesky (A = R0R), una de las m´as habituales para matrices sim´etricas y definidas positivas (que no podemos calcular en este ejemplo):
det(A)
## [1] 1
ev <- eigen(A) ev
## $values
## [1] 7.873 1.000 0.127
##
## $vectors
## [,1] [,2] [,3]
## [1,] 0.5253 -1.570e-16 -0.9795
## [2,] 0.6017 -7.071e-01 0.1425
## [3,] 0.6017 7.071e-01 0.1425
## Comprobaci´on del primer autovalor |A - lambda I|=0 det(A - ev$values[1] * diag(3))
## [1] 8.391e-14