180 votos

¿Cuándo está bien eliminar la intersección en un modelo de regresión lineal?

Estoy ejecutando modelos de regresión lineal y me pregunto cuáles son las condiciones para eliminar el término de intercepción.

Al comparar los resultados de dos regresiones diferentes, una con la intercepción y la otra sin ella, noto que el valor de $R^2$ de la función sin la intercepción es mucho más alto. ¿Existen ciertas condiciones o suposiciones que debería seguir para asegurarme de que la eliminación del término de intercepción es válida?

1 votos

@chi gracias por editar mi pregunta. ¿Hay cosas que debería aclarar o reformular en futuras preguntas?

3 votos

Su pregunta está bien formulada. @chl amablemente mejoró algo de formato, eso es todo. Implicó TeXificar el "R^2" (se convirtió en $\$$R^2$\$$, lo que se representa como $R^2$).

1 votos

¿Qué significaría la intersección en tu modelo? Por la información en tu pregunta, parece que sería el valor esperado de tu respuesta cuando sqft=0 y lotsize=0 y baths=0. ¿Alguna vez ocurrirá eso en la realidad?

123voto

Mike Moore Puntos 641

La respuesta más corta: nunca, a menos que estés seguro de que tu aproximación lineal del proceso generador de datos (modelo de regresión lineal) ya sea por alguna razón teórica u otra, deba pasar por el origen. De lo contrario, los demás parámetros de regresión estarán sesgados incluso si la intersección es estadísticamente insignificante (extraño pero es así, consulta Brooks Introductory Econometrics, por ejemplo). Por último, como suelo explicar a menudo a mis estudiantes, al dejar el término de intersección te aseguras de que el término residual tenga una media cero.

Para tu caso de dos modelos necesitamos más contexto. Puede ser que un modelo lineal no sea adecuado aquí. Por ejemplo, primero necesitas transformar los datos si el modelo es multiplicativo. Al tener procesos de crecimiento exponencial, ocasionalmente puede suceder que el $R^2$ para el modelo sin la intersección sea "mucho" más alto.

Analiza los datos, prueba el modelo con la prueba RESET o cualquier otra prueba de especificación lineal, esto puede ayudar a ver si mi suposición es cierta. Y, construir los modelos con el $R^2$ más alto es una de las últimas propiedades estadísticas por las que realmente me preocupo, pero es agradable presentar a las personas que no están tan familiarizadas con la econometría (hay muchos trucos sucios para hacer que la determinación esté cerca de 1 :)).

11 votos

-1 para "nunca", ver ejemplo 1 de la respuesta de Joshua

7 votos

@Curioso, "nunca" se escribe con "a menos que" ejemplos a continuación simplemente muestran las excepciones cuando es legal eliminar la intercepción. Cuando no conoces el proceso de generación de datos o teoría, o no estás obligado a pasar por el origen mediante estandarización u otro modelo especial, mantenlo. Mantener la intercepción es como usar el cubo de basura para recopilar todas las distorsiones causadas por la aproximación lineal y otras simplificaciones. P.D. prácticamente la respuesta muestra que solo leíste lo más breve :) Muchas gracias a Joshua (+1) por los ejemplos extendidos.

5 votos

Te perdiste el punto de Joshua Example 1 y parece que aún lo ignoras por completo. En modelos con covariable categórica, la eliminación del intercepto resulta en el mismo modelo con una parametrización diferente. Este es un caso legítimo en el que se puede eliminar el intercepto.

90voto

Joshua Puntos 946

Eliminar el intercepto es un modelo diferente, pero hay muchos ejemplos donde es legítimo. Hasta ahora, las respuestas ya han discutido en detalle el ejemplo donde el verdadero intercepto es 0. Me enfocaré en algunos ejemplos donde podríamos estar interesados en una parametrización del modelo atípica.

Ejemplo 1: El Modelo de Estilo ANOVA. Para variables categóricas, típicamente creamos vectores binarios que codifican la membresía del grupo. El modelo de regresión estándar está parametrizado como intercepto + k - 1 vectores ficticios. El intercepto codifica el valor esperado para el grupo "de referencia", o el vector omitido, y los vectores restantes prueban la diferencia entre cada grupo y la referencia. Pero en algunos casos, puede ser útil tener el valor esperado de cada grupo.

dat <- mtcars
dat$vs <- factor(dat$vs)

## modelo de intercepto: el coeficiente de vs se convierte en diferencia
lm(mpg ~ vs + hp, data = dat)

Coefficients:
(Intercepto)          vs1           hp  
   26.96300      2.57622     -0.05453  

## sin intercepto: dos coeficientes de vs, expectativas condicionales para ambos grupos
lm(mpg ~ 0 + vs + hp, data = dat)

Coefficients:
     vs0       vs1        hp  
26.96300  29.53922  -0.05453  

Ejemplo 2: El caso de datos estandarizados. En algunos casos, uno puede estar trabajando con datos estandarizados. En este caso, el intercepto es 0 por diseño. Creo que un ejemplo clásico de esto era el antiguo estilo de modelos de ecuaciones estructurales o factor, que operaban solo en las matrices de covarianza de los datos. En el caso a continuación, probablemente sea una buena idea estimar el intercepto de todos modos, si solo es para eliminar el grado de libertad adicional (que realmente debería haberse perdido de todos modos porque la media fue estimada), pero hay un puñado de situaciones donde por construcción, las medias pueden ser 0 (por ejemplo, ciertos experimentos donde los participantes asignan calificaciones, pero están obligados a dar igual positivos y negativos).

dat <- as.data.frame(scale(mtcars))

## el intercepto es 0 por diseño
lm(mpg ~ hp + wt, data = dat)

Coefficients:
(Intercepto)           hp           wt  
  3.813e-17   -3.615e-01   -6.296e-01  

## dejando fuera el intercepto
lm(mpg ~ 0 + hp + wt, data = dat)

Coefficients:
     hp       wt  
-0.3615  -0.6296  

Ejemplo 3: Modelos Multivariados e Interceptos Ocultos. Este ejemplo es similar al primero en muchos aspectos. En este caso, los datos se han apilado para que dos variables diferentes estén ahora en un vector largo. Una segunda variable codifica información sobre si el vector de respuesta, y, pertenece a mpg o a disp. En este caso, para obtener los interceptos separados para cada resultado, suprimes el intercepto general e incluyes ambos vectores ficticios para la medida. Esto es una especie de análisis multivariado. No se suele hacer con lm() porque tienes medidas repetidas y probablemente deberías permitir la no independencia. Sin embargo, hay algunos casos interesantes donde esto es necesario. Por ejemplo, al intentar hacer un análisis de mediación con efectos aleatorios, para obtener la matriz completa de varianza covarianza, necesitas estimar ambos modelos simultáneamente, lo cual se puede hacer apilando los datos y usando hábilmente los vectores ficticios.

## apilando datos para análisis multivariado
dat <- reshape(mtcars, varying = c(1, 3), v.names = "y",
  timevar = "measure", times = c("mpg", "disp"), 
             direction = "long")
dat$measure <- factor(dat$measure)

## dos regresiones con solo interceptos
lm(cbind(mpg, disp) ~ 1, data = mtcars)

Coefficients:
             mpg     disp  
(Intercepto)   20.09  230.72

## usando los datos apilados, la medida es la diferencia
## entre las medias de los resultados
lm(y ~ measure, data = dat)

Coefficients:
(Intercepto)   measurempg  
      230.7       -210.6  

## 'intercepto' separado para cada resultado
lm(y ~ 0 + measure, data = dat)

Coefficients:
measuredisp   measurempg  
     230.72        20.09  

No estoy argumentando que los interceptos deberían eliminarse generalmente, pero es bueno ser flexible.

8 votos

+1. No tomé a la gente por ser rígidamente diciendo 'nunca', pero siempre es bueno tener otra perspectiva y esta es una respuesta muy clara y reflexiva. Bienvenido a CV, será genial tenerte como parte de la comunidad.

3 votos

@gung gracias, tienes razón. He eliminado ese lenguaje de mi respuesta porque creo que era inflamatorio e innecesario.

2 votos

@Joshua: Lo siento por hacer una pregunta en una publicación casi 2 años de antigüedad, ¿pero hay alguna referencia en tu primer ejemplo? Estoy pensando en ejecutar un modelo sin intercepción en mis datos donde la variable predictora es categórica, y me interesa saber si cada nivel es significativamente diferente de 0. ¡Gracias!

41voto

Sean Hanley Puntos 2428

Hay buenas respuestas aquí. Dos cosas pequeñas:

  1. Respecto a un $R^2$ más alto cuando se elimina la intersección, deberías leer esta excelente respuesta de @cardinal. (En resumen, a veces el software estadístico utiliza una definición diferente para $R^2$ cuando la intersección se fuerza a 0. Por lo tanto, el $R^2$ reportado para modelos con y sin intersección podría simplemente no ser comparable).
  2. Varias personas señalan que debes estar seguro de que la intercepción debe ser 0 (por razones teóricas) antes de eliminarla, y no simplemente que no es 'significativa'. Creo que eso es correcto, pero no es toda la historia. También necesitas saber que la verdadera función generadora de datos es perfectamente lineal en todo el rango de $X$ con el que estás trabajando y hasta llegar a 0. Recuerda que siempre es posible que la función sea aproximadamente lineal dentro de tus datos, pero en realidad esté ligeramente curvada. Puede ser bastante razonable tratar la función como si fuera lineal dentro del rango de tus observaciones, incluso si no lo es perfectamente, pero si no lo es y eliminas la intersección, terminarás con una peor aproximación a la función subyacente incluso si la verdadera intersección es 0.

2 votos

@AdamO hace un punto similar al n.° 2 aquí: coeficiente de regresión lineal positivo, pero desarrolla la idea de manera mucho más completa.

1 votos

"si no lo es y eliminas la intercepción, terminarás con una peor aproximación a la función subyacente incluso si la verdadera intercepción es 0" ¿No sería este el caso para muchos otros términos también? Por ejemplo, la función $y=x^3+x+1$ no tiene término cuadrático, pero la familia de modelos $y=mx+b$ se ajustará peor que uno sin un término cuadrático. Esto parece ser simplemente un síntoma de subajuste en general, y no una propiedad única del término de intercepción.

0 votos

@Scott, cuando tienes un término cúbico, el $x^2$ es una especie de intercepción (ver aquí: ¿Tiene sentido agregar un término cuadrático pero no el término lineal a un modelo?).

19voto

Ted Puntos 854

No debes eliminar la intercepción, independientemente de si es probable o no que alguna vez veas que todas las variables explicativas tengan valores de cero.

Si eliminas la intercepción, entonces todas las demás estimaciones se vuelven sesgadas. Incluso si el valor real de la intercepción es aproximadamente cero (que es todo lo que puedes concluir de tus datos), estarás afectando a las pendientes si la fuerzas a ser exactamente cero.

A MENOS QUE - estés midiendo algo con un modelo físico muy claro y obvio que exija que la intercepción sea cero (por ejemplo, si tienes altura, ancho y longitud de un prisma rectangular como variables explicativas y la variable de respuesta es el volumen con algún error de medición). Si tu variable de respuesta es el valor de la casa, definitivamente necesitas dejar la intercepción.

2 votos

¿Puede por favor explicar, por qué necesitamos la intercepción para predecir el precio de una casa? ¿Por qué deberían ser cero todas las X para cualquier casa?

1 votos

Un poco tarde aquí, pero supongo que porque es poco probable que el valor de una casa sea 0, independientemente de sus características.

0 votos

La tierra por sí sola vale algo, por lo que incluso una casa sin dimensiones es valiosa.

16voto

Bueno, has cambiado la pregunta MUCHO

Puedes omitir la intercepción cuando sabes que es 0. Eso es todo. Y no, no puedes hacerlo porque no es significativamente diferente de 0, debes saber que es 0 o tus residuos estarán sesgados. Y, en ese caso es 0, por lo que no hará ninguna diferencia si lo omites... por lo tanto, nunca lo omitas.

El hallazgo que tienes con $R^2$ sugiere que los datos no son lineales. Y, dado que tenías área como predictor, ese particular probablemente definitivamente no es lineal. Podrías transformar el predictor para arreglar eso.

2 votos

¿Qué pasa cuando queremos probar la cointegración usando el método de dos pasos de Engle/Granger? es.wikipedia.org/wiki/Cointegración

1 votos

"Tienes que saber que es 0 o tus residuos están sesgados" muchas personas pasan por alto este punto crucial y dicen que el beta estará sesgado, pero eso está mal porque los betas no dependen de ninguna manera del intercepto.

0 votos

@baibo los betas / coeficientes pueden sesgarse cuando los regresores se correlacionan con el término de intercepción (eliminado). Cuando ajustas un modelo $y = bx$ mientras que el modelo verdadero es $y = a + bx$, entonces la estimación de $b$ se sesgará. Un ejemplo claro se encuentra en la imagen aquí: stats.stackexchange.com/a/325395/164061

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X