Autor : Gianfranco David Chamorro Rodriguez
Correo : gianfranco.chamorror@gmail.com
Canal : Video explicación
El presente documento solo estima los resultados por el método de mínimos cuadrados ordinarios sin evaluar los supuestos del modelo, la cual se realiza en el documento de Regresión lineal múltiple.
Haremos uso de los datos de la Tabla 5.5 del libro de Econometría de Damodar Gujarati, Quinta Edición,que nos brinda información sobre el salario promedio de un maestro de escuela pública (el sueldo anual está en dólares) y el gasto en educación pública por alumno (dólares) para 1985 en los 50 estados y el Distrito de Columbia en Estados Unidos. Observaremos si existe alguna relación entre el salario del maestro y el gasto por alumno en las escuelas públicas, se sugirió el siguiente modelo: \[\begin{equation*} Sueldo = \alpha + \beta \; Gasto + e \end{equation*}\]
Donde la variable Sueldo es el salario del maestro y la variable Gasto significa gasto por alumno.Realizaremos la estimación por el método de mínimos cuadrados ordinarios.
\[\begin{equation} Y = \alpha + \beta_1 X +e \end{equation}\]
Entonces :
\[\begin{equation*} e= Y - \alpha - \beta_1 X \end{equation*}\]
Recordemos que el método MCO minimiza la suma del cuadrado de las distancias verticales entre las respuestas observadas en la muestra y las respuestas del modelo.
\[ RSS= min\sum_{i=1}^{n}e_{i}^{2} \]
Recordando Condiciones de primer orden de minimización, las primeras derivadas de la función objetivo respecto de los coeficiente a estimar han de ser cero:
Hallamos \(\alpha\): \[ \sum_{i=1}^{n}e_{i}^{2}= \sum_{i=1}^{n} (Y - \alpha - \beta_1 X)^2 \]
\[ \dfrac{dRSS}{d \alpha} = 2 \sum_{i=1}^{n}( Y - \alpha - \beta_1 X) (-1) =0 \] \[ \sum_{i=1}^{n}Y - n\alpha - \beta_1 \sum_{i=1}^{n}X = 0\\ \]
\[\begin{equation*} \hat{\alpha}_{mco} = \bar{Y}-\beta_1 \bar{X} \end{equation*}\]
Hallamos \(\beta\):
\[ \dfrac{dRSS}{d \beta_1} = 2 \sum_{i=1}^{n}( Y - \alpha - \beta_1 X) (-X) =0 \]
\[ \sum_{i=1}^{n}YX - (\bar{Y}- \beta_1 \bar{X} ) \sum_{i=1}^{n}X -\beta_1 \sum_{i=1}^{n} X^2 = 0\\ \] \[ \sum YX - \bar{Y}\sum X + n\beta_1 \bar{X}^2 -\beta_1 \sum X^2 = 0\\ \] \[ \beta_1 (\sum X^2 - n\bar{X}^2)= \sum YX - \bar{Y} \sum X \\ \] \[ \beta_1 = \frac{\sum YX -\bar{Y} \sum X }{\sum X^2 -n\bar{X}^2 } = \frac{\sum YX - n \bar{Y} \bar{X}}{\sum X^2 -n\bar{X}^2} \]
\[\begin{equation*} \hat{\beta}_{mco} = \frac{COV(XY)}{VAR(X)} \end{equation*}\]
#Usaremos la BD de Github
file <- "https://raw.githubusercontent.com/Gianfrancocr27/Data-Set/main/gujarati55.csv"
datos <- read.csv(file=file, header=TRUE)
head(datos) # Nos muestra las 6 primeras filas
## salary spending
## 1 19583 3346
## 2 20263 3114
## 3 20325 3554
## 4 26800 4642
## 5 29470 4669
## 6 26610 4888
summary(datos) # Analizamos los estadísticos de nuestras variables
## salary spending
## Min. :18095 Min. :2297
## 1st Qu.:21495 1st Qu.:2974
## Median :23382 Median :3554
## Mean :24356 Mean :3697
## 3rd Qu.:26568 3rd Qu.:4082
## Max. :41480 Max. :8349
par(mfrow = c(2, 2)) #Configuramos un gráfico de 2x2 para el histograma y diagrama de Caja y Bigotes de cada variable
hist(datos$spending, breaks = 5, ylab = "Frecuencia", main = "", xlab = "Gasto", col="pink", border="blue")
hist(datos$salary, breaks = 5, ylab = "Frecuencia", main = "", xlab = "Salario", col="pink", border="blue")
mtext("Histogramas",
side = 3,
line = - 2,
outer = TRUE)
mtext("Diagrama de Caja y Bigotes",
side=3,
line=-17,
outer=TRUE)
boxplot(datos$spending, horizontal = TRUE, xlab = "Gasto", border = "black", whiskcol = "blue", col="pink")
boxplot(datos$salary, horizontal = TRUE, xlab = "Salario", border = "black", whiskcol = "blue", col="pink")
regresion <- lm(datos$salary ~ datos$spending) # La función “Linear Model” lm() es la función principal dentro de R para el cálculo de ajuste de un modelo lineal simple.
regresion # Nos muestra los estimadores obtenidos
##
## Call:
## lm(formula = datos$salary ~ datos$spending)
##
## Coefficients:
## (Intercept) datos$spending
## 12129.371 3.308
summary(regresion) # Los estadísticos del Modelo
##
## Call:
## lm(formula = datos$salary ~ datos$spending)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3848.0 -1844.6 -217.5 1660.0 5529.3
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.213e+04 1.197e+03 10.13 1.31e-13 ***
## datos$spending 3.308e+00 3.117e-01 10.61 2.71e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2325 on 49 degrees of freedom
## Multiple R-squared: 0.6968, Adjusted R-squared: 0.6906
## F-statistic: 112.6 on 1 and 49 DF, p-value: 2.707e-14
anova(regresion) # Análisis de Varianza
## Analysis of Variance Table
##
## Response: datos$salary
## Df Sum Sq Mean Sq F value Pr(>F)
## datos$spending 1 608555015 608555015 112.6 2.707e-14 ***
## Residuals 49 264825250 5404597
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
par(mfrow = c(1, 1)) #Configuramos un gráfico de 1x1
plot(datos$spending, datos$salary)
abline(regresion, col = "blue") # Añadimos la recta estimada por el modelo
residuo <- resid(regresion) # Obtenemos los residuos del modelo
plot(fitted(regresion), residuo) # Diagrrama de dispersión de los valores estimados y los residuos del modelo
abline(0,0) #añadimos una recta en el valor 0
plot(density(residuo)) #Histograma de densidad del residuo
library(tseries)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
jarque.bera.test(residuo) #Test de Normalidad Jarque Bera de los residuos
##
## Jarque Bera Test
##
## data: residuo
## X-squared = 2.1963, df = 2, p-value = 0.3335
summary(residuo) # Estadísticos de los residuos
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -3848.0 -1844.6 -217.5 0.0 1660.0 5529.3
qqnorm(residuo) # Gráfico Cuantil-Cuantil de los residuos