El Teorema Gauss-Markov es un resultado importante en la teoría de la estimación de parámetros en modelos de regresión lineal ordinaria (MCO). Este teorema establece condiciones bajo las cuales los estimadores de mínimos cuadrados ordinarios (MCO) son los mejores estimadores lineales insesgados y de mínima varianza para los parámetros del modelo.
Insesezgamiento: El insesgamiento de un estimador se refiere a la propiedad de que, en promedio, el estimador no tiene sesgo cuando se calcula a partir de múltiples muestras de datos. En otras palabras, el valor esperado del estimador es igual al verdadero valor del parámetro que está estimando.
En el contexto de la regresión lineal, un estimador insesgado para un parámetro significa que, en promedio, el estimador no sobreestima ni subestima sistemáticamente el valor verdadero del parámetro.
Teorema Gauss-Markov: El teorema establece que, bajo ciertas condiciones, los estimadores de mínimos cuadrados ordinarios (MCO) son los mejores estimadores lineales insesgados y de mínima varianza para los parámetros del modelo de regresión lineal. Estas condiciones son:
Linealidad del modelo: El modelo de regresión es lineal en los parámetros. Los errores tienen una esperanza condicional de cero: Los errores tienen una media condicional de cero para todos los valores de las variables independientes.
Homoscedasticidad de los errores: Los errores tienen la misma varianza condicional para todos los valores de las variables independientes. Independencia de los errores: Los errores son independientes entre sí. No multicolinealidad: Las variables independientes no están perfectamente correlacionadas entre sí.
El teorema Gauss-Markov es fundamental porque proporciona un marco teórico para comprender las propiedades de los estimadores MCO en la regresión lineal. Además, establece que, bajo las condiciones especificadas, los estimadores MCO son los mejores estimadores lineales insesgados y de mínima varianza posibles, lo que los convierte en estimadores óptimos en términos de precisión y eficiencia.
Realicemos ahora el testeo de los supuestos del teorema. Vamos a utilizar la base de datos wage1 de Wooldridge
# install.packages("wooldridge")
library(wooldridge)
data("wage1")
modelo <- lm(wage ~ educ + exper + tenure, data = wage1)
El supuesto de linealidad en el Teorema de Gauss-Markov establece que la relación entre las variables independientes y la variable dependiente es lineal en los parámetros del modelo. En otras palabras, implica que el modelo de regresión es una combinación lineal de los coeficientes de las variables independientes.
Este supuesto es fundamental en la regresión lineal ordinaria (MCO - Mínimos Cuadrados Ordinarios), ya que el método MCO busca estimar los coeficientes de manera que la suma de los cuadrados de los residuos sea mínima, asumiendo una relación lineal entre las variables. Si este supuesto no se cumple, es decir, si la relación entre las variables no es lineal, los estimadores obtenidos mediante MCO pueden ser sesgados y poco confiables.
En la práctica, es importante verificar la linealidad de la relación entre las variables mediante técnicas gráficas y estadísticas, como gráficos de dispersión, gráficos residuales y pruebas de linealidad, para asegurarse de que el supuesto de linealidad se cumpla antes de aplicar el método MCO.
Cuando se dice que hay una relación lineal entre las variables dependientes e independientes, significa que el efecto de las variables independientes sobre la variable dependiente puede expresarse de manera lineal. En otras palabras, se puede modelar la relación entre estas variables mediante una ecuación lineal.
En el contexto de la regresión lineal, esto implica que la variable dependiente puede expresarse como una combinación lineal de las variables independientes, multiplicadas por coeficientes que representan la fuerza y dirección de la relación entre ellas.Matemáticamente, esto se expresa como:y= β0 + β1x1 + β2x2 +…βkxk + ε
La relación lineal implica que un cambio en una unidad en una variable independiente produce un cambio constante en la variable dependiente, manteniendo todas las demás variables independientes constantes. Este supuesto de linealidad es fundamental para el uso adecuado de técnicas de regresión lineal como los Mínimos Cuadrados Ordinarios (MCO).
Para verificar la linealidad de los datos en el contexto de un modelo de regresión lineal, existen varios métodos y pruebas que se pueden realizar. Algunas de las pruebas comunes incluyen:
Gráficos de dispersión: Puedes trazar gráficos de dispersión de las variables independientes contra la variable dependiente. Si los puntos se distribuyen aleatoriamente alrededor de una línea recta, esto sugiere una relación lineal. Sin embargo, asegúrate de verificar la homocedasticidad (varianza constante) de los residuos a lo largo del rango de las variables independientes.
Gráfico de residuos versus ajustes: Grafica los residuos estandarizados (residuos divididos por su desviación estándar) contra los valores ajustados (valores predichos por el modelo). Si no hay patrones claros en la dispersión de los puntos alrededor de cero, esto sugiere linealidad.
Gráfico Q-Q de residuos: Un gráfico cuantil-cuantil (Q-Q plot) de los residuos estandarizados puede mostrar si siguen una distribución normal, lo que es una suposición importante en muchos modelos de regresión.
Gráfico de regresión parcial: Este gráfico muestra la relación entre una variable independiente y la variable dependiente, controlando el efecto de otras variables independientes en el modelo.
Pruebas formales: Existen pruebas estadísticas formales como la prueba Rainbow, que evalúa la linealidad de un modelo de regresión a partir de la forma de los residuos. También puedes realizar pruebas de heterocedasticidad para verificar la homocedasticidad de los residuos.
Estas pruebas y gráficos te ayudarán a evaluar si la relación entre las variables en tu modelo de regresión es lineal.
plot(wage1$educ, wage1$wage, main = "Gráfico de dispersión de wage versus educ",
xlab = "Educación", ylab = "Salario", pch = 16, col = "blue")
# Añadir la línea de regresión ajustada
abline(modelo, col = "red")
## Warning in abline(modelo, col = "red"): only using the first two of 4
## regression coefficients
En el gráfico de dispersión con la línea de regresión ajustada, puedes
interpretar lo siguiente:
Puntos dispersos: Cada punto en el gráfico representa una observación individual en tus datos. La posición de cada punto en el eje x (educación) corresponde al valor de la variable independiente, y en el eje y (salario) corresponde al valor de la variable dependiente. Línea de regresión ajustada: La línea roja representa la relación ajustada entre la variable independiente (educación) y la variable dependiente (salario) según el modelo de regresión que has ajustado. Esta línea muestra la tendencia general de los datos y cómo el salario cambia en promedio con cambios en el nivel de educación. Dirección de la línea: Si la línea de regresión tiene una pendiente positiva, indica que hay una relación positiva entre la educación y el salario, es decir, a medida que aumenta la educación, el salario tiende a aumentar. Si la pendiente es negativa, indica una relación negativa, donde un aumento en la educación se asocia con una disminución en el salario. Dispersión alrededor de la línea: La dispersión de los puntos alrededor de la línea de regresión muestra la variabilidad de los datos y cuánto se ajustan los valores observados a la línea de regresión. Una dispersión más estrecha indica una mejor ajuste del modelo a los datos, mientras que una dispersión más amplia sugiere una mayor variabilidad que podría no ser capturada por el modelo.
residuos <- resid(modelo)
valores_ajustados <- fitted(modelo)
plot(valores_ajustados, residuos,
main = "Gráfico de Residuos vs. Valores Ajustados",
xlab = "Valores Ajustados", ylab = "Residuos")
abline(h = 0, col = "red", lty = 2)
En un gráfico de residuos vs valores ajustados, la interpretación se centra en verificar si los residuos exhiben algún patrón sistemático o tendencia a medida que los valores ajustados cambian. Aquí hay algunas pautas para interpretar este tipo de gráfico:
Homocedasticidad: Si los residuos tienen una dispersión constante alrededor de la línea horizontal en y = 0, indica que la varianza de los errores es constante en todos los niveles de los valores ajustados. Esto se conoce como homocedasticidad y es un supuesto importante en el análisis de regresión. Si los residuos muestran un patrón de abanico o cono alrededor de la línea horizontal, puede indicar heterocedasticidad, lo que sugiere que la varianza de los errores no es constante. Linealidad: Si los residuos están distribuidos de manera aleatoria alrededor de la línea horizontal, sin mostrar un patrón sistemático en forma de curva, arco o cualquier otra forma no lineal, indica que la relación entre la variable dependiente y las variables independientes es lineal. Valores atípicos y puntos influenciales: Los valores atípicos y los puntos influenciales pueden identificarse como observaciones que se desvían significativamente de la distribución de los residuos. Estos puntos pueden tener un impacto desproporcionado en la estimación de los parámetros del modelo y deben ser investigados más a fondo para determinar si deben ser excluidos del análisis.
Un Q-Q plot (Quantile-Quantile plot) es una herramienta gráfica que se utiliza para evaluar si una distribución de datos se ajusta a una distribución teórica, como la distribución normal.
residuos <- resid(modelo)
qqnorm(residuos)
qqline(residuos, col="blue")
shapiro.test(residuos) # h0= datos normales
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.89317, p-value < 2.2e-16
La prueba de normalidad de Shapiro-Wilk se utiliza para evaluar si una muestra de datos sigue una distribución normal. En este caso, la prueba se realizó sobre los residuos del modelo de regresión.
Dado que el p-valor es significativamente menor que cualquier nivel de significancia comúnmente utilizado (como 0.05), hay evidencia estadística suficiente para rechazar la hipótesis nula de que los residuos siguen una distribución normal.
Esto sugiere que los residuos del modelo de regresión no se distribuyen normalmente. Es importante tener en cuenta esta falta de normalidad al interpretar los resultados del modelo y al realizar inferencias basadas en él.
Para mejorar la normalidad de los datos, especialmente en el contexto de modelos de regresión, se pueden aplicar varias técnicas.
Transformaciones de datos: Aplicar transformaciones matemáticas a las variables puede ayudar a que los datos se distribuyan de manera más cercana a una distribución normal. Algunas transformaciones comunes incluyen la transformación logarítmica, la raíz cuadrada, la transformación Box-Cox, entre otras.
Identificar y tratar valores atípicos: Los valores atípicos pueden sesgar la distribución de los datos y afectar la normalidad. Identificar y tratar adecuadamente estos valores puede ayudar a mejorar la normalidad de los datos.
Incluir variables adicionales: A veces, la introducción de variables adicionales en el modelo puede capturar mejor la variabilidad de los datos y mejorar la normalidad de los residuos. Esto puede incluir términos de interacción, términos cuadráticos u otras variables relevantes que no se hayan considerado inicialmente.
Utilizar modelos alternativos: Si los datos no se pueden transformar fácilmente para lograr la normalidad, considerar el uso de modelos estadísticos robustos que no requieran supuestos sobre la distribución de los datos, como la regresión robusta.
Validación cruzada y selección de características: Utilizar técnicas de validación cruzada y selección de características puede ayudar a identificar las variables más importantes para el modelo y eliminar aquellas que no contribuyan significativamente a la normalidad de los datos.
Es importante recordar que no siempre es posible lograr una distribución completamente normal de los datos, y en muchos casos, pequeñas desviaciones de la normalidad pueden ser aceptables siempre que se cumplan otros supuestos del modelo de regresión.
Un gráfico de regresión parcial, también conocido como gráfico de componentes parciales, es una herramienta útil para evaluar la linealidad de una relación entre una variable independiente y una variable dependiente en un modelo de regresión múltiple.
#install.packages("car")
#install.packages("ggplot2")
library(car)
## Loading required package: carData
library(ggplot2)
Ajustar el modelo de regresión: Ajusta el modelo de regresión múltiple que quieres evaluar.
modelo <- lm(wage ~ educ + exper + tenure, data = wage1)
Crear el gráfico de regresión parcial: Utiliza la función crPlots() del paquete car para crear el gráfico de regresión parcial.
crPlots(modelo)
Esto generará un gráfico de regresión parcial para cada variable
independiente en el modelo, mostrando la relación entre cada variable
independiente y la variable dependiente, controlando los efectos de las
otras variables independientes en el modelo.
Para interpretar el grafico inspecciona los gráficos para evaluar la linealidad de la relación entre cada variable independiente y la variable dependiente. Si los puntos en el gráfico siguen una tendencia lineal, sugiere que la relación es aproximadamente lineal. Si los puntos muestran patrones no lineales, puede indicar que la relación no es lineal y se necesitan ajustes adicionales en el modelo.
Un gráfico de regresión parcial que muestra una tendencia lineal se vería como una dispersión de puntos alrededor de una línea recta. Cada punto en el gráfico representaría una observación de la variable independiente en el eje x y su correspondiente valor predicho en la variable dependiente en el eje y, controlando los efectos de las otras variables independientes en el modelo.
Por otro lado, si hay patrones lineales presentes en el gráfico, estos podrían aparecer como segmentos de líneas rectas o curvas que siguen una tendencia definida en lugar de una dispersión aleatoria de puntos. Esto sugeriría que la relación entre la variable independiente y la variable dependiente no es completamente lineal y podría requerir ajustes adicionales en el modelo.
En resumen, un gráfico de regresión parcial que muestra una tendencia lineal se caracterizaría por puntos dispersos alrededor de una línea recta, mientras que patrones lineales podrían manifestarse como segmentos de líneas rectas o curvas definidas en el gráfico.
Recuerda que el gráfico de regresión parcial es solo una herramienta para evaluar la linealidad y otras suposiciones del modelo de regresión. Es importante realizar una evaluación completa de todas las suposiciones del modelo antes de interpretar los resultados.
El supuesto de no colinealidad en modelos de regresión lineal implica que las variables predictoras no deben estar altamente correlacionadas entre sí. La colinealidad puede causar problemas en la estimación de los coeficientes del modelo y en la interpretación de los resultados.
Para evaluar la colinealidad entre las variables predictoras, se pueden utilizar varias técnicas:
Matriz de correlación: Calcular la matriz de correlación entre todas las variables predictoras. Valores de correlación cercanos a 1 o -1 indican alta colinealidad.
VIF (variance inflation factor): El VIF mide cuánto aumenta la varianza de los coeficientes de regresión debido a la colinealidad entre las variables predictoras. Valores de VIF mayores a 10 o 5 indican colinealidad significativa. Análisis de componentes principales (PCA): PCA puede ayudar a identificar patrones de colinealidad entre las variables predictoras al reducir la dimensionalidad de los datos y encontrar combinaciones lineales de variables que capturen la mayor variabilidad.
Si se encuentra evidencia de colinealidad, se pueden tomar medidas correctivas, como:
Eliminar variables altamente correlacionadas. Combinar variables para crear nuevas variables que capturen la misma información. Utilizar técnicas de regularización como la regresión Ridge o LASSO. Realizar transformaciones de variables para reducir la correlación. Utilizar métodos de selección de características para identificar un subconjunto óptimo de variables predictoras. Es importante abordar la colinealidad para garantizar la precisión y la estabilidad de los coeficientes estimados en el modelo de regresión.
correlation_matrix <- cor(wage1[c("wage", "educ", "exper", "tenure")])
library(ggplot2)
# install.packages("reshape2")
library(reshape2)
correlation_df <- melt(correlation_matrix)
ggplot(correlation_df, aes(Var1, Var2, fill = value)) +
geom_tile(color = "white") +
scale_fill_gradient2(low = "blue", high = "red", mid = "white",
midpoint = 0, limit = c(-1, 1), space = "Lab",
name="Correlation") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, vjust = 1,
size = 12, hjust = 1))
# install.packages("car")
library(car)
vif(modelo)
## educ exper tenure
## 1.112771 1.477618 1.349296
El factor de inflación de la varianza (VIF) mide cuánto aumenta la varianza de un coeficiente de regresión debido a la multicolinealidad con otras variables en el modelo. Un VIF mayor que 10 o 5 a menudo se considera indicativo de multicolinealidad problemática, aunque el umbral exacto puede variar dependiendo del contexto.
Todos los valores de VIF son relativamente bajos, lo que sugiere que la multicolinealidad no es un problema importante en este modelo.
El supuesto cuatro del Teorema de Gauss-Markov establece que los errores (residuos) de la regresión lineal ordinaria (MCO - Mínimos Cuadrados Ordinarios) tienen media cero y son homocedásticos (supuesto 5), es decir, tienen varianza constante. En otras palabras:
Media Cero: Significa que, en promedio, los errores de la regresión son cero. Esto implica que la regresión no tiene un sesgo sistemático hacia arriba o hacia abajo en la predicción de los valores observados.
Homocedasticidad: Esto indica que la varianza de los errores es constante en todos los niveles de las variables independientes. En otras palabras, no hay patrones discernibles en la variabilidad de los errores a medida que cambian los valores de las variables predictoras.
Para realizar una prueba para verificar si el supuesto de media condicional igual a cero se cumple en tu modelo de regresión, puedes utilizar el test de Breusch-Pagan o el test de White. Estos tests evalúan si el término de error tiene una media condicional de cero, lo que significa que no hay sesgo sistemático en las predicciones del modelo.
Ambos tests evalúan si la varianza de los residuos es constante (supuesto 5 homocedasticidad) y si no hay correlación serial en los residuos (supuesto 4, media condicioanal =0), además del supuesto de media condicional igual a cero. h0= se cumple supuesto de media condicional y hay homocedasticidad
# install.packages("lmtest")
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
bptest(modelo)
##
## studentized Breusch-Pagan test
##
## data: modelo
## BP = 43.096, df = 3, p-value = 2.349e-09
El resultado del test de Breusch-Pagan muestra un valor p muy pequeño (2.349e-09), lo que indica que existe evidencia significativa en contra de la hipótesis nula de homocedasticidad (varianza constante de los residuos). Esto sugiere que los residuos no tienen varianza constante, lo que podría violar el supuesto de homocedasticidad del modelo de regresión lineal.
# white.test(modelo)
Cuando se rechaza la hipótesis nula en el test de Breusch-Pagan, sugiere que la varianza de los residuos no es constante, lo que indica la presencia de heterocedasticidad. Esto puede tener implicaciones en la precisión de los estimadores y en la validez de las pruebas de significancia asociadas al modelo
En resumen, el resultado del test sugiere que hay heterocedasticidad en los residuos, lo que debe ser considerado al interpretar los resultados del modelo de regresión.
Estrategias para resolver el problema de heterocedasticidad Hay varias estrategias que se pueden emplear para abordar el problema de la heterocedasticidad en un modelo de regresión:
Transformación de variables: A veces, transformar las variables en el modelo puede ayudar a estabilizar la varianza de los residuos. Por ejemplo, aplicar logaritmos o raíces cuadradas a las variables puede reducir la heterocedasticidad.
Utilizar un modelo robusto: Los modelos robustos, como la regresión robusta de Mínimos Cuadrados Ordinarios (MCO), pueden manejar la heterocedasticidad proporcionando estimaciones de los coeficientes y errores estándar que son menos sensibles a las violaciones del supuesto de homocedasticidad.
Variables auxiliares: Incluir variables adicionales en el modelo que puedan explicar la heterocedasticidad. Por ejemplo, agregar términos de interacción o términos cuadráticos de las variables predictoras.
Corrección de White: Algunas pruebas estadísticas permiten corregir la heterocedasticidad. Por ejemplo, el método de White (o “corrección de White”) ajusta los errores estándar en función de la estructura de correlación de los residuos.
Especificar un modelo alternativo: Si la heterocedasticidad persiste incluso después de considerar las estrategias anteriores, puede ser necesario especificar un modelo alternativo que sea más adecuado para los datos.
Es importante considerar las implicaciones teóricas y prácticas de cada enfoque y seleccionar la estrategia más apropiada según el contexto específico del problema y los datos disponibles.
##Alternativa de trasnformación de variables Para corregir el problema de heterocedasticidad, una posible estrategia es aplicar una transformación a las variables en el modelo. Una transformación comúnmente utilizada es la transformación logarítmica, que puede ayudar a estabilizar la varianza de los residuos.
En este caso, puedes intentar aplicar una transformación logarítmica a la variable dependiente (wage) para ver si ayuda a reducir la heterocedasticidad. Aquí tienes cómo hacerlo:
# install.packages("robustbase")
library(robustbase)
##
## Attaching package: 'robustbase'
## The following objects are masked from 'package:wooldridge':
##
## alcohol, pension
# Aplicar transformación logarítmica a la variable dependiente
wage1$log_wage <- log(wage1$wage)
# Ajustar un nuevo modelo de regresión con la variable dependiente transformada
modelo_transformado <- lmrob(formula = log_wage ~ educ + exper + tenure, data = wage1)
# Ver el resumen del nuevo modelo
summary(modelo_transformado)
##
## Call:
## lmrob(formula = log_wage ~ educ + exper + tenure, data = wage1)
## \--> method = "MM"
## Residuals:
## Min 1Q Median 3Q Max
## -2.04686 -0.28690 -0.02158 0.29720 1.44157
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.280065 0.114944 2.437 0.0152 *
## educ 0.091299 0.008347 10.937 < 2e-16 ***
## exper 0.003319 0.001819 1.825 0.0686 .
## tenure 0.026371 0.004462 5.909 6.2e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Robust residual standard error: 0.387
## Multiple R-squared: 0.3607, Adjusted R-squared: 0.357
## Convergence in 14 IRWLS iterations
##
## Robustness weights:
## observation 24 is an outlier with |weight| = 0 ( < 0.00019);
## 37 weights are ~= 1. The remaining 488 ones are summarized as
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.1001 0.8599 0.9432 0.8902 0.9831 0.9990
## Algorithmic parameters:
## tuning.chi bb tuning.psi refine.tol
## 1.548e+00 5.000e-01 4.685e+00 1.000e-07
## rel.tol scale.tol solve.tol zero.tol
## 1.000e-07 1.000e-10 1.000e-07 1.000e-10
## eps.outlier eps.x warn.limit.reject warn.limit.meanrw
## 1.901e-04 9.277e-11 5.000e-01 5.000e-01
## nResample max.it best.r.s k.fast.s k.max
## 500 50 2 1 200
## maxit.scale trace.lev mts compute.rd fast.s.large.n
## 200 0 1000 0 2000
## psi subsampling cov
## "bisquare" "nonsingular" ".vcov.avar1"
## compute.outlier.stats
## "SM"
## seed : int(0)
En este código, log(wage1$wage) calcula el logaritmo natural de la variable de salario. Luego, un nuevo modelo de regresión se ajusta utilizando la variable de salario transformada. El resumen del modelo mostrará los resultados de esta nueva regresión.
Si la transformación logarítmica no es suficiente para corregir la heterocedasticidad, pueden ser necesarias otras transformaciones o métodos robustos para abordar el problema.
El resumen del modelo robusto (abajo se explica el modelo de regresion robusto) con la variable dependiente transformada (logaritmo natural del salario) muestra los siguientes resultados:
Coeficientes Estimados: (Intercept): El coeficiente estimado para la variable de intercepción es 0.280065. Es estadísticamente significativo (p = 0.0152), lo que indica que el logaritmo del salario tiene un valor positivo cuando todas las variables predictoras son cero. educ: El coeficiente estimado para la variable educación es 0.091299. Es altamente significativo (p < 0.001), lo que sugiere que un aumento de una unidad en la educación se asocia, en promedio, con un aumento de 0.091299 unidades en el logaritmo del salario, manteniendo las otras variables constantes. exper: El coeficiente estimado para la variable experiencia es 0.003319. Aunque no es significativo al nivel convencional de 0.05 (p = 0.0686), sugiere una relación positiva entre la experiencia y el logaritmo del salario. tenure: El coeficiente estimado para la variable permanencia es 0.026371. Es altamente significativo (p < 0.001), lo que indica que un aumento de una unidad en la permanencia se asocia, en promedio, con un aumento de 0.026371 unidades en el logaritmo del salario, manteniendo las otras variables constantes.
Robustez y Heterocedasticidad: El error estándar robusto es de 0.387, lo que sugiere que los errores estándar se estimaron utilizando un enfoque robusto que es menos sensible a la heterocedasticidad. La R-cuadrada múltiple es 0.3607, lo que indica que aproximadamente el 36.07% de la variabilidad en el logaritmo del salario puede explicarse por las variables educación, experiencia y permanencia en el modelo. Se detecta un valor atípico (observación 24) con un peso de robustez de cero, lo que indica una posible influencia anómala en la estimación del modelo. Los algoritmos y parámetros utilizados en la estimación del modelo robusto se muestran al final del resumen.
En resumen, el modelo robusto con la variable dependiente transformada sugiere que la educación y la permanencia tienen efectos significativos en el logaritmo del salario, mientras que la experiencia tiene una asociación marginal. Además, los errores estándar robustos proporcionan una estimación más confiable de la precisión de los coeficientes, considerando la posible presencia de heterocedasticidad en los datos.
install.packages("robustbase")
## Warning: package 'robustbase' is in use and will not be installed
library(robustbase)
modelo_robusto <- lmrob(formula = wage ~ educ + exper + tenure, data = wage1)
summary(modelo_robusto)
##
## Call:
## lmrob(formula = wage ~ educ + exper + tenure, data = wage1)
## \--> method = "MM"
## Residuals:
## Min 1Q Median 3Q Max
## -5.76839 -1.21874 -0.06038 1.67714 16.04752
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.657757 0.671919 -0.979 0.328
## educ 0.399949 0.052823 7.571 1.69e-13 ***
## exper 0.011531 0.009065 1.272 0.204
## tenure 0.126651 0.028555 4.435 1.12e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Robust residual standard error: 1.891
## Multiple R-squared: 0.2893, Adjusted R-squared: 0.2852
## Convergence in 22 IRWLS iterations
##
## Robustness weights:
## 15 observations c(10,15,16,59,66,105,112,186,229,245,260,278,440,505,522)
## are outliers with |weight| <= 9.8e-06 ( < 0.00019);
## 35 weights are ~= 1. The remaining 476 ones are summarized as
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.001137 0.841200 0.949800 0.864700 0.985100 0.999000
## Algorithmic parameters:
## tuning.chi bb tuning.psi refine.tol
## 1.548e+00 5.000e-01 4.685e+00 1.000e-07
## rel.tol scale.tol solve.tol zero.tol
## 1.000e-07 1.000e-10 1.000e-07 1.000e-10
## eps.outlier eps.x warn.limit.reject warn.limit.meanrw
## 1.901e-04 9.277e-11 5.000e-01 5.000e-01
## nResample max.it best.r.s k.fast.s k.max
## 500 50 2 1 200
## maxit.scale trace.lev mts compute.rd fast.s.large.n
## 200 0 1000 0 2000
## psi subsampling cov
## "bisquare" "nonsingular" ".vcov.avar1"
## compute.outlier.stats
## "SM"
## seed : int(0)
Esto ajustará un modelo de regresión robusta utilizando Mínimos Cuadrados Ordinarios Robustos (MCO) y mostrará un resumen de los resultados. La estimación de los coeficientes y los errores estándar en este modelo serán menos sensibles a la heterocedasticidad en comparación con el modelo de regresión lineal ordinario.
El resumen del modelo robusto proporciona información sobre los coeficientes estimados, los errores estándar robustos, los valores t y los valores p asociados, así como algunas estadísticas adicionales. Aquí está la interpretación de los resultados:
Coeficientes Estimados: (Intercept): El coeficiente estimado para la variable de intercepción es -0.657757. Sin embargo, no es significativamente diferente de cero (p = 0.328), lo que indica que, para valores cero de las variables predictoras, el salario no es estadísticamente diferente de cero. educ: El coeficiente estimado para la variable educación es 0.399949. Es altamente significativo (p < 0.001), lo que sugiere que un aumento de una unidad en la educación se asocia, en promedio, con un aumento de 0.399949 unidades en el salario, manteniendo las otras variables constantes. exper: El coeficiente estimado para la variable experiencia es 0.011531. Sin embargo, no es significativamente diferente de cero (p = 0.204), lo que sugiere que la relación entre la experiencia y el salario no es estadísticamente significativa. tenure: El coeficiente estimado para la variable permanencia es 0.126651. Es altamente significativo (p < 0.001), lo que indica que un aumento de una unidad en la permanencia se asocia, en promedio, con un aumento de 0.126651 unidades en el salario, manteniendo las otras variables constantes.
Robustez y Heterocedasticidad: El error estándar robusto es de 1.891, lo que sugiere que los errores estándar se estimaron utilizando un enfoque robusto que es menos sensible a la heterocedasticidad. La R-cuadrada múltiple es 0.2893, lo que indica que aproximadamente el 28.93% de la variabilidad en el salario puede explicarse por las variables educación, experiencia y permanencia en el modelo. Los pesos de robustez proporcionan información sobre la importancia relativa de cada observación en la estimación del modelo, con valores cercanos a 1 indicando que la observación tiene un impacto significativo en la estimación del modelo. Los algoritmos y parámetros utilizados en la estimación del modelo robusto se muestran al final del resumen. Estos parámetros son específicos del método de estimación utilizado.
En resumen, el modelo robusto sugiere que la educación y la permanencia tienen efectos significativos en el salario, mientras que la experiencia no es estadísticamente significativa. Además, los errores estándar robustos proporcionan una estimación más confiable de la precisión de los coeficientes, considerando la posible presencia de heterocedasticidad en los datos.
Para abordar la heterocedasticidad mediante la inclusión de variables auxiliares, podemos agregar términos de interacción o términos cuadráticos de las variables predictoras al modelo.
Modelo con Términos de Interacción
# Agregar términos de interacción al modelo
modelo_interaccion <- lmrob(formula = log_wage ~ educ + exper + tenure + educ*exper + educ*tenure + exper*tenure, data = wage1)
# Ver el resumen del nuevo modelo con términos de interacción
summary(modelo_interaccion)
##
## Call:
## lmrob(formula = log_wage ~ educ + exper + tenure + educ * exper + educ *
## tenure + exper * tenure, data = wage1)
## \--> method = "MM"
## Residuals:
## Min 1Q Median 3Q Max
## -1.99929 -0.25936 -0.01997 0.26723 1.41936
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.0618917 0.1380340 0.448 0.65407
## educ 0.1015035 0.0108162 9.384 < 2e-16 ***
## exper 0.0176410 0.0046574 3.788 0.00017 ***
## tenure 0.0673039 0.0166985 4.031 6.40e-05 ***
## educ:exper -0.0009769 0.0004397 -2.222 0.02674 *
## educ:tenure 0.0002825 0.0009105 0.310 0.75652
## exper:tenure -0.0013242 0.0002379 -5.566 4.19e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Robust residual standard error: 0.3681
## Multiple R-squared: 0.4242, Adjusted R-squared: 0.4176
## Convergence in 13 IRWLS iterations
##
## Robustness weights:
## 2 observations c(24,74) are outliers with |weight| = 0 ( < 0.00019);
## 45 weights are ~= 1. The remaining 479 ones are summarized as
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.01178 0.85510 0.94540 0.88620 0.98570 0.99900
## Algorithmic parameters:
## tuning.chi bb tuning.psi refine.tol
## 1.548e+00 5.000e-01 4.685e+00 1.000e-07
## rel.tol scale.tol solve.tol zero.tol
## 1.000e-07 1.000e-10 1.000e-07 1.000e-10
## eps.outlier eps.x warn.limit.reject warn.limit.meanrw
## 1.901e-04 3.762e-09 5.000e-01 5.000e-01
## nResample max.it best.r.s k.fast.s k.max
## 500 50 2 1 200
## maxit.scale trace.lev mts compute.rd fast.s.large.n
## 200 0 1000 0 2000
## psi subsampling cov
## "bisquare" "nonsingular" ".vcov.avar1"
## compute.outlier.stats
## "SM"
## seed : int(0)
Modelo con Términos Cuadráticos:
# Agregar términos cuadráticos al modelo
modelo_cuadratico <- lmrob(formula = log_wage ~ educ + exper + tenure + I(educ^2) + I(exper^2) + I(tenure^2), data = wage1)
## Warning in lmrob.S(x, y, control = control): S refinements did not converge (to
## refine.tol=1e-07) in 200 (= k.max) steps
## Warning in lmrob.fit(x, y, control, init = init): initial estim. 'init' not
## converged -- will be return()ed basically unchanged
# Ver el resumen del nuevo modelo con términos cuadráticos
summary(modelo_cuadratico)
##
## Call:
## lmrob(formula = log_wage ~ educ + exper + tenure + I(educ^2) + I(exper^2) +
## I(tenure^2), data = wage1)
## \--> method = "S"
## Residuals:
## Min 1Q Median 3Q Max
## -1.887594 -0.217143 0.005467 0.242532 1.421858
##
## Algorithm did not converge
##
## Coefficients of the *initial* S-estimator:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.1558846 NA NA NA
## educ -0.0854197 NA NA NA
## exper 0.0168261 NA NA NA
## tenure 0.0654500 NA NA NA
## I(educ^2) 0.0070159 NA NA NA
## I(exper^2) -0.0003813 NA NA NA
## I(tenure^2) -0.0009181 NA NA NA
##
## Robustness weights:
## 98 observations c(12,13,15,16,17,24,28,29,31,36,40,41,42,51,58,59,62,68,70,74,95,105,107,115,120,125,128,142,150,166,172,174,177,178,179,186,188,198,200,203,208,212,217,218,229,230,231,235,237,241,245,248,260,282,283,287,297,300,314,339,341,347,355,367,369,378,381,382,386,393,398,399,405,406,426,436,438,440,448,449,450,453,457,458,461,463,464,465,473,498,502,505,513,516,521,522,524,525)
## are outliers with |weight| <= 1.4e-05 ( < 0.00019);
## 25 weights are ~= 1. The remaining 403 ones are summarized as
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0002275 0.4451000 0.7905000 0.6695000 0.9446000 0.9988000
## Algorithmic parameters:
## tuning.chi bb tuning.psi refine.tol
## 1.548e+00 5.000e-01 4.685e+00 1.000e-07
## rel.tol scale.tol solve.tol zero.tol
## 1.000e-07 1.000e-10 1.000e-07 1.000e-10
## eps.outlier eps.x warn.limit.reject warn.limit.meanrw
## 1.901e-04 4.731e-09 5.000e-01 5.000e-01
## nResample max.it best.r.s k.fast.s k.max
## 500 50 2 1 200
## maxit.scale trace.lev mts compute.rd fast.s.large.n
## 200 0 1000 0 2000
## psi subsampling cov
## "bisquare" "nonsingular" ".vcov.avar1"
## compute.outlier.stats
## "SM"
## seed : int(0)
En ambos modelos, se agregan términos de interacción y términos cuadráticos de las variables predictoras para capturar posibles relaciones no lineales y efectos de interacción que puedan contribuir a la heterocedasticidad. Los resúmenes de los modelos te proporcionarán información sobre la significancia de estos términos adicionales y cómo afectan la explicación de la variabilidad en el logaritmo del salario.
Los términos de interacción y cuadráticos son útiles para capturar posibles relaciones no lineales en el modelo de regresión.
Términos de Interacción: Captura de Interacciones no Lineales: Los términos de interacción permiten modelar cómo el efecto de una variable predictora puede cambiar dependiendo del nivel de otra variable predictora. Esto es útil cuando existe una relación no lineal entre las variables predictoras y la variable dependiente que no puede ser capturada por simples términos lineales. Flexibilidad del Modelo: Al incluir términos de interacción, el modelo se vuelve más flexible y puede ajustarse mejor a patrones de datos complejos donde la relación entre las variables puede cambiar en diferentes rangos de valores. Términos Cuadráticos: Captura de Relaciones Cuadráticas: Los términos cuadráticos permiten modelar relaciones cuadráticas entre una variable predictora y la variable dependiente. Esto es útil cuando la relación entre las variables no es estrictamente lineal, sino que tiene una forma curvilínea. Flexibilidad Adicional: Al incluir términos cuadráticos, el modelo puede capturar patrones no lineales más complejos que no pueden ser modelados adecuadamente con términos lineales simples. En resumen, tanto los términos de interacción como los términos cuadráticos proporcionan flexibilidad adicional al modelo de regresión para capturar relaciones no lineales entre las variables predictoras y la variable dependiente, lo que ayuda a mejorar la capacidad del modelo para explicar la variabilidad en los datos y abordar problemas de heterocedasticidad.