¿Por qué un modelo de regresión lineal de intersección cero predice mejor que un modelo con una intersección?

8

Muchos libros de texto y documentos dicen que la intercepción no debe ser suprimida. Recientemente, utilicé un conjunto de datos de entrenamiento para construir un modelo de regresión lineal con o sin intercepción. Me sorprendió descubrir que el modelo sin intercepción predice mejor que eso con una intercepción en términos de rmse en un conjunto de datos de validación independiente. ¿Es la precisión de predicción una de las razones por las que debería usar modelos de intercepción cero?

KuJ
fuente
¿Qué tan grandes fueron los tamaños de muestra de capacitación y validación? Quizás el modelo sin intercepción fue mejor por casualidad.
mark999
El tamaño de la muestra de entrenamiento fue 289, mientras que el tamaño de la muestra de validación fue 406. Por cierto, ¿cómo determinar los mejores tamaños de muestra de entrenamiento y validación?
KuJ

Respuestas:

3

Observe cuidadosamente cómo se calcula la rmse u otra estadística al comparar modelos sin intersección con los modelos de intercepción. A veces, las suposiciones y los cálculos son diferentes entre los 2 modelos y uno puede encajar peor, pero se ve mejor porque se está dividiendo por algo mucho más grande.

Sin un ejemplo reproducible, es difícil saber qué puede estar contribuyendo.

Greg Snow
fuente
Rmse se calculó de acuerdo con la fórmula (utilizada para comparar las diferencias entre dos cosas que pueden variar, ninguna de las cuales se acepta como el "estándar") dado en: en.wikipedia.org/wiki/Root-mean-square_deviation Entonces los supuestos y los cálculos son los mismos entre los 2 estimadores derivados del modelo.
KuJ
1
¿Qué tan similares son sus conjuntos de entrenamiento y validación? Puede considerar hacer una validación cruzada 10 veces: divida los datos en 10 piezas iguales (o tan iguales como pueda) al azar, luego use 9 de ellas para entrenar un modelo y la 10a como pieza de validación, luego repita con cada una de las piezas Las otras 9 piezas son el conjunto de validación. Luego repita todo el proceso (comenzando con una nueva división aleatoria) 10 veces más o menos.
Greg Snow
La variable Y y las variables X fueron diferentes (P = 0.01) entre los conjuntos de entrenamiento y validación. Sin embargo, rmse todavía era inferior con el modelo sin intercepción cuando utilicé el paquete R MatchIt para que coincida con los conjuntos de entrenamiento y validación. Por el contrario, rmse se volvió similar cuando utilicé el paquete DAAG (cv.lm) para validar 10 veces el conjunto de datos combinado. ¿Significa esto que la validación cruzada 10 veces es mejor que un conjunto de entrenamiento simple y un conjunto de validación?
KuJ
2
Sí, la validación cruzada tiende a ser mejor. Mire para ver si hay otras formas en que su modelo está sobre especificado, es muy inusual que un modelo sin intercepción se ajuste mejor.
Greg Snow
1
En "¿Explicar o predecir?" projecteuclid.org/… La profesora Galit Shmueli dijo que a veces un modelo menos verdadero puede predecir mejor que un modelo más verdadero. Creo que esta puede ser una de las razones de este caso.
KuJ
9

No creo que deba elegir modelos simplemente porque funcionan mejor en una muestra en particular, aunque es bueno que haya utilizado una muestra de capacitación y validación.

Más bien, mire lo que dicen las modelos sobre su situación. En algunos casos, un modelo de intersección cero tiene sentido. Si el DV debería ser 0 cuando todos los IV son 0, entonces use un modelo de intercepción cero. De lo contrario, no lo hagas.

El conocimiento sustantivo debe guiar las estadísticas, no al revés

Peter Flom
fuente
2
La razón dada en su segundo párrafo, aunque intuitiva, a menudo no es lo suficientemente fuerte como para suprimir la intercepción en muchas de esas situaciones. Este punto se aborda más completamente en un par de otras preguntas en este sitio.
cardenal
44
En los estudios de comparación de métodos (o instrumentos) (por ejemplo, la comparación del oxímetro A y el oxímetro B), el DV (nivel de oxígeno) debe ser 0 cuando todos los IV (niveles de oxígeno) son 0. Sin embargo, la intercepción no debe ignorarse si Quiero calibrar (o intercambiar) el oxímetro A con el oximter B.
KuJ
5

Un modelo de no intercepción puede tener sentido si se cumplen dos condiciones. Primero, debe haber una expectativa razonable de conocimiento de la materia para que la intersección sea cero. En segundo lugar, debe haber una expectativa razonable de conocimiento de la materia para que la línea de regresión siga siendo una línea recta a medida que se acerca a cero. Incluso si se cumplen ambas condiciones, es aconsejable realizar un análisis con un término de intercepción y verificar que la intercepción no sea significativamente diferente de cero.

(Supongo que estás hablando de una Y continua y una X continua).

Emil Friedman
fuente
4

Esto sería comprensible si la intercepción que obtuviste fuera simplemente ruido, no sig. diferente de cero (¿Tengo razón en que los coeficientes de regresión estandarizados fueron casi los mismos en ambos modelos?) Si es así, no creo que deba generalizar a partir de este ejemplo. Cuando las intersecciones son sig. y sustancial, agregan algo significativo a la precisión predictiva.

rolando2
fuente
1. Los coeficientes de regresión estandarizados no fueron los mismos (0.91 y 1.02) para el modelo con y sin intercepción). 2. La intersección fue de 9.5 (se 1.7, p <0.001). 3. Hasta donde yo sé, muchos documentos sugieren no suprimir la intersección, incluso si la intersección no fue significativa desde cero.
KuJ
Si hay variables ficticias en la regresión, ¿la intersección no representa el valor si todas las variables ficticias tienen un código 0 para esa observación? No estoy seguro si esto se aplica aquí.
Michelle
No, no había variables ficticias.
KuJ
2

En regresión lineal, estás ajustando:

y=f(β,X)=β0+β1x1+β2x2+

Encajas β datos de entrenamiento dados (X,Y) Supongamos que sueltas el β0 y ajustar el modelo, aparecerá el error en el ajuste:

i(yif(β,Xi))2

ser más grande que si lo incluyeras? En todos los casos (no degenerados) puede probar que el error será el mismo o menor (en los datos de entrenamiento) cuando incluyaβ0dado que el modelo es libre de usar este parámetro para reducir el error si está presente y ayuda, y lo establecerá en cero si no ayuda. Además, suponga que agregó una constante grande a y (suponga que su salida debe ser+10000 que en sus datos de entrenamiento originales), y vuelva a instalar el modelo, luego β0 claramente se vuelve muy importante.

Quizás te refieres a los modelos regularizados cuando dices "suprimido". Los métodos L1 y L2 regularizados prefieren mantener los coeficientes cerca de cero (y ya debería haber normalizado la media y la varianzaXde antemano para que este paso sea sensato. En la regularización, tiene la opción de incluir el término de intercepción (si preferimos también tener un pequeñoβ0?) Nuevamente, en la mayoría de los casos (¿todos los casos?), Es mejor no regularizarβ0, ya que es poco probable que reduzca el sobreajuste y reduzca el espacio de las funciones representables (al excluir aquellas con funciones altas β0) que conduce a un mayor error.

Nota al margen: la regresión logística de scikit regulariza la intercepción por defecto. Alguien sabe por qué: http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html ? No creo que sea una buena idea .

usuario48956
fuente
Re sklearn regularizando la intercepción: ese es solo el caso si se usa el solucionador liblinear y notan explícitamente que es malo ( scikit-learn.org/stable/modules/… ). Supongo que el parámetro intercept_scaling está incluido en LogisticRegression para mitigar esto.
erobertc
El escalado no ayuda si planea interpretar los parámetros como odds-ratios.
user48956
Me alegro de que hayan actualizado los documentos. Muchas horas perdidas aquí.
user48956