¿Es obligatorio subconjuntar sus datos para validar un modelo?

8

Me está costando llegar a la misma página que mi supervisor cuando se trata de validar mi modelo. He analizado los residuos (observados contra los valores ajustados) y utilicé esto como argumento para discutir los resultados obtenidos por mi modelo, sin embargo, mi supervisor insiste en que la única forma de validar un modelo es hacer un subconjunto aleatorio de mis datos, generar el modelo con el 70% y luego aplicar el modelo en el 30% restante.

La cuestión es que mi variable de respuesta está inflada a cero (85%, para ser más precisa) y prefiero no crear un subconjunto, ya que es muy difícil converger a un resultado.

Entonces, mi pregunta es: ¿cuáles son las formas posibles (y científicamente aceptables) de validar un modelo? ¿Subconjunto de datos es la única manera? Si es posible, haga referencia a sus preguntas con artículos / libros para que pueda usarlo como argumento al presentar mis alternativas.

Eric Lino
fuente
Si usted ha escogido el modelo basado en todos los datos, sin embargo, que aún no cuenta ...
Aaron dejó desbordamiento de la pila
¿Quiere decir que debería elegir mi modelo en función de un subconjunto de mis datos? ¿Cómo puedo analizar adecuadamente la distribución de mis datos si no los uso todos?
Eric Lino
Sí, eso es exactamente lo que quiero decir: si desea tener datos para validar realmente su modelo, esos datos deben mantenerse al elegir el análisis. Esto es lo que Wikipedia llama los conjuntos de entrenamiento y validación. Si usa su conjunto de validación para ajustarse a los hiperparámetros, incluso necesitaría un tercer conjunto (el conjunto de prueba) para probar su modelo final.
Aaron dejó Stack Overflow el
No es que yo esté abogando por eso; en su caso, quizás sea mejor usar métodos de diagnóstico y selección de modelo más tradicionales, que por supuesto es lo que está pidiendo (y, por desgracia, no tengo tiempo para responder adecuadamente).
Aaron dejó Stack Overflow el
2
La respuesta que está buscando es, probablemente, en la sección 5.3 de Frank Harrell 's regresión Modelado Estrategias .
Aaron dejó Stack Overflow el

Respuestas:

6

Para comenzar, sugeriría que generalmente es bueno desconfiar de las afirmaciones de que solo hay unamanera de hacer algo Dividir una muestra obtenida en un conjunto de datos de "entrenamiento" y "pruebas" es un enfoque común en muchas aplicaciones de aprendizaje automático / ciencia de datos. A menudo, estos enfoques de modelado están menos interesados ​​en las pruebas de hipótesis sobre un proceso de generación de datos subyacente, lo que quiere decir que tienden a ser algo teóricos. De hecho, la mayoría de estos tipos de divisiones de entrenamiento / prueba solo quieren ver si el modelo se ajusta demasiado en términos de rendimiento predictivo. Por supuesto, también es posible usar un enfoque de entrenamiento / prueba para ver si un modelo dado se replica en términos de qué parámetros son "significativos", o para ver si las estimaciones de los parámetros caen dentro de los rangos esperados en ambos casos.

En teoría, validar o invalidar modelos es lo que se supone que debe hacer la ciencia, en gran medida. Investigadores independientes, que examinan, generan y prueban por separado las hipótesis que respaldan o refutan los argumentos sobre una teoría de por qué o bajo qué circunstancias ocurre un fenómeno observable, esa es la empresa científica en una cáscara de nuez (o al menos en una oración demasiado larga). Entonces, para responder a su pregunta, incluso para mí las divisiones de entrenamiento / prueba no están "validando" un modelo. Eso es algo que requiere el peso de años de evidencia acumulada por múltiples investigadores independientes que estudian el mismo conjunto de fenómenos. Sin embargo, concederé que esta toma puede ser una diferencia en la semántica sobre lo que veo que significa la validación del modelo frente a lo que el término validación ha llegado a significar en entornos aplicados ...

Dependiendo de su enfoque de datos y modelado, puede que no siempre sea apropiado desde un punto de vista estadístico dividir su muestra en conjuntos de entrenamiento y prueba. Por ejemplo, las muestras pequeñas pueden ser particularmente difíciles de aplicar a este enfoque. Además, algunas distribuciones pueden tener ciertas propiedades que los hacen difíciles de modelar incluso con muestras relativamente grandes. Su caso de cero inflado probablemente se ajuste a esta última descripción. Si el objetivo es llegar a una aproximación de la "verdad" acerca de un conjunto de relaciones o procesos subyacentes que se cree que explican algún fenómeno, no se sentirá bien al tomar un enfoque deficiente para probar una hipótesis determinada. Entonces, quizás el primer paso es realizar un análisis de potencia para ver si es probable que incluso repita el hallazgo de interés en sus datos subconjuntos.

Otra opción es especificar varios modelos para ver si "mejor" explican los datos observados. El objetivo aquí sería identificar el mejor modelo entre un conjunto de alternativas razonables. Este es un argumento relativo, no absoluto, que estaría haciendo sobre su modelo. Esencialmente, está admitiendo que puede haber otros modelos que podrían postularse para explicar sus datos, pero su modelo es la mejor de las alternativas probadas (al menos eso es lo que espera). Todos los modelos del conjunto, incluido su modelo hipotético, deben estar teóricamente fundamentados; de lo contrario, corre el riesgo de establecer un grupo de hombres de paja estadísticos.

También hay factores de Bayes en los que puede calcular el peso de la evidencia que proporciona su modelo, dada su información, para una hipótesis específica relativa a escenarios alternativos.

Esto está lejos de ser una lista exhaustiva de opciones, pero espero que ayude. Saldré de la caja de jabón ahora. Solo recuerde que cada modelo en cada estudio publicado sobre el comportamiento humano es incorrecto. Casi siempre hay variables omitidas relevantes, interacciones no modeladas, poblaciones muestreadas de manera imperfecta y un simple error de muestreo antiguo en juego que ofusca la verdad subyacente.

Matt Barstead
fuente
Aprecio todo el tiempo que pasaste escribiendo una respuesta tan profunda, Matt. Sin embargo, creo que aunque me ayuda en un nivel conceptual, carece de alguna referencia de que necesitaré discutir este enfoque con mi supervisor. ¿Tendrías documentos / libros sobre las probabilidades de subconjuntos de datos? Si no es posible, ¿recomendaría un paquete R en el que pueda realizar este análisis de potencia del que habló?
Eric Lino
Para paquetes R y potencia, depende de su modelo (pwr, simsem, etc.). No hay una sola respuesta. También en términos de probabilidades de subconjunto de sus datos, creo que esa es solo otra forma de preguntar sobre el poder si lo entiendo correctamente. Si está gravitando hacia el bit de potencia, recomendaría concentrarse en su efecto más débil y ver cuál debería ser el tamaño mínimo de muestra para replicarlo, una especie de peor de los casos.
Matt Barstead
Veo. Bueno, estoy usando el paquete glmmadmb, desarrollado por Ben Bolker y otros. Mi variable de respuesta es cero inflado (número de personas con una enfermedad rara específica) y mis variables independientes incluyen distribuciones normales, no normales y cero infladas. Como estoy tratando con una serie temporal, utilicé "año" como factor de agrupación y me pareció una buena idea explorar la familia de modelos ZIGLMM. ¿Esta información te ayuda a ayudarme?
Eric Lino
2
Es posible que desee consultar el paquete simR . Que yo sepa, es el paquete más flexible existente para análisis de potencia con modelos lineales y lineales generalizados. Green, P. y MacLeod, CJ (2016). SIMR: un paquete R para el análisis de potencia de modelos lineales generalizados por simulación. Métodos en ecología y evolución.
Matt Barstead
10

La división de datos es, en general, una forma muy poco competitiva de hacer una validación interna. Esto se debe a la grave volatilidad: un modelo 'final' diferente y una 'validación' diferente al volver a dividir, y porque el error cuadrático medio de la estimación (de cosas como el error de predicción absoluto medio yR2) es más alto que un buen procedimiento de remuestreo como el bootstrap. Entro en detalle en mi libro de Estrategias de modelado de regresión y en las notas del curso. El remuestreo tiene una gran ventaja adicional: exponer la volatilidad en la selección de funciones.

Frank Harrell
fuente
Todavía creo que la principal motivación del OP es saber si su modelo ZIP es adecuado = verificación residual, no selección de modelo / característica o rendimiento predictivo, pero tal vez pueda aclararse a sí mismo
Florian Hartig
Sí, @FlorianHartig es correcto! Sin embargo, el bootstrapping me interesa (si no es por este estudio, por la recopilación de conocimientos) y definitivamente buscaré su sitio web para referencia futura. Muchas gracias por la entrada.
Eric Lino
6

Creo que las respuestas aquí divergen porque la pregunta es algo poco clara, sobre todo: ¿qué quieres decir con "validación"?

Por lo general, se realiza una división 70/30 (o una validación cruzada) para evaluar el rendimiento predictivo de un modelo o una cadena de análisis completa (posiblemente incluyendo la selección del modelo). Tal validación es particularmente importante si está comparando diferentes opciones de modelado en términos de su rendimiento predictivo.

Es un caso completamente diferente si no desea seleccionar modelos, y tampoco está interesado en el rendimiento predictivo como tal, pero está interesado en la inferencia (estimaciones de regresión / valores p), y desea validar si su modelo / supuestos de error de los GLMM son adecuados. En este caso, sería posible predecir la resistencia y comparar las predicciones con los datos observados, pero el procedimiento mucho más común es hacer un análisis residual. Si necesita probar esto a su supervisor: esto es básicamente lo que cada libro de texto de estadísticas le enseña a hacer justo después de la regresión lineal.

Vea aquí cómo ejecutar un análisis residual para GLMM (incluida la inflación cero con glmmTMB, que preferiría a glmmadmb) con el paquete DHARMa (descargo de responsabilidad: soy el responsable del mantenimiento).

Florian Hartig
fuente
Gracias por una respuesta tan clara pero perspicaz. Mi caso inicial fue el segundo ejemplo que proporcionó; No estoy interesado en evaluar el rendimiento predictivo de mi modelo, sino solo cuantificar las relaciones subyacentes entre mi variable de respuesta y mis independientes. No estoy seguro de haber entendido exactamente lo que quieres decir con "predecir a la espera". ¿Se refiere a los valores pronosticados que se generan en la salida del objeto modelo después de ejecutarlo?
Eric Lino
Quiero decir que calcula los residuos / sesgos al comparar predicciones versus observaciones en los datos de retención (= validación)
Florian Hartig
2

La respuesta corta es sí, debe evaluar el rendimiento de su modelo en los datos que no se utilizan en la capacitación.

Las técnicas modernas de construcción de modelos son extremadamente buenas para ajustar los datos de manera arbitraria y pueden encontrar fácilmente la señal en el ruido. Por lo tanto, el rendimiento de un modelo en los datos de entrenamiento casi siempre está sesgado.

Merece la pena explorar el tema de la validación cruzada (incluso si no está ajustando los hiperparámetros) para comprender mejor por qué almacenamos datos, cuándo funciona, qué suposiciones están involucradas, etc. Uno de mis trabajos favoritos es :

No hay un estimador imparcial de la varianza de la validación cruzada k-fold

Chris
fuente
77
Esto no es correcto en general. La rutina de arranque supera en gran medida la emisión de datos en términos de errores cuadrados medios en cantidades tales comoR2. Necesita datos que no se utilizan en el entrenamiento, pero estos pueden ser datos diferentes para cada remuestreo.
Frank Harrell
¿Está sugiriendo arrancar datos retenidos?
Chris
Lea sobre el arranque de optimismo de Efron-Gong, que es el método de validación del modelo de arranque estándar y el implementado en el rmspaquete validatey las calibratefunciones de R. Con este bootstrap no hay decisiones únicas sobre la retención de datos. Como mi libro RMS y las notas del curso describen en detalle, la cantidad de sobreajuste se estima al ver cuánto se desmorona un modelo desarrollado en una muestra de arranque cuando se aplica a la muestra completa original (superpuesta). El bootstrap tiene que repetir todos los pasos de modelado nuevamente para cada iteración.
Frank Harrell
Interesante. He revisado tus notas y el papel de Efron. Parece que para los modelos que se ajustan rápidamente, podríamos obtener algunas ventajas al emplear versiones específicas del bootstrap.
Chris
Y lo único que haría que el bootstrap parezca lento (aunque aún sería más rápido que la validación cruzada, que requiere 100 repeticiones de validación cruzada 10 veces para proporcionar estabilidad) es compararlo con la división de datos única que proporciona solo una ilusión de estabilidad.
Frank Harrell