Regresión lineal múltiple (MCO)
Genera el código R o Stata para estimar un modelo de regresión lineal por Mínimos Cuadrados Ordinarios.
¿Qué es la regresión lineal múltiple por MCO?
La regresión lineal múltiple es la técnica que estima cómo varias variables explicativas influyen sobre una variable de interés. El método de Mínimos Cuadrados Ordinarios (MCO) calcula los coeficientes eligiendo aquellos que minimizan la suma de los cuadrados de los residuos, es decir, la distancia entre los valores observados y los que predice el modelo. Es el punto de partida de prácticamente toda la econometría aplicada y la base sobre la que se construyen los contrastes de hipótesis y modelos más avanzados como Logit o Probit.
Formalmente, el modelo que estima esta herramienta tiene la forma
Y = β₀ + β₁X₁ + β₂X₂ + … + βₖXₖ + u, donde Y es la variable
dependiente, las X son los regresores, β₀ es la constante o
término independiente, cada βⱼ mide el efecto de su variable y u
es el término de error que recoge todo lo que el modelo no explica.
Los supuestos de Gauss-Markov
Para que las estimaciones de MCO sean las mejores posibles (insesgadas y de mínima varianza, lo que se conoce como estimador BLUE), conviene que se cumplan los supuestos clásicos:
- El modelo es lineal en los parámetros.
- La muestra es aleatoria y representativa.
- No hay multicolinealidad perfecta entre los regresores.
- El error tiene media condicional cero:
E(u|X) = 0. - El error es homocedástico: su varianza es constante.
Cuando el último supuesto falla aparece la heterocedasticidad, un problema muy frecuente con datos económicos de corte transversal. En ese caso MCO sigue siendo insesgado, pero los errores estándar dejan de ser fiables y la solución habitual es usar errores estándar robustos, opción que esta herramienta añade automáticamente si marcas la casilla correspondiente.
Cómo interpretar los coeficientes
Cada coeficiente βⱼ indica en cuánto cambia, en promedio, la variable
dependiente cuando su regresor aumenta en una unidad,
manteniendo constantes las demás variables (el famoso
ceteris paribus). La constante β₀ es el valor esperado de
Y cuando todos los regresores valen cero. El R² que aparece en
los resultados indica qué proporción de la variabilidad de Y explica el
modelo, y el R² ajustado penaliza el añadir variables que no aportan.
La sintaxis generada, explicada
En R, la función lm() recibe una fórmula del tipo
Y ~ X1 + X2 y el data frame de datos mediante el argumento
data =; después, summary() muestra coeficientes, errores
estándar, valores t y el R². La constante se incluye por defecto: si la desmarcas, el
código generado añade - 1 a la fórmula para suprimirla. Cuando activas los
errores robustos, el script carga los paquetes lmtest y sandwich
y usa coeftest() con vcovHC() (tipo HC1).
En Stata, el comando regress espera primero la variable
dependiente y luego los regresores separados por espacios. Las opciones van tras una
coma: noconstant elimina la constante y robust aplica los
errores estándar robustos a heterocedasticidad. El código incluye también la carga de
datos con import delimited para un archivo .csv.
Un ejemplo práctico paso a paso
Imagina que quieres estudiar qué determina el salario de un grupo de
trabajadores y dispones de un fichero datos.csv con las columnas
salario, educacion (años de estudio) y experiencia
(años trabajados). Pondrías salario como variable dependiente y
educacion y experiencia como independientes, dejando marcada
la constante. Al pulsar Código R obtienes un script con
lm(salario ~ educacion + experiencia, data = datos) seguido de
summary().
Al ejecutarlo en RStudio, la tabla de resultados te mostrará, por ejemplo, un coeficiente
de educacion positivo: eso significa que, manteniendo constante la
experiencia, cada año adicional de estudios se asocia en promedio con un aumento del
salario por la cuantía de ese coeficiente. Si la columna de significación marca el
coeficiente con asteriscos, el efecto es estadísticamente distinto de cero a los niveles
habituales. Si sospechas que la dispersión del salario crece con el nivel educativo
—un caso típico de heterocedasticidad— vuelve a generar el código marcando la casilla de
errores robustos y compara los errores estándar antes de sacar conclusiones.
Errores frecuentes al ejecutar el código
- Nombres de variables con tildes o espacios. Tanto R como Stata
funcionan mejor con nombres sencillos, sin acentos ni espacios (usa
nivel_educativoen lugar denivel educativo). - Ruta o carpeta de trabajo incorrecta. Asegúrate de que el fichero de datos esté en el directorio de trabajo, o indica la ruta completa.
- Variables categóricas. En R conviene envolverlas con
factor(); en Stata se usa el prefijoi.antes del nombre. - Separador del archivo. Si tu CSV usa punto y coma, en R necesitarás
read.csv2()en vez deread.csv().
Preguntas frecuentes
¿Debo incluir siempre la constante? Salvo que tengas una razón teórica sólida para forzar que la recta pase por el origen, lo habitual es mantenerla.
¿Cuándo uso errores robustos? Siempre que sospeches heterocedasticidad, algo común en datos de corte transversal; rara vez perjudica activarlos.
¿Es lo mismo lm en R que regress en Stata?
Sí: ambos estiman exactamente el mismo modelo por MCO; solo cambia la sintaxis, que es
justo lo que esta herramienta te resuelve.