Pruebas sobre coeficientes individuales de regresión
Una vez determinado que al menos uno de los regresores es importante, la pregunta lógica es ¿cuál(es) sirve(n) de ellos? Si se agrega una variable a un modelo de regresión, la suma de cuadrados de la regresión aumenta, y la suma de cuadrados residuales disminuye. Se debe decidir si el aumento de la suma de cuadrados de la regresión es suficiente para garantizar el uso del regresor adicional en el modelo. La adición de un regresor también aumenta la varianza del valor ajustado \hat{y}, por lo que se debe tener cuidado de incluir sólo regresores que tengan valor para explicar la respuesta. Además, si se agrega un regresor no importante se puede aumentar el cuadrado medio de residuales, y con eso se disminuye la utilidad del modelo.
Las hipótesis para probar la significancia de cualquier coeficiente individual de regresión, como por ejemplo \beta_j, son:
H_0: \beta_j =0 \hspace{0.5cm} vs. \hspace{0.5cm} H_1: \beta_j \neq 0
Si no se rechaza H_0: \beta_j = 0, quiere decir que se puede eliminar el regresor x_j del modelo. El estadístico de prueba para esta hipótesis es:
donde C_{jj} es el elemento diagonal de (\mathbf{X}^t\mathbf{X})^{-1} que corresponde a \hat{\beta}_j. Se rechaza la hipótesis nula H_0: \beta_j = 0 si \vert{}t_0\vert{} > t_{\alpha/2, n-k-1}. Nótese que ésta es en realidad una prueba parcial o marginal, porque el coeficiente de regresión \hat{\beta}_j depende de todas las demás variables regresoras x_i (i \neq j), que hay en el modelo. Así, se trata de una prueba de la contribución de x_jdados los demás regresores del modelo.
Ejemplo 1.
La base de datos longley, incluida en el paquete datasets de R, contiene información macroeconómica histórica de Estados Unidos correspondiente al periodo de 1947 a 1962. Estos datos permiten analizar la relación entre el número de personas empleadas y diversos indicadores económicos y demográficos. En este ejercicio, se debe construir un modelo de regresión lineal múltiple para explicar el comportamiento del empleo a partir de seis variables explicativas. Realiza un análisis estadístico que permita identificar qué variables económicas y demográficas están asociadas con el número de personas empleadas en Estados Unidos durante el periodo estudiado.
Descripción de las variables
Employed: Número de personas empleadas; variable dependiente.
GNP.deflator: Deflactor del producto nacional bruto, indicador del nivel de precios.
GNP: Producto nacional bruto nominal.
Unemployed: Número de personas desempleadas.
Armed.Forces: Número de personas pertenecientes a las fuerzas armadas.
Population: Población total de referencia.
Year: Año de observación.
Análisis de Multicolinealidad
# Cargar librerías y datoslibrary(datasets)data(longley)# Ajuste del modelo de regresión lineal múltiplemodelo0 <-lm(Employed ~ GNP.deflator + GNP + Unemployed + Armed.Forces + Population + Year, data = longley)# Evaluación de Multicolinealidad (VIF)# Requiere el paquete 'car'if(!require(car)) install.packages("car")library(car)library(stats)vif(modelo0)
GNP.deflator GNP Unemployed Armed.Forces Population Year
135.53244 1788.51348 33.61889 3.58893 399.15102 758.98060
Con base en el VIF, se puede observar una presencia de multicolinealidad severa, ya que se obtiene que en diversas variables el VIF >5. Se decide eliminar la variable GNP ya que tiene el VIF mas alto.
# Ajuste del modelo de regresión lineal múltiplemodelo1 <-lm(Employed ~ GNP.deflator + Unemployed + Armed.Forces + Population + Year, data = longley)vif(modelo1)
GNP.deflator Unemployed Armed.Forces Population Year
78.372376 3.557776 2.800835 122.047678 271.189670
Se sigue presentando un problema severo de multicolinealidad, ahora la variable a eliminar es Year debido a que tiene el VIF mas alto.
# Ajuste del modelo de regresión lineal múltiplemodelo2 <-lm(Employed ~ GNP.deflator + Unemployed + Armed.Forces + Population, data = longley)vif(modelo2)
GNP.deflator Unemployed Armed.Forces Population
35.970754 3.147600 2.497795 34.588299
Ahora. los VIF se han reducido bastante, pero aún tenemos el VIF>5 para la variable GNP.deflator. Por lo que decidimos eliminarla también.
# Ajuste del modelo de regresión lineal múltiplemodelo3 <-lm(Employed ~ Unemployed + Armed.Forces + Population, data = longley)vif(modelo3)
Unemployed Armed.Forces Population
3.146686 1.918225 3.514335
Podemos observar ahora que los valores de VIF<5, por lo que la multicolinealidad ahora no es alarmante. Por lo tanto el modelo inicial de regresión lineal múltiple es:
donde x_1: Unemployed, x_2: Armed.Forces y x_3: Population.
Prueba de significancia del Modelo
Ahora procedemos a realizar la prueba de significancia del modelo de regresión:
summary(modelo3)
Call:
lm(formula = Employed ~ Unemployed + Armed.Forces + Population,
data = longley)
Residuals:
Min 1Q Median 3Q Max
-1.3835 -0.2868 -0.1353 0.3596 1.3382
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.323091 4.211566 -0.314 0.75880
Unemployed -0.012292 0.003354 -3.665 0.00324 **
Armed.Forces -0.001893 0.003516 -0.538 0.60019
Population 0.605146 0.047617 12.709 2.55e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6843 on 12 degrees of freedom
Multiple R-squared: 0.9696, Adjusted R-squared: 0.962
F-statistic: 127.7 on 3 and 12 DF, p-value: 2.272e-09
Contraste de hipótesisH_0: \beta_1=\beta_2=\beta_3=0 \hspace{1cm} vs. \hspace{1cm} H_1: \beta_j\neq 0 para alguna j=1,2,3.
Estadístico de PruebaF_0=\frac{MS_{Reg}}{MS_{Res}}=127.7
Región de Rechazo
Con un p-valor de 2.27 \times 10^{-9} y una significancia de \alpha=0.05, se cumple que p-valor es menor a \alpha, por lo que se rechaza H_0. Esto quiere decir que existe al menos una variable predictora entre Unemployed, Armed.Forces y Population que se relaciona de manera lineal con Employed.
Pruebas de hipótesis para los coeficientes individuales de regresión
Primero realizamos la prueba de significancia para las variables predictoras. Escogemos Armed.Forces porque es la que tiene un mayor p-valor.
Contraste de hipótesis
H_0: \beta_2 =0 \hspace{0.5cm} vs. \hspace{0.5cm} H_1: \beta_2 \neq 0
Estadístico de prueba
t_0=-0.538
Decisión
Con una significancia de \alpha=0.05 y un p-valor de 0.60019 se cumple que p-valor es mayor a \alpha, por lo que no existe evidencia suficiente para rechazar H_0. Y la conclusión es que el regresor $x_2: $Armed.Forces no contribuye en forma significativa al modelo, dado que Unemployed y Population ya está también en el modelo.
Tomando en consideración la prueba de hipótesis individual, entonces el modelo de regresión lineal múltiple no debería considerar a la variable Armed.Forces, por lo que decidimos eliminarla. Esto conduce a un nuevo modelo con la siguiente estructura:
y=\beta_0 + \beta_1x_1+\beta_3x_3 +\varepsilon
Ahora analizaremos el summary de este nuevo modelo
modelo4 <-lm(Employed ~ Unemployed + Population, data = longley)summary(modelo4)
Call:
lm(formula = Employed ~ Unemployed + Population, data = longley)
Residuals:
Min 1Q Median 3Q Max
-1.2975 -0.3420 -0.1206 0.4006 1.3560
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.135325 3.487991 -0.039 0.969641
Unemployed -0.011151 0.002528 -4.410 0.000704 ***
Population 0.587728 0.033967 17.303 2.34e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6654 on 13 degrees of freedom
Multiple R-squared: 0.9689, Adjusted R-squared: 0.9641
F-statistic: 202.5 on 2 and 13 DF, p-value: 1.598e-10
Prueba de significancia del Modelo sin Armed.Forces
Ahora procedemos a realizar la prueba de significancia del modelo de regresión:
Contraste de hipótesisH_0: \beta_1=\beta_3=0 \hspace{1cm} vs. \hspace{1cm} H_1: \beta_j\neq 0 para alguna j=1,3.
Estadístico de PruebaF_0=\frac{MS_{Reg}}{MS_{Res}}=202.5
Región de Rechazo
Con un p-valor de 1.59 \times 10^{-10} y una significancia de \alpha=0.05, se cumple que el p-valor es menor a \alpha, por lo que se rechaza H_0. Esto quiere decir que existe al menos una variable predictora entre Unemployed y Population que se relaciona de manera lineal con Employed.
Pruebas de hipótesis para los coeficientes individuales de regresión (Intercepto)
Ahora realizamos la prueba de significancia para el intercepto.
Contraste de hipótesis
H_0: \beta_0 =0 \hspace{0.5cm} vs. \hspace{0.5cm} H_1: \beta_0 \neq 0
Estadístico de prueba
t_0=-0.039
Decisión
Con una significancia de \alpha=0.05 y un p-valor de 0.9696 se cumple que p-valor es mayor a \alpha, por lo que no existe evidencia suficiente para rechazar H_0.
Important
El intercepto no resulta estadísticamente significativo (p > 0.05), la recomendación estándar en regresión lineal múltiple es mantener el intercepto en el modelo y no eliminarlo, salvo que exista una razón técnica muy específica.
¿Por qué ocurre esto en este modelo en particular?
En la base de datos longley:
Los valores de Población (Population) están en el rango de 107,608 a 130,081 (en miles).
Los valores de Desempleo (Unemployed) están entre 1,870 y 4,806 (en miles).
El intercepto (\hat{\beta}_0) representa el valor esperado del número de empleados (Employed) cuando Población = 0 y Desempleo = 0.
Dado que una población de 0 está lejos de los datos observados en la muestra (107,000 – 130,000), el intercepto es una extrapolación extrema. Su estimación tiene una varianza/error estándar muy elevado, lo que hace que no sea significativamente distinto de cero. Es un comportamiento totalmente normal cuando las variables independientes no están centradas en cero.
¿Qué debes hacer?
Mantener el intercepto (La mejor opción y recomendada)
Conservarlo: Deja el término del intercepto en tu código (lm(Employed ~ Population + Unemployed, data = longley) en R incluye el intercepto de forma predeterminada).
Cómo reportarlo: En el análisis concluyes que:
“El intercepto no resultó estadísticamente significativo (p > 0.05) dado que Population y Unemployed están en el modelo, lo cual es esperado dado que no existen observaciones con una población o desempleo igual a cero. Sin embargo, se mantiene en el modelo para garantizar que los errores tengan media cero y que las estimaciones de las pendientes de Population y Unemployed se mantengan insesgadas.”
Análisis de MS_{RES} y R^2_{adj}
summary(modelo3)
Call:
lm(formula = Employed ~ Unemployed + Armed.Forces + Population,
data = longley)
Residuals:
Min 1Q Median 3Q Max
-1.3835 -0.2868 -0.1353 0.3596 1.3382
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.323091 4.211566 -0.314 0.75880
Unemployed -0.012292 0.003354 -3.665 0.00324 **
Armed.Forces -0.001893 0.003516 -0.538 0.60019
Population 0.605146 0.047617 12.709 2.55e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6843 on 12 degrees of freedom
Multiple R-squared: 0.9696, Adjusted R-squared: 0.962
F-statistic: 127.7 on 3 and 12 DF, p-value: 2.272e-09
anova(modelo3)
Analysis of Variance Table
Response: Employed
Df Sum Sq Mean Sq F value Pr(>F)
Unemployed 1 46.716 46.716 99.76 3.628e-07 ***
Armed.Forces 1 57.043 57.043 121.81 1.221e-07 ***
Population 1 75.631 75.631 161.51 2.545e-08 ***
Residuals 12 5.619 0.468
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(modelo4)
Call:
lm(formula = Employed ~ Unemployed + Population, data = longley)
Residuals:
Min 1Q Median 3Q Max
-1.2975 -0.3420 -0.1206 0.4006 1.3560
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.135325 3.487991 -0.039 0.969641
Unemployed -0.011151 0.002528 -4.410 0.000704 ***
Population 0.587728 0.033967 17.303 2.34e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.6654 on 13 degrees of freedom
Multiple R-squared: 0.9689, Adjusted R-squared: 0.9641
F-statistic: 202.5 on 2 and 13 DF, p-value: 1.598e-10
anova(modelo4)
Analysis of Variance Table
Response: Employed
Df Sum Sq Mean Sq F value Pr(>F)
Unemployed 1 46.716 46.716 105.53 1.316e-07 ***
Population 1 132.538 132.538 299.39 2.343e-10 ***
Residuals 13 5.755 0.443
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1