Ejercicio 1

Parte 1

  1. Ceteris paribus, en promerio, un año más de educación aumenta en 5.98% el salario.

  2. El coeficiente de \(R^2\) adjustada nos dice que la variable educ en el modelo planteado lograr explicar el 0.0964% de la variación en lwage.

  3. La constante nos dice que si la educación fuera cero, nuestro ingreso sería…

Parte 2

  1. Ceteris paribus, en promedio, un punto más en el IQ aumenta en .58% el salario.

  2. Cuando el IQ aumenta en una Desviación estándar, el ingreso promedio aumenta en:

iq <- .0058631
sd.err <- .0009979
print(iq*sd.err)
## [1] 5.850787e-06
  1. En la primera regresión sólo tomamos en cuenta a la variable educ, en la segunda estamos agregando la variable IQ. El estimador pasa de .059 a .039, es decir, disminuye. La razón es el sesgo por variables omitidas. En la primera regresión el estimador está sesgado hacia arriba y al agregar una variable, disminuye la información que contiene sobre las variables omitidas, lo que hace más chico el error.

Matemáticamente, se demuestra con el sesgo. Si el estimador es insesgado, \(plim(\hat{\beta_{1}}) = \beta_{1}\). Pero cuando el estimador es insesgado: \[plim(\hat{\beta_{1}}) = \beta_{1} + \frac{cov(x_{i}, A_{i})}{var(x_{i})}\]

Esto implica que, si hay un elemento \(A_{i}\) que está correlacionado con \(x\_{i}\), el sesgo se hace más grande. De forma que, el estimador crece/disminuye dependiendo de si su relación con \(A_{i}\) es positiva/negativa. Es decir, se sesga hacia arriba o hacia abajo. En este caso, el IQ está relacionado positivamente con educ, por lo que al agregar la variable le quita ese sesgo al estimador.

Parte 3

Rs1 <- 16.1377042/165.656283
ARs1 <- 1 - ( (1-Rs1) * ( (935-1) / (935-2-1) ) )

print(ARs1)
## [1] 0.09547992
Rs2 <- 26.4478349/126.811916
ARs2 <- 1 - ( (1-Rs2) * ( (722-1) / (722-8-1) ) )

print(ARs2)
## [1] 0.1996794

Como \(R_{2}^2 > R_{1}^2\), entonces el modelo 2 es mejor describiendo la variación en \(logwage\) que el modelo 1.

  1. Ceteris paribus, en promedio, cuando aumenta un año de experiencia el salario aumenta en 1.54783%.

En esta nueva regresión, el coeficiente de educ aumenta de .0391199 a .449289. Claramente, al agregar todas las otras variables la estimación de educ estaba sesgada hacia abajo, pero con este ejercicio no podemos saber con claridad si la inclusión de exper estaba sesgando hacia arriba o hacia abajo educ. Si quisieramos saberlo, tendríamos que quitar las demás variables y agregar exper para ver cómo su sola inclusión modifica el estimador. Teóricamente, la experiencia aumenta el salario y el coeficiente de educ estaría sesgado hacia arriba si no añadimos la variable.

  1. Pueden ser distintos factores, uno de ellos es que la educación de los padres abona al desarrollo integral de sus hijos. De forma que, a mayor educación de los padres, sus oportunidades de tener un mejor salario son altas. Entonces, pueden brindarle mejores oportunidades a sus hijos (tanto en educación, como económicas) y así ellos pueden tener un mejor salario.

  2. Teóricamente, la relación entre educación de los padres y la educación del individuo es positiva. Matemáticamente se podría demostrar mediante la covarianza entre las dos variables. Si la covarianza entre éstas es positiva, entonces, al incrementar los años de educación de los padres, también incrementa el de los hijos.

Ejercicio 2

Los supuestos clásicos del MLR son:

  1. Parametros lineales, tal que las betas de la regresión son lineales / constantes. \[ y = \beta_{0} + \beta_{1}x_{1} + \beta_{2}x_{2} + \beta_{k}x_{k} + u \]

  2. Muestreo aleatorio, tal que los datos son una muestra aleatoria de la misma población. \(\langle (x_{i,1},\dots,x_{i,k}, y_{i}) \colon i = 1,2,\dots,k \rangle\)

  3. No perfect collinearity. In the sample (and therefore in the population), none of the independent variables is constant, and there are no exact linear relationships among the independent variables.

Si una variable es una combinación linear de la otra, se dice que el modelo sufre de colinearidad perfecta y no puede ser estimada por el método OLS.

  1. Zero Conditional mean independence assumption. Ninguna variable está correlacionada con el error.

\[E(u_{1} \mid x_{i,1}, x_{i,2}, \dots, x_{i,k}) = 0\]

Ejercicio 3

#Clear the environment 
rm(list = ls()) 

#Lets create some variables! 
set.seed(1234567) 
  #good practice for when working with random vars (reproducibility) 

x <- rnorm(1000) #it creates 1000 random obs 
y <- matrix( 
  (5000 + 100*x) + rnorm(1000 * 500, mean=0, sd=1), ncol = 500 
  )  #Y = bo + b1x + u 
y <- data.frame(y)

# this loop renames i column names of Y matrix 
for (i in 1:ncol(y)){ 
  colnames(y)[i] <- paste0("y",i)
  }

# Run 500 regressions! 
betas <- 1:500
  #create an empty object with 500 entries   to be filled with the B1s 

for(i in 1:ncol(y)) {
  # This loop runs 500 regressions Yi on     X for i = 1 to 500
  
  betas[i] <- summary(lm(y[,i]~x))$coefficients[2,1]
  #extracts the coefficient beta 1 from the   matrix of results provided by R 
}
  1. The avg of all estimated betas 1 is:
mean(betas) 
## [1] 100.0009
  1. The histogram for estimated betas 1 is:
hist(betas, main = "Histogram of Beta 1", xlab = "Beta 1", col = "cadetblue2")

  1. De acuerdo con el histograma, el estimador parece ser BLUE. Digo esto porque los datos no están muy dispersos, sino que la mayoría se centra alrededor de 100 con una desviación estándar de 0.0309. Si no fuera BLUE, la distribución de betas estaría más dispersa.
sd(betas)
## [1] 0.03091896
  1. Los parametros lineales están asegurados cuando definimos la y, tal que el primer término de la suma es una suma de dos términos lineales. El segundo supuesto está asegurado con la obtención de los datos a través de la función rnorm. El tercer supuesto se cumple porque sólo hay una variable en el modelo. El último supuesto se cumple porque ?

Ejercicio 4

a.1 Con 100 observaciones

## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -22.0363  -7.2955  -0.3878   7.1238  30.5951 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   19.854      1.026  19.342   <2e-16 ***
## x              1.167      1.073   1.088    0.279    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.23 on 98 degrees of freedom
## Multiple R-squared:  0.01193,    Adjusted R-squared:  0.001853 
## F-statistic: 1.184 on 1 and 98 DF,  p-value: 0.2793

a.2 Con 10,000 observaciones

## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -26.9734  -7.4786   0.1363   7.5747  26.2401 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  19.0349     0.1053  180.74   <2e-16 ***
## x             2.0107     0.1060   18.97   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.53 on 9998 degrees of freedom
## Multiple R-squared:  0.03475,    Adjusted R-squared:  0.03465 
## F-statistic: 359.9 on 1 and 9998 DF,  p-value: < 2.2e-16

a.3 Con 100,000 observaciones

## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -29.8544  -7.1409   0.7237   6.9014  26.3892 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 18.12992    0.03371  537.79   <2e-16 ***
## x            1.99528    0.03362   59.36   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.66 on 99998 degrees of freedom
## Multiple R-squared:  0.03403,    Adjusted R-squared:  0.03402 
## F-statistic:  3523 on 1 and 99998 DF,  p-value: < 2.2e-16
  1. La fórmula del error estándar es \(SD(\beta) = \frac{\sigma}{\sqrt{n}}\). Por tanto, cuando $n $ el término de abajo de la fórmula se hace muy grande y el error estándar tiende a cero.

  2. El Error estandar de x con 100 observaciones es:

set.seed(1234567) 

x <- rnorm(100) #100 random obs 

resid <- rnorm(100, mean=0, sd=10) #random error 

y <- (20 + 2*x + resid) 

model <- lm (y ~ x) 

summary(model)$coefficients[2,2]
## [1] 1.072738

Aumentando la varianza de x indirectamente en la generación de datos podemos incrementar la desviación estandar a 100. El error estandar de la regresion ahora es:

set.seed(1234567) 

x <- rnorm(100, sd=100) #100 random obs 

resid <- rnorm(100, mean=0, sd=10) #random error 

y <- (20 + 2*x + resid) 

model <- lm (y ~ x) 

summary(model)#$coefficients[2,2]
## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -22.0363  -7.2955  -0.3878   7.1238  30.5951 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 19.85426    1.02650   19.34   <2e-16 ***
## x            1.99167    0.01073  185.66   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.23 on 98 degrees of freedom
## Multiple R-squared:  0.9972, Adjusted R-squared:  0.9971 
## F-statistic: 3.447e+04 on 1 and 98 DF,  p-value: < 2.2e-16
  1. El coeficiente ahora es:
set.seed(1234567) 

x <- rnorm(100, sd=100) #100 random obs 

resid <- rnorm(100, mean=20, sd=10) #random error 

y <- (20 + 2*x + resid) 

model <- lm (y ~ x) 

summary(model)$coefficients[1,1]
## [1] 39.85426

Tras la modificación \(\beta_{1}\) no cambia, por lo que el modificar la media del error no modifica el sesgo de \(\beta_{1}\).

Ejercicio 5

#Clear the environment 
  rm(list = ls()) 

repet <- 1000 
n <- 1000 
beta <- NULL 

set.seed(1234567) 

for (i in 1:repet){ 
  
    ## MRL2. Datos aleatorios ##
  x1 <- rnorm(n, mean=50, sd=10) 
  x2 <- (rnorm(n, mean=5, sd=30)+.1*x1) 
    # tiene relación con x1
    ## MRL3. No se cumple, porque x2 es combinación lineal de x1##
    ## MRL4. Variables no relacionadas con el error##
  
  u <- (rnorm(n, mean=0, sd=1)) 
  
    ## MLR1. Parametros lineales ##
  y = 2 + 2*x1 + 10*x2 + u 
    # we define y, so that beta1=2 and beta2=10.

    beta[i] <- lm(y~x1)$coef[2] 
  } 

hist(beta, main="suit yourself, n=1000", xlim = c(0,8) ) 
abline(v = mean(beta), col="red", lwd=3, lty=2 ) 
abline(v = 2, col="blue", lwd=3, lty=2)

  1. El estimador es sesgado, puesto que se viola el supuesto 3. Matemáticamente, creando una regresión entre las variables
mod <- lm(x1 ~ x2)
summary(mod)
## 
## Call:
## lm(formula = x1 ~ x2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -25.531  -6.821  -0.058   6.637  37.054 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 50.287670   0.328577 153.047   <2e-16 ***
## x2           0.006342   0.010536   0.602    0.547    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 9.818 on 998 degrees of freedom
## Multiple R-squared:  0.000363,   Adjusted R-squared:  -0.0006387 
## F-statistic: 0.3624 on 1 and 998 DF,  p-value: 0.5473

Para mostrar si es consistente ?

  1. Para que se cumpla el supuesto 3 debemos:
  # De la siguiente asignación debemos quitar la parte donde relacionamos x2 con x1. 
  x2 <- (rnorm(n, mean=5, sd=30)+.1*x1)

# De forma que quede así:
  x2 <- (rnorm(n, mean=5, sd=30)) 

Ejercicio 6

Se adjunta en foto.

Ejercicio 7

  1. Ceteris paribus, si la madre no fuma cigarros durante el embarazo el peso promedio del bebé será de 57.42 onzas. Ceteris paribus, por cada cigarro más que fume la madre durante el embarazo, el peso promedio del bebé disminuirá .49010 onzas.
library(wooldridge)
data("bwght")

# ?bwght

bwModel <- lm(bwght ~ cigs+ log(cigprice) + motheduc, data = bwght)
summary(bwModel)
## 
## Call:
## lm(formula = bwght ~ cigs + log(cigprice) + motheduc, data = bwght)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -96.099 -11.875   0.901  13.050 150.716 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   57.42201   33.11784   1.734   0.0832 .  
## cigs          -0.49010    0.09258  -5.294 1.39e-07 ***
## log(cigprice) 11.99962    6.81891   1.760   0.0787 .  
## motheduc       0.30047    0.23330   1.288   0.1980    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 20.11 on 1383 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.02638,    Adjusted R-squared:  0.02427 
## F-statistic: 12.49 on 3 and 1383 DF,  p-value: 4.621e-08
  1. Ceteris paribus, el valor del intercepto (4.23) se interpreta como el logaritmo del peso promedio del bebé (Z) cuando la variable independiente (x, número de cigarrillos) es igual a cero.Para obtener una interpretación más relevante en términos prácticos, la estimación del peso promedio del bebé en onzas cuando no se fuma durante el embarazo es:
exp(4.23)
## [1] 68.71723

Por otro lado, ceteris paribus, por cada cigarro más que fume la madre durante el embarazo, el peso promedio del bebé disminuirá .49010 onzas.

library(wooldridge)
data("bwght")

# ?bwght

bwModellog <- lm(lbwght ~ cigs+ log(cigprice) + motheduc, data = bwght)
summary(bwModellog)
## 
## Call:
## lm(formula = lbwght ~ cigs + log(cigprice) + motheduc, data = bwght)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.62808 -0.09041  0.02392  0.12213  0.82830 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    4.2322286  0.3107951  13.617  < 2e-16 ***
## cigs          -0.0042843  0.0008688  -4.931 9.17e-07 ***
## log(cigprice)  0.1033211  0.0639923   1.615    0.107    
## motheduc       0.0026107  0.0021894   1.192    0.233    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1887 on 1383 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.02289,    Adjusted R-squared:  0.02077 
## F-statistic:  10.8 on 3 and 1383 DF,  p-value: 5.141e-07

Ejercicio 8

Se adjunta en foto.