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?
Respuestas:
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.
fuente
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.
fuente
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 mthBICm M
Wherewj 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 haveBICfinal<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
different models (exact for forward selection), If the backwards selection was used, then we know at least
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 triedM 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:
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:
Now suppose we invert the problem. sayp=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
SettingP0=0.9 we get λ>18.28 - so BIC of the winning model has to win by a lot for the model to be certain.
fuente