Selección y rendimiento del modelo en regresión logística.


9

Tengo una pregunta sobre la selección del modelo y el rendimiento del modelo en regresión logística. Tengo tres modelos que se basan en tres hipótesis diferentes. Los primeros dos modelos (vamos a nombrarlos z y x) solo tienen una variable explicativa en cada modelo, y el tercero (vamos a llamarlo w) es más complicado. Estoy usando AIC para la selección de variables para el modelo w y luego AIC para comparar cuál de los tres modelos que explican mejor la variable dependiente. Descubrí que el modelo w tiene el AIC más bajo y ahora quiero hacer algunas estadísticas de rendimiento en ese modelo para tener una idea sobre el poder predictivo del modelo. Como todo lo que sé es que este modelo es mejor que los otros dos, pero no lo bueno que es.

Dado que he usado todos los datos para aprender el modelo (para poder comparar los tres modelos), ¿cómo hago con el rendimiento del modelo? Por lo que he reunido, no puedo simplemente hacer una validación cruzada de k-fold en el modelo final que obtuve de la selección del modelo usando AIC, pero necesito comenzar desde el principio con todas las variables explicativas incluidas, ¿es correcto? Creo que es el modelo final que he elegido con AIC que quiero saber qué tan bien funciona, pero me doy cuenta de que he entrenado en todos los datos para que el modelo pueda estar sesgado. Entonces, si debo comenzar desde el principio con todas las variables explicativas en todos los pliegues, obtendré diferentes modelos finales para algunos pliegues, ¿puedo elegir el modelo del pliegue que proporcionó el mejor poder predictivo y aplicarlo al conjunto de datos completo para comparar AIC con los otros dos modelos (z y x)? ¿O cómo funciona?

La segunda parte de mi pregunta es una pregunta básica sobre sobre-parametrización. Tengo 156 puntos de datos, 52 son 1's, el resto son 0's. Tengo 14 variables explicativas para elegir para el modelo w, me doy cuenta de que no puedo incluir todas debido a una sobre parametrización, he leído que solo debe usar el 10% del grupo de la variable dependiente con la menor cantidad de observaciones que Solo serían 5 para mí. Estoy tratando de responder una pregunta en ecología, ¿está bien seleccionar las variables iniciales que creo que explican la mejor dependencia simplemente basada en la ecología? ¿O cómo elijo las variables explicativas iniciales? No se siente bien excluir por completo algunas variables.

Entonces realmente tengo tres preguntas:

  • ¿Podría estar bien probar el rendimiento en un modelo capacitado en el conjunto de datos completo con validación cruzada?
  • Si no, ¿cómo elijo el modelo final al hacer la validación cruzada?
  • ¿Cómo elijo las variables de inicio para que quiera sobre-parametrizar?

Perdón por mis preguntas desordenadas y mi ignorancia. Sé que se han hecho preguntas similares, pero todavía me siento un poco confundido. Agradezco cualquier pensamiento y sugerencia.

Respuestas:


7

Es cierto que es mejor utilizar un conjunto de datos de prueba para validar su modelo. Sin embargo, aún puede decir qué tan bien se desempeñó su modelo en sus datos, siempre y cuando sea honesto sobre lo que hizo. Lo que realmente no puede hacer es decir que lo hará bien con otros datos: probablemente no lo hará. Desafortunadamente, muchos artículos publicados al menos insinúan esta noción incorrecta.

Usted pregunta

¿está bien seleccionar las variables iniciales que creo que explican la mejor dependencia simplemente basada en la ecología?

No solo está bien, es mejor que cualquier esquema automatizado. De hecho, estas también podrían ser las variables finales . Depende, en cierta medida, del grado de conocimiento en el campo. Si no se sabe mucho sobre lo que está investigando, puede ser necesario un enfoque más exploratorio. Pero si tiene buenas razones para pensar que ciertas variables deberían estar en el modelo, entonces, por supuesto, colóquelas. Y argumentaría por dejarlas allí, incluso si no son significativas.


1

Si va a hacer una selección de modelo, entonces creo que es mejor hacer una búsqueda exhaustiva y ponderar cada modelo en lugar de elegir cereza. Solo tiene 14 variables, lo que sin duda es factible: 16384 modelos diferentes no son prohibitivamente grandes, especialmente porque el tamaño de la muestra es pequeño. También miraría pesos normalizados, definidos por:

wmetro=[lExp(-12[UNAyoCl-UNAyoCmetro])]-1

11

También puede reemplazar AIC con BIC o algún otro IC basado en penalización para ver cuánto dependen los pesos de la penalización de complejidad específica utilizada.


Usar AIC en todos los modelos posibles es un proceso con multiplicidad extrema por el cual me pregunto sobre el rendimiento. Hablando en generalidades, no siempre es lógico pensar en esto como un problema de selección variable sino más bien como un problema de penalización (contracción).
Frank Harrell

¿Hay algún proceso que no tenga una multiplicidad extrema en la selección del modelo? Se trata de un espacio discreto masivo, esto lleva invariablemente a una gran cantidad de comparaciones. Creo que la pregunta es más si el previo implícito sobre los modelos es razonable.
probabilidadislogic

Así poner. Pero creo que la mayoría de los ejercicios de selección de modelos son innecesarios (es decir, la parsimonia no es tu amiga) y el resultado de no tener antecedentes en absoluto.
Frank Harrell

También estoy de acuerdo, creo que los Factores de Bayes se utilizan mejor para cuestiones de estructura del modelo, como si se usa la distribución normal o t, por ejemplo. No son inútiles para la selección de covariables, pero son ineficientes en comparación con la contracción.
probabilidadislogica

Perdón por mi comentario tardío, pero ¿conoces alguna forma fácil de calcular esto en R? Tengo los AIC: s en una lista o matriz. Soy bastante nuevo en R, por lo que cualquier construcción de funciones complicada es difícil. ¡Gracias!
mael

0

Para responder "¿Podría estar bien probar el rendimiento en un modelo capacitado en el conjunto de datos completo con validación cruzada?" NO, no creo que esto esté bien. Debe ajustar los 3 modelos al mismo subconjunto de su conjunto de datos. Luego haga la validación cruzada para ver cuál es mejor.


1
Entonces, si te entiendo bien, ¿solo debería usar un conjunto de entrenamiento y una prueba para todos los modelos? ¿Puedo usar mis 5 variables para el último modelo entonces o es un riesgo de sobre-parametrizar? ¿Y no es un riesgo con solo un conjunto de entrenamiento y prueba, ya que dependerá mucho de dónde será la división con los pocos datos relativos que tengo, o no es nada de qué preocuparse? De lo contrario, parece que esta sería la forma más correcta de hacerlo.
mael

0

¿Podría estar bien probar el rendimiento en un modelo capacitado en el conjunto de datos completo con validación cruzada?

Yo creo que no. Quizás un mejor método sería evaluar cada uno de los tres modelos utilizando validación cruzada repetida. Dado que ha elegido sus funciones basándose en el conocimiento previo, no necesita preocuparse por la selección de funciones. Este método le permite evaluar el rendimiento del modelo.

Si no, ¿cómo elijo el modelo final al hacer la validación cruzada?

Una vez que haya evaluado el rendimiento de su modelo utilizando la validación cruzada repetida, puede entrenar el modelo final utilizando todos los datos disponibles.

¿Cómo elijo las variables de inicio para que quiera sobre-parametrizar?

Si entiendo correctamente: según lo sugerido por un colaborador anterior, puede agregar sus funciones en función del conocimiento previo del área o bien debe realizar la selección de funciones dentro de la validación cruzada para evitar el sobreajuste. Este mismo procedimiento de selección de características se aplicaría a todos los datos al entrenar el modelo final. No puede usar este modelo para informar el rendimiento generalizado del modelo, esto debe provenir de la estimación de validación cruzada.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.