Índice de ejercicios resueltos
Chapter 3 - Multiple Regression Analysis: Estimation
*Ejercicio C3.1 Bwght.cvs
i. El signo esperado del coeficiente b_2 es positivo,
debido a que se espera que en promedio, mayores niveles de ingreso provoque
mejores oportunidades de acceso a servicios de salud y atención prenotar como
costearse mejores niveles de nutrición. Otros indicadores sociales están
frecuentemente asociados con el ingreso, como las condiciones de la vivienda,
el hacinamiento o el nivel educativo de la madre.
ii. desde mi punto de vista, La correlación entre las
variables independiente (fumar e ingresos) pueden variar de signo, aunque en mí
país la clase media alta tiende a fumar con mayor frecuencia (por lo menos en
jóvenes). Esta relación puede ser positiva en el caso de que mayores niveles de
ingresos permite una mayor capacidad de compra; en el caso contrario en que la
misma sea negativa se puede expresar, en mayor nivel de ingresos este asociada
con mayor educación que permita a la madre reconocer que fumar es perjudicial
para la salud del bebe.
iii. Se estima la regresión simple sin
incluir la variable de ingresos
*cargando base de datos
insheet using
"C:\Users\Nerys\Documents\Biblioteca\Econometria, libos ebooks\Solucion a
ejercicios de econometria\Base de datos wooldridge\bwght.csv", comma clear
*Una forma de comparar ambos modelos en una sola
tabla:
ssc install estout
estimates store m1,
title(Model 1)
regress
bwght cigs
estimates store m2, title(Model 2)
regress bwght cigs
faminc
estout m1 m2,
cells(b(star fmt(3)) se(par fmt(2))) legend label varlabels(_cons constant)
stats(r2 df_r bic)
----------------------------------------------------
Model
1 Model 2
b/se b/se
----------------------------------------------------
cigs
-0.514*** -0.463***
(0.09) (0.09)
faminc 0.093**
(0.03)
constant
119.772*** 116.974***
(0.57) (1.05)
----------------------------------------------------
r2
0.023 0.030
df_r 1386.000 1385.000
bic
12285.386 12282.535
----------------------------------------------------
* p<0.05, ** p<0.01, *** p<0.001
*Ejercicio C3.2 hprice1.cvs
insheet using
"C:\Users\Nerys\Documents\Biblioteca\Econometria, libos ebooks\Solucion a
ejercicios de econometria\Base de datos wooldridge\hprice1.csv
", comma clear
. regres price
sqrft bdrms
Source | SS
df MS Number of obs = 88
-------------+------------------------------ F(
2, 85) = 72.96
Model |
580009.152 2 290004.576 Prob > F =
0.0000
Residual |
337845.354 85 3974.65122 R-squared =
0.6319
-------------+------------------------------ Adj R-squared = 0.6233
Total |
917854.506 87 10550.0518 Root MSE =
63.045
------------------------------------------------------------------------------
price | Coef.
Std. Err. t P>|t|
[95% Conf. Interval]
-------------+----------------------------------------------------------------
sqrft |
.1284362 .0138245 9.29
0.000 .1009495 .1559229
bdrms |
15.19819 9.483517 1.60
0.113 -3.657582 34.05396
_cons | -19.315
31.04662 -0.62 0.536
-81.04399 42.414
------------------------------------------------------------------------------
i. Para representar los resultados como una ecuación, se
puede utilizar el comando display de la forma siguiente:
. matrix b = e(b)
. display "
price = " b[1,3] "
+" b[1,1] "* sqrft"
" + " b[1,2] "*bdrms + u"
price = -19.314996 +.12843621* sqrft +
15.198191*bdrms + u
ii.
. display _b[bdrms]*1
15.198191
iii.
* display _b[bdrms]*(1+1)+
_b[bdrms]*(sqrft+140) ///incorrecto
iv.
. display e(r2)
.6319184
v.
. display _b[_cons] +
_b[bdrms]*bdrms[1] + _b[sqrft]* sqrft[1]
354.60525
vi.
. display "
Residual[1] = " price[1]-(_b[_cons]
+ _b[bdrms]*bdrms[1] + _b[sqrft]* sqrft[1])
Residual[1] =
-54.605249
*Ejercicio C3.3 ceosal2.cvs
insheet using
"C:\Users\Nerys\Documents\Biblioteca\Econometria, libos ebooks\Solucion a
ejercicios de econometria\Base de datos wooldridge\ceosal2.csv ", comma
clear
i.
*modelo
de elasticidad constante. Escribirlo
en forma de ecuación
. gen
ln_salary = ln(salary)
. gen ln_mktval = ln(mktval)
.
gen ln_sale =
ln(sale)
. regress ln_salary
ln_sale ln_mktval
. display
"ln(salary)="_b[_cons] "+"_b[ln_sale] "*ln(sale)"
"+"_b[ln_mktval] " *ln(mktval)+u"
ln(salary)=4.6209175+.16212831*ln(sale)+.10670798
*ln(mktval)+u
ii.
*Profit no se puede agregar porque al ser utilidades
presenta valores negativos***
estimates store mmod1, title(Model 1)
regress
ln_salary ln_sale ln_mktval
estimates store mod2, title(Model 2)
regress
ln_salary ln_sale ln_mktval profits
. estout mmod1 mod2, cells(b(star fmt(3)) se(par fmt(4)))
legend label varlabels(_cons constant) stats(N r2 df_r bic)
----------------------------------------------------
Model 1 Model 2
b/se b/se
----------------------------------------------------
ln_sale 0.161*** 0.162***
(0.0399) (0.0397)
ln_mktval 0.098 0.107*
(0.0637) (0.0501)
profits 0.000
(0.0002)
constant 4.687*** 4.621***
(0.3797) (0.2544)
----------------------------------------------------
N 177.000 177.000
r2 0.299 0.299
df_r 173.000 174.000
bic 281.767 276.647
----------------------------------------------------
* p<0.05, ** p<0.01, *** p<0.001
*Usando el R de ambos modelos se diria que no, que
las utilidades de la empresa aportan poca informacion. El R no cambia.
iii.
estimates store m4,
title(Model 3)
regress ln_salary ln_sale ln_mktval profits ceoten
. estout m2 m1 m4,
cells(b(star fmt(3)) se(par fmt(1))) legend label varlabels(_cons constant)
stats(N r2 df_r bic)
--------------------------------------------------------------------
Model 2 Model 1 Model 3
b/se b/se b/se
--------------------------------------------------------------------
ln_sale 0.162*** 0.161*** 0.162***
(0.0) (0.0) (0.0)
ln_mktval 0.107* 0.098 0.102
(0.1) (0.1) (0.1)
profits 0.000 0.000
(0.0) (0.0)
ceoten
0.012*
(0.0)
constant 4.621*** 4.687*** 4.558***
(0.3) (0.4) (0.4)
--------------------------------------------------------------------
N 177.000 177.000 177.000
r2 0.299 0.299 0.318
df_r 174.000 173.000 172.000
bic 276.647 281.767 282.087
--------------------------------------------------------------------
* p<0.05, **
p<0.01, *** p<0.001
iv.
. correlate (
ln_mktval profits)
(obs=177)
| ln_mkt~l profits
-------------+------------------
ln_mktval |
1.0000
profits |
0.7769 1.0000
*Ejercicio C3.4 attend.cvs
insheet using
"C:\Users\Nerys\Documents\Biblioteca\Econometria, libos ebooks\Solucion a
ejercicios de econometria\Base de datos wooldridge\attend.csv ", comma
clear
i.
. summ attend prigpa act
Variable
| Obs Mean
Std. Dev. Min Max
-------------+--------------------------------------------------------
attend |
680 26.14706 5.455037 2 32
prigpa
| 680 2.586775
.5447141 .857 3.93
act
| 680 22.51029
3.490768 13 32
ii.
. regress atndrte
prigpa act
Source | SS
df MS Number of obs = 680
-------------+------------------------------ F(
2, 677) = 138.65
Model |
57336.7612 2 28668.3806 Prob > F =
0.0000
Residual |
139980.564 677 206.765974 R-squared =
0.2906
-------------+------------------------------ Adj R-squared = 0.2885
Total |
197317.325 679 290.59989 Root MSE =
14.379
------------------------------------------------------------------------------
atndrte | Coef.
Std. Err. t P>|t|
[95% Conf. Interval]
-------------+----------------------------------------------------------------
prigpa
| 17.26059 1.083103
15.94 0.000 15.13395
19.38724
act
| -1.716553 .169012
-10.16 0.000 -2.048404
-1.384702
_cons
| 75.7004 3.884108
19.49 0.000 68.07406
83.32675
------------------------------------------------------------------------------
*para escribir el modelo en forma de ecuación
. display "
atndrte="_b[_cons] "+"_b[prigpa] "*prigpa" "+
" _b[act] " *act +u"
atndrte=75.700405+17.260591*prigpa+ -1.7165529
*act +u
iii.
*este coeficiente da sorpresa, se esperaria un signo
positive.
. display _b[act]
-1.7165529
iv.
. display
_b[_cons]+_b[prigpa]*3.65+_b[act]*20
104.3705
*revisar si hay
algunos resultados en la muestra
list prigpa act if
prigpa==3.65 | act==20
*no hay prigpa==3.65
pero si hay observaciones con act==20
. display
(_b[_cons]+_b[prigpa]*3.1+_b[act]*21)
93.160625
. display
(_b[_cons]+_b[prigpa]*2.1+_b[act]*26)
67.31727
. display
(_b[_cons]+_b[prigpa]*3.1+_b[act]*21)- (_b[_cons]+_b[prigpa]*2.1+_b[act]*26)
25.843356
*Ejercicio C3.5 wage2.cvs
insheet using
"C:\Users\Nerys\Documents\Biblioteca\Econometria, libos ebooks\Solucion a
ejercicios de econometria\Base de datos wooldridge\wage2.csv ", comma
clear
. regress educ exper tenure
. predict r1, resid
*Comparar modelo
estimates store m5,
title(Model 1)
regress lwage r1
estimates store m6,
title(Model 2)
regress lwage educ exper tenure
. estout
m6 m5, cells(b(star fmt(6)) se(par fmt(5))) legend label varlabels(_cons
constant) stats(N r2 df_r bic)
----------------------------------------------------
Model 2 Model 1
b/se b/se
----------------------------------------------------
Residuals 0.074864***
(0.00664)
educ
0.074864***
(0.00651)
exper 0.015328***
(0.00337)
tenure 0.013375***
(0.00259)
constant 6.779004*** 5.496696***
(0.01293) (0.11053)
----------------------------------------------------
N 935.000000 935.000000
r2 0.119923 0.155112
df_r 933.000000 931.000000
bic 929.512962 905.041179
----------------------------------------------------
* p<0.05, **
p<0.01, *** p<0.001
*Ejercicio C3.6 wage2.cvs
insheet using
"C:\Users\Nerys\Documents\Biblioteca\Econometria, libos ebooks\Solucion a
ejercicios de econometria\Base de datos wooldridge\wage2.csv ", comma
clear
i.
. regress iq educ
. local
sigma1=_b[educ] ///se guarda el
coeficiente deseado, de lo contrario se borra
. display
`sigma1'
3.5338292
ii.
. regress lwage educ
. local
beta1=_b[educ] ///se guarda el
coeficiente deseado, de lo contrario se borra
. display `beta1'
.05983921
iii.
. regress lwage educ
iq
. display _b[educ]
" y " _b[iq]
.0391199 y .00586313
iv.
. display `beta1'
" = " _b[educ]+(`sigma1'*_b[iq])
.05983921 = .05983921
*Ejercicio C3.7
meap93.cvs
insheet using
"C:\Users\Nerys\Documents\Biblioteca\Econometria, libos ebooks\Solucion a
ejercicios de econometria\Base de datos wooldridge\meap93.csv ", comma
clear
i.
. regress math10 lexpend
lnchprg
* math10:
porcentaje de asistencia
* lnchprg:
porcentaje de beneficiados programas de ayuda
. regress math10
lexpend lnchprg
Source | SS
df MS Number of obs = 408
-------------+------------------------------ F(
2, 405) = 44.43
Model |
8063.82349 2 4031.91175 Prob > F =
0.0000
Residual |
36753.357 405 90.7490296 R-squared =
0.1799
-------------+------------------------------ Adj R-squared = 0.1759
Total |
44817.1805 407 110.115923 Root MSE =
9.5262
------------------------------------------------------------------------------
math10 | Coef.
Std. Err. t P>|t|
[95% Conf. Interval]
-------------+----------------------------------------------------------------
lexpend |
6.229683 2.972634 2.10
0.037 .3859641 12.0734
lnchprg |
-.3045853 .0353574 -8.61
0.000 -.3740923 -.2350784
_cons |
-20.36069 25.07287 -0.81
0.417 -69.64992 28.92853
------------------------------------------------------------------------------
ii.
. display _b[_cons]
25.388662
*No tendria sentido hacer ambas variables cero. Lnchprg
si porque habran escuela donde no exista el programa, pero en el caso de expend
no tiene lógica considerar que exista alguna escuela donde no se gaste nada.
iii.
*Modelo de actual
estimates store m3,
title(Model 2)
regress math10 lexpend
*modelo del inciso 1
estimates store m4,
title(Model 1)
regress math10 lexpend lnchprg
.estout m4 m3, cells(b(star
fmt(1)) se(par fmt(2))) legend label varlabels(_cons constant) stats(N r2 df_r)
----------------------------------------------------
Model 1 Model 2
b/se b/se
----------------------------------------------------
lexpend 11.2*** 6.2*
(3.17) (2.97)
lnchprg -0.3***
(0.04)
constant -69.3** -20.4
(26.53) (25.07)
----------------------------------------------------
N 408.0 408.0
r2 0.0 0.2
df_r 406.0 405.0
----------------------------------------------------
* p<0.05, **
p<0.01, *** p<0.001
iv.
. correlate lexpend
lnchprg
(obs=408)
|
lexpend lnchprg
-------------+------------------
lexpend |
1.0000
lnchprg |
-0.1927 1.0000
v.
*la correlacion entre las variables dependietes (-0.1927) y su efecto parcial de la variable
omitida (lnchprg) sobre la independiente math10, determinan la relación del
sesgo, aunque no la magnitud, se puede saber que al ser ambos negativo el
primer coeficiente tenia un sesgo positivo.
*Ejercicio C3.8
discrim.cvs
insheet using
"C:\Users\Nerys\Documents\Biblioteca\Econometria, libos ebooks\Solucion a
ejercicios de econometria\Base de datos wooldridge\discrim.csv ", comma
clear
i.
. summ prpblck income
Variable | Obs Mean
Std. Dev. Min Max
-------------+--------------------------------------------------------
prpblck | 409
.1134864 .1824165 0
.981658
income | 409
47053.78 13179.29 15919
136529
* prpblck : proporciones,
en terminus decimals
ii.
regress psoda prpblck
income
Source | SS
df MS Number of obs = 401
-------------+------------------------------ F(
2, 398) = 13.66
Model |
.202552138 2 .101276069 Prob > F =
0.0000
Residual |
2.95146501 398 .007415741 R-squared =
0.0642
-------------+------------------------------ Adj R-squared = 0.0595
Total |
3.15401715 400 .007885043 Root MSE =
.08611
------------------------------------------------------------------------------
psoda | Coef.
Std. Err. t P>|t|
[95% Conf. Interval]
-------------+----------------------------------------------------------------
prpblck |
.1149881 .0260006 4.42
0.000 .0638724 .1661039
income |
1.60e-06 3.62e-07 4.43
0.000 8.91e-07 2.31e-06
_cons |
.9563196 .018992 50.35
0.000 .9189824 .9936568
------------------------------------------------------------------------------
* prpblck= .1149881, indica un aumento del 11.5% en
el precio de la bebida
iii.
estimates store m10,
title(Model 1)
regress psoda prpblck income
estimates store m9,
title(Model 2)
regress psoda prpblck
estout m9 m10, cells(b(star)
se(par)) legend label varlabels(_cons constant) stats(N r2 df_r)
----------------------------------------------------
Model 2 Model 1
b/se b/se
----------------------------------------------------
prpblck .1149881*** .064926**
(0.03) (0.02)
income 1.60e-06***
(0.00)
constant .9563196*** 1.037399***
(0.02) (0.01)
----------------------------------------------------
N 401.0 401.0
r2 0.0642 0.0181
df_r 398.0 399.0
----------------------------------------------------
* p<0.05, **
p<0.01, *** p<0.001
iv.
. gen lpsoda=ln(psoda)
. gen lincome=ln(income)
estimates store m13,
title(Model 1)
regress psoda prpblck lincome
Source | SS
df MS Number of obs = 401
-------------+------------------------------ F(
2, 398) = 14.13
Model |
.20904587 2 .104522935 Prob > F =
0.0000
Residual |
2.94497128 398 .007399425 R-squared =
0.0663
-------------+------------------------------ Adj R-squared = 0.0616
Total |
3.15401715 400 .007885043 Root MSE =
.08602
------------------------------------------------------------------------------
psoda | Coef.
Std. Err. t P>|t|
[95% Conf. Interval]
-------------+----------------------------------------------------------------
prpblck |
.1258267 .0269747 4.66
0.000 .072796 .1788575
lincome |
.0788228 .0173892 4.53
0.000 .0446367 .1130089
_cons |
.1855322 .1879993 0.99
0.324 -.1840636 .5551279
------------------------------------------------------------------------------
. display 2*_b[prpblck] //a corregir
.25165341
v.
estimates store m12,
title(Model 2)
regress psoda prpblck lincome prppov
. estout m13 m12,
cells(b(star fmt(3)) se(par fmt(2))) legend label varlabels(_cons constant)
stats(N r2 df_r)
----------------------------------------------------
Model 1 Model 2
b/se b/se
----------------------------------------------------
prpblck 0.075* 0.126***
(0.03) (0.03)
lincome 0.142*** 0.079***
(0.03) (0.02)
prppov 0.396**
(0.14)
constant -0.512 0.186
(0.31) (0.19)
----------------------------------------------------
N 401.000 401.000
r2 0.085 0.066
df_r 397.000 398.000
----------------------------------------------------
* p<0.05, **
p<0.01, *** p<0.001
*el efecto se reduce
considerablemente
vi.
. correlate lincome prppov
(obs=409)
|
lincome prppov
-------------+------------------
lincome |
1.0000
prppov |
-0.8385 1.0000
vii.
*una correlación perfecta podría inducir multicolinialidad
pero no necesariamente una fuerte correlación entre las variables incita a
eliminar una de las dos.
*Ejercicio C3.9
charity.cvs
insheet using
"C:\Users\Nerys\Documents\Biblioteca\Econometria, libos ebooks\Solucion a
ejercicios de econometria\Base de datos wooldridge\charity.csv ", comma
clear
i.
estimates store m16,
title(Model Completo)
regress
gift mailsyear giftlast propresp
estimates store m18,
title(Model Simple)
regress gift mailsyear
estout m16 m18,
cells(b(star fmt(4)) se(par fmt(4))) legend label varlabels(_cons constant)
stats(r2 df_r bic)
----------------------------------------------------
Model Simple Model Comp~o
b/se b/se
----------------------------------------------------
mailsyear 2.6495*** 2.1663***
(0.3431) (0.3319)
giftlast 0.0059***
(0.0014)
propresp 15.3586***
(0.8745)
constant 2.0141** -4.5515***
(0.7395) (0.8030)
----------------------------------------------------
r2 0.0138 0.0834
df_r 4266.0000 4264.0000
bic 35219.9559 34924.4491
----------------------------------------------------
* p<0.05, **
p<0.01, *** p<0.001
ii.
*trivial
iii.
*trivial
iv.
estimates store m20,
title(Model compuesto2)
regress
gift mailsyear giftlast propresp avggift
estout m16 m18 m20,
cells(b(star fmt(4)) se(par fmt(4))) legend label varlabels(_cons constant)
stats(r2 df_r bic)
--------------------------------------------------------------------
Model Simple Model Comp~o Model comp~2
b/se b/se b/se
--------------------------------------------------------------------
mailsyear 2.6495*** 2.1663*** 1.2012***
(0.3431)
(0.3319) (0.3124)
giftlast
0.0059*** -0.2609***
(0.0014) (0.0108)
propresp
15.3586*** 16.2046***
(0.8745) (0.8175)
avggift
0.5269***
(0.0211)
constant 2.0141** -4.5515*** -7.3278***
(0.7395) (0.8030) (0.7582)
--------------------------------------------------------------------
r2 0.0138 0.0834 0.2005
df_r 4266.0000 4264.0000 4263.0000
bic 35219.9559 34924.4491 34349.0672
--------------------------------------------------------------------
* p<0.05, **
p<0.01, *** p<0.001
Versión Borrador