¿Cómo detectar cuando un modelo de regresión está sobre ajustado?

14

Cuando eres tú quien hace el trabajo, al darte cuenta de lo que estás haciendo, desarrollas una sensación de cuándo has ajustado demasiado el modelo. Por un lado, puede seguir la tendencia o el deterioro en el cuadrado R ajustado del modelo. También puede realizar un seguimiento de un deterioro similar en los valores p de los coeficientes de regresión de las principales variables.

Pero, cuando acabas de leer a alguien más estudiando y no tienes una idea de su propio proceso interno de desarrollo de modelos, ¿cómo puedes detectar claramente si un modelo está demasiado ajustado o no?

Sympa
fuente
Solo para arrojar un par de ideas sobre el tema, si el estudio revela estadísticas de regresión estándar, podría centrarse en las estadísticas t y los valores p de los coeficientes. Si el RSquare del modelo es alto; pero, una o más de las variables tienen una estadística <2.0; Esto podría ser una bandera roja. Además, si el signo de los coeficientes en algunas de las variables desafía la lógica, probablemente sea otra señal de alerta. Si el estudio no revela un período de espera para el modelo, puede ser otra señal de alerta. Con suerte, tendrás otras y mejores ideas.
Sympa
Una forma es ver cómo funciona el modelo en otros datos (pero similares).
Shane

Respuestas:

15

La validación cruzada y la regularización son técnicas bastante comunes para evitar el sobreajuste. Para una toma rápida, recomendaría las diapositivas del tutorial de Andrew Moore sobre el uso de la validación cruzada ( espejo ): preste especial atención a las advertencias. Para más detalles, definitivamente lea los capítulos 3 y 7 de EOSL , que cubren el tema y la materia asociada en profundidad.

ars
fuente
2
Wow, gracias el tutorial de Andrew Moore sobre validación cruzada es de clase mundial.
Sympa
7

Cuando estoy ajustando un modelo yo mismo, generalmente uso criterios de información durante el proceso de ajuste, como AIC o BIC , o alternativamente pruebas de razón de verosimilitud para modelos ajustados basados ​​en la máxima probabilidad o prueba F para modelos ajustados basados ​​en mínimos cuadrados.

Todos son conceptualmente similares en el sentido de que penalizan parámetros adicionales. Establecen un umbral de "poder explicativo adicional" para cada nuevo parámetro agregado a un modelo. Todos son una forma de regularización. .

Para los modelos de otros, miro la sección de métodos para ver si se usan tales técnicas y también uso reglas generales, como el número de observaciones por parámetro; si hay alrededor de 5 (o menos) observaciones por parámetro, empiezo a preguntarme.

Recuerde siempre que una variable no necesita ser "significativa" en un modelo para ser importante. Puedo ser un factor de confusión y debería ser incluido sobre esa base si su objetivo es estimar el efecto de otras variables.

Tilacoleo
fuente
Gracias por los enlaces a las pruebas AIC y BIC. ¿Añaden mucho valor frente al cuadrado R ajustado que hace algo similar al penalizar los modelos para agregar variables?
Sympa
1
@Gaeten, el R cuadrado ajustado aumentará cuando una prueba F del modelo antes vs después sea significativa, por lo que son equivalentes, excepto que normalmente calcular un R cuadrado ajustado no devuelve un valor p.
Thylacoleo
1
@Gaeten: AIC y BIC son más generales que las pruebas F y los cuadrados R ajustados, que generalmente se limitan a modelos ajustados por mínimos cuadrados. AIC & BIC se pueden usar para cualquier modelo en el que se pueda calcular la probabilidad y se puedan conocer (o estimar) los grados de libertad.
Thylacoleo
Probar un conjunto de variables no es una forma de regularización (contracción). Y las pruebas le dan a uno la tentación de eliminar variables, lo que no tiene nada que ver con reducir el sobreajuste.
Frank Harrell el
@FrankHarrell ¿Puedes dar más detalles sobre este viejo comentario tuyo? Me parece que eliminar una variable reduciría el sobreajuste, todas las demás cosas son iguales, ya que se reducen los grados de libertad disponibles para sobreajustar. Estoy seguro de que me estoy perdiendo algunos matices aquí.
Lepidopterista
5

Sugeriría que este es un problema con la forma en que se informan los resultados. No para "golpear el tambor bayesiano", sino acercarnos a la incertidumbre del modelo desde una perspectiva bayesiana como un problema de inferencia sería de gran ayuda aquí. Y tampoco tiene que ser un gran cambio. Si el informe simplemente contuviera la probabilidad de que el modelo sea verdadero, esto sería muy útil. Esta es una cantidad fácil de aproximar usando BIC. Llame al BIC para el modelo mthBICmM

P(model m is true|one of the M models is true)wmexp(12BICm)j=1Mwjexp(12BICj)
=11+jmMwjwmexp(12(BICjBICm))

Where wj is proportional to the prior probability for the jth model. Note that this includes a "penalty" for trying to many models - and the penalty depends on how well the other models fit the data. Usually you will set wj=1, however, you may have some "theoretical" models within your class that you would expect to be better prior to seeing any data.

Now if somebody else doesn't report all the BIC's from all the models, then I would attempt to infer the above quantity from what you have been given. Suppose you are given the BIC from the model - note that BIC is calculable from the mean square error of the regression model, so you can always get BIC for the reported model. Now if we take the basic premise that the final model was chosen from the smallest BIC then we have BICfinal<BICj. Now, suppose you were told that "forward" or "forward stepwise" model selection was used, starting from the intercept using p potential variables. If the final model is of dimension d, then the procedure must have tried at least

M1+p+(p1)++(pd+1)=1+p(p1)(pd)(pd1)2

different models (exact for forward selection), If the backwards selection was used, then we know at least

M1+p+(p1)++(d+1)=1+p(p1)d(d1)2

Models were tried (the +1 comes from the null model or the full model). Now we could try an be more specific, but these are "minimal" parameters which a standard model selection must satisfy. We could specify a probability model for the number of models tried M and the sizes of the BICj - but simply plugging in some values may be useful here anyway. For example suppose that all the BICs were λ bigger than the one of the model chosen so that BICm=BICjλ, then the probability becomes:

11+(M1)exp(λ2)

So what this means is that unless λ is large or M is small, the probability will be small also. From an "over-fitting" perspective, this would occur when the BIC for the bigger model is not much bigger than the BIC for the smaller model - a non-neglible term appears in the denominator. Plugging in the backward selection formula for M we get:

11+p(p1)d(d1)2exp(λ2)

Now suppose we invert the problem. say p=50 and the backward selection gave d=20 variables, what would λ have to be to make the probability of the model greater than some value P0? we have

λ>2log(2(1P0)P0[p(p1)d(d1)])

Setting P0=0.9 we get λ>18.28 - so BIC of the winning model has to win by a lot for the model to be certain.

probabilityislogic
fuente
+1, this is really clever. Is this published somewhere? Is there an 'official' reference for this?
gung - Reinstate Monica
@gung - why thank you. Unfortunately, this was a "back of the envelope" answer. I'm sure there's problems with it, if you were to investigate in more detail.
probabilityislogic