C2.1. La base de datos 401K.RAW es un
subconjunto de los datos analizados por Papke (1995)
para
estudiar la relación entre la participación en un plan de pensión y la generosidad
del plan.
La
variable prate es el porcentaje de trabajadores que están inscritos en el plan
y que tienen
cuenta
activa; ésta es la variable que se quiere explicar. La medida de la generosidad
es la tasa
de
contribución (de la empresa) al plan, mrate. Esta variable es la cantidad
promedio con la
que la
empresa contribuye al plan de cada trabajador por cada $1 que aporte el
trabajador. Por
ejemplo,
si mrate = 0.50, entonces a una contribución de $1 del trabajador corresponde
una
contribución
de 50 centavos de la empresa.
> library(wooldridge)
> attach(k401k)
i)
Encuentre el promedio de la tasa de participación y el promedio de la tasa de
contribución
para la
muestra.
> apply(cbind(prate,
mrate), 2, mean)
prate
mrate
87.3629075 0.7315124
ii) Ahora,
estime la ecuación de regresión simple, y dé los resultados, el tamaño de la
muestra y R-cuadrada.
> ec1<-lm(prate~mrate)
> summary(ec1)
Call:
lm(formula = prate ~
mrate)
Residuals:
Min
1Q Median 3Q
Max
-82.303 -8.184
5.178 12.712 16.807
Coefficients:
Estimate Std. Error t value
Pr(>|t|)
(Intercept) 83.0755
0.5633 147.48 <2e-16 ***
mrate 5.8611 0.5270
11.12 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’
1
Residual standard error:
16.09 on 1532 degrees of freedom
Multiple R-squared: 0.0747, Adjusted
R-squared: 0.0741
F-statistic: 123.7 on 1
and 1532 DF, p-value: < 2.2e-16
> length(prate)
[1] 1534
iv) Determine la prate que se predice para x= 3.5. ¿Es razonable esta predicción? Explique qué
ocurre
aquí.
> coef(ec1)[1]+coef(ec1)[2]*3.5
(Intercept)
103.5892
> summary(prate)
Min. 1st Qu.
Median Mean 3rd Qu. Max.
3.00
78.03 95.70 87.36
100.00 100.00
v) ¿Qué tanto de la variación en prate es explicada por mrate? En su opinión, ¿es mucho?
> summary(ec1)$r.squared
[1] 0.0747031
C2.2. La base de datos CEOSAL2.RAW contiene información sobre
directores generales de empresas (CEO) estadounidenses. La variable salary es el sueldo anual, en miles de
dólares, y ceoten son los años de antigüedad como
CEO de la empresa.
> rm(list=ls())
> attach(ceosal2)
i)
Determine el sueldo y la antigüedad promedio en esta muestra.
> apply(cbind(salary,
ceoten ), 2, mean)
salary
ceoten
865.864407 7.954802
ii)
¿Cuántos de estos directivos se encuentran en su primer año como CEO (es decir,
ceoten=0? ¿Cuál es la mayor antigüedad
entre estos CEO?
> sum(ceoten==0)
[1] 5
> max(ceoten)
[1] 37
> # Corresponde a la observación 12 y
121, por lo que, hay dos directicon esta calificación
> which(ceoten==max(ceoten))
[1] 13 121
iii)
Estime el modelo de regresión simple log(salary)=f(ceotem), y dé los resultados en la forma
usual. ¿Cuál es el aumento porcentual (aproximado) que se pronostica en el
sueldo por cada año adicional de antigüedad como CEO?
> ec1<-lm(log(salary)~ceoten)
>
summary(ec1)
Call:
lm(formula = log(salary) ~ ceoten)
Residuals:
Min 1Q Median
3Q Max
-2.15314 -0.38319 -0.02251 0.44439
1.94337
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.505498 0.067991
95.682 <2e-16 ***
ceoten 0.009724
0.006364 1.528 0.128
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’
1
Residual standard error: 0.6038 on 175
degrees of freedom
Multiple R-squared: 0.01316, Adjusted
R-squared: 0.007523
F-statistic: 2.334 on 1 and 175 DF, p-value: 0.1284
Una alternativa es utilizar la librería stargazer, dado que presentar el modelo de regresión en
tablas suele ser mucho más elegante, que utilizar las salidas tradicionales de los programas.
library(stargazer)
Hlavac, Marek (2018). stargazer: Well-Formatted Regression
and Summary Statistics Tables.
R package
version 5.2.2. https://CRAN.R-project.org/package=stargaze.
> stargazer(ec1,
type="text")
===============================================
Dependent
variable:
---------------------------
log(salary)
-----------------------------------------------
ceoten 0.010
(0.006)
Constant 6.505***
(0.068)
-----------------------------------------------
Observations 177
R2 0.013
Adjusted R2 0.008
Residual Std. Error 0.604 (df = 175)
F Statistic 2.334 (df = 1; 175)
===============================================
Note: *p<0.1; **p<0.05;
***p<0.01
C2.3. Utilice los datos de SLEEP75.RAW
de Biddle y Hamermesh (1990) para analizar si existe una relación inversa entre
las horas de sueño por semana y las horas de trabajo pagado por semana.
Cualquiera de las variables puede usarse como la variable dependiente. Estime
el modelo sleep=f(totwrk). donde sleep corresponde a minutos de sueño por semana durante la
noche y totwrk corresponde al total de minutos de
trabajo por semana.
> rm(list=ls())
> attach(sleep75)
i) Dé
sus resultados en forma de ecuación, además de la cantidad de observaciones y
la R2. ¿Qué significa el intercepto de la ecuación?
> ec2<-lm(sleep
~totwrk )
>
summary(ec2)
Call:
lm(formula = sleep ~ totwrk)
Residuals:
Min 1Q Median
3Q Max
-2429.94
-240.25 4.91 250.53
1339.72
Coefficients:
Estimate Std. Error t value
Pr(>|t|)
(Intercept) 3586.37695 38.91243
92.165 <2e-16 ***
totwrk -0.15075 0.01674
-9.005 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’
1
Residual standard error: 421.1 on 704
degrees of freedom
Multiple R-squared: 0.1033, Adjusted
R-squared: 0.102
F-statistic: 81.09 on 1 and 704 DF, p-value: < 2.2e-16
ii) Si
totwrk aumenta 2 horas, ¿cuánto se estima que disminuirá sleep? ¿Le parece que
este
efecto
sea grande?
> coef(ec2)[2]*2
totwrk
-0.3014916
C2.4. Use la base de datos WAGE2.RAW
para estimar una regresión simple que explique el salario mensual (wage) en
términos de la puntuación del coeficiente intelectual (IQ).
> rm(list=ls())
> attach(wage2)
i)
Determine el promedio muestral del salario y de IQ. ¿Cuál es la desviación
estándar muestral de IQ? (La puntuación del coeficiente intelectual está
estandarizada, de manera que el promedio de la población es 100 y la desviación
estándar es 15.)
> apply(cbind(wage,
IQ), 2, summary)
wage IQ
Min.
115.0000 50.0000
1st Qu.
669.0000 92.0000
Median
905.0000 102.0000
Mean
957.9455 101.2824
3rd Qu. 1160.0000 112.0000
Max.
3078.0000 145.0000
ii) Estime un modelo de regresión simple en el que un aumento de un punto en IQ modifique wage
en una cantidad de dólares constante. Use este modelo para determinar el aumento que se predice en wage
para un aumento de 15 puntos en IQ. ¿Explica IQ la mayor parte de la variación en wage?
> ec4<-lm(wage
~IQ, data=wage2)
> summary(ec4)
Call:
lm(formula = wage ~ IQ, data = wage2)
Residuals:
Min 1Q Median 3Q
Max
-898.7 -256.5 -47.3
201.1 2072.6
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 116.9916 85.6415
1.366 0.172
IQ 8.3031 0.8364
9.927 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’
1
Residual standard error: 384.8 on 933
degrees of freedom
Multiple R-squared: 0.09554, Adjusted
R-squared: 0.09457
F-statistic: 98.55 on 1 and 933 DF, p-value: < 2.2e-16
>
> coef(ec4)[2]*15
IQ
124.546
iii)
Ahora, estime un modelo en el que cada aumento de un punto en IQ tenga un mismo
efecto porcentual sobre wage. Si IQ aumenta 15 puntos, ¿cuál es el aumento
porcentual pronosticado para wage?
> ec5<-lm(log(wage)
~log(IQ), data=wage2)
>
summary(ec5)
Call:
lm(formula = log(wage) ~ log(IQ), data =
wage2)
Residuals:
Min 1Q Median
3Q Max
-2.09743 -0.24828 0.02547
0.27542 1.21110
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.94218
0.38409 7.660 4.64e-14 ***
log(IQ) 0.83299
0.08334 9.995 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’
1
Residual standard error: 0.4005 on 933 degrees
of freedom
Multiple R-squared: 0.09672, Adjusted
R-squared: 0.09576
F-statistic: 99.91 on 1 and 933 DF, p-value: < 2.2e-16
C2.5. En la población formada por las
empresas de la industria química, sea rd gastos anuales en investigación y
desarrollo y sales ventas anuales (ambos en millones de dólares).
i) Dé
un modelo (no una ecuación estimada) que implique una elasticidad constante
entre rd y sales. ¿Qué parámetro es la elasticidad?
# Es un modelo en su forma logarithmic.El coeficiente de pendiente representa
la elasticidad.
ii)
Ahora, estime el modelo usando la base de datos RDCHEM.RAW. Escriba la ecuación
estimada en su forma usual. ¿Cuál es la elasticidad estimada para rd respecto a
sales? Explique qué significa esta elasticidad.
> rm(list=ls())
> attach(rdchem)
> ec6<-lm(log(sales)
~log(rd), data=rdchem)
>
summary(ec6)
Call:
lm(formula = log(sales) ~ log(rd), data =
rdchem)
Residuals:
Min 1Q Median
3Q Max
-0.82886 -0.39299 0.04353
0.38238 0.66387
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.11773
0.19380 21.25 <2e-16 ***
log(rd) 0.84578
0.04861 17.40 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’
1
Residual standard error: 0.4694 on 30
degrees of freedom
Multiple R-squared: 0.9098, Adjusted
R-squared: 0.9068
F-statistic: 302.7 on 1 and 30 DF, p-value: < 2.2e-16
C2.6. En el ejemplo 2.12 se usan los
datos de MEAP93.RAW. Ahora se quiere explorar la relación entre la tasa de
aprobados en matemáticas (math10) y el gasto por estudiante (expend).
> rm(list=ls())
> attach(meap93)
i)
¿Piensa que cada dólar más que se gasta tiene un mismo efecto en la tasa de
aprobados o parece más apropiado que haya un efecto decreciente? Explique.
#Pienso es intuitivo pensar que el gasto inicial
tenga un mayor efecto y que este efecto irá reduciéndose en la medida en que aumenta el
gasto. Aunque debe tenerse claro que esta respuesta es empírica.
ii) En
el modelo poblacional math10=f(log(expend)), justifique que beta1/10 es el
cambio en puntos porcentuales en math10 dado un aumento de 10% en expend.
iii)
Use los datos de MEAP93.RAW para estimar el modelo del inciso ii). Dé la
ecuación estimada de la manera usual, incluyendo el tamaño de la muestra y
R-cuadrada.
> ec7<-lm(math10
~log(expend), data=meap93)
>
summary(ec7)
Call:
lm(formula = math10 ~ log(expend), data =
meap93)
Residuals:
Min 1Q Median
3Q Max
-22.343
-7.100 -0.914 6.148
39.093
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -69.341
26.530 -2.614 0.009290 **
log(expend) 11.164
3.169 3.523 0.000475 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’
1
Residual standard error: 10.35 on 406
degrees of freedom
Multiple R-squared: 0.02966, Adjusted
R-squared: 0.02727
F-statistic: 12.41 on 1 and 406 DF, p-value: 0.0004752
iv)
¿Qué tan grande es el efecto estimado del gasto? Es decir, si el gasto aumenta
10%, ¿cuál
es el
aumento de math10 en puntos porcentuales?
> (coef(ec7)[2]/10)*0.1
log(expend)
0.111644
v) Puede ser preocupante que el análisis de regresión produzca valores ajustados para math10 que
sean mayores a 100. ¿Por qué esto no es de preocupar en esta base estándar de datos?
C2.7. Use la base de datos CHARITY.RAW
[obtenidos de Franses y Paap (2001)] para responder a las preguntas siguientes:
> rm(list=ls())
> attach(charity)
i) ¿Cuál es el donativo (gift) promedio en esta muestra de 4,268 personas (en florines holandeses)?
¿Qué porcentaje de estas personas no dio ningún donativo?
> mean(gift)
[1] 7.44447
>
> #count personas no dieron algo
> sum(gift==0)
[1] 2561
>
> #porcentaje no dio nada
> mean(gift==0)
[1] 0.6000469
ii) ¿Cuál es el promedio de envíos por año (mailsyear)? ¿Cuáles son los valores mínimos y
máximos?
> summary(mailsyear)
Min.
1st Qu. Median Mean 3rd Qu. Max.
0.25 1.75
2.00 2.05 2.50
3.50
iii)
Estime el modelo gift =f(mailsyear), mediante MCO y dé los resultados
de la manera usual, incluidos el tamaño de la muestra y la R-cuadrada.
> ec8<-lm(gift~log(mailsyear),
data=charity)
>
summary(ec8)
Call:
lm(formula = gift ~ log(mailsyear), data =
charity)
Residuals:
Min 1Q Median
3Q Max
-9.046
-7.888 -6.346 2.421 244.993
Coefficients:
Estimate Std. Error t value
Pr(>|t|)
(Intercept) 5.7610
0.4075 14.136 < 2e-16 ***
log(mailsyear) 2.6225
0.5242 5.003 5.87e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’
1
Residual standard error: 15.02 on 4266
degrees of freedom
Multiple R-squared: 0.005834, Adjusted
R-squared: 0.0056
F-statistic: 25.03 on 1 and 4266 DF, p-value: 5.866e-07
iv)
Interprete el coeficiente de la pendiente. Si cada envío cuesta un florín,
¿espera la beneficencia obtener una ganancia neta por cada envío? ¿Significa
esto que la beneficencia
obtiene
una ganancia neta en cada envío? Explique.
v) En esta muestra, ¿cuál es el menor donativo? Usando el análisis de regresión simple, ¿se puede predecir que gift sea igual a cero?
> # Menor
donativo
>
min(gift[gift>0])
[1] 2
>
> #si