mejor modeloHola
Mi pregunta es ¿cómo puedo encontrar el mejor modelo paramétrico que se ajuste muy bien a mi conjunto de datos?
Quiero encontrar un modelo paramétrico que pueda predecir bien mi respuesta.
Modelado estadístico avanzadoAnálisis y modelado de datos básicosRe: mejor modeloHola @maryam_nourmand ,
Su pregunta se refiere a un tema amplio y puede haber (muchas) preguntas que abordar y responder antes de responder esta pregunta:
- ¿Cómo se recopilan los datos? ¿Estudio observacional, diseño experimental,...? ¿Representatividad e integridad del conjunto de datos? Un análisis de datos exploratorio puede ser útil para detectar algunos patrones y posibles errores con respecto a los supuestos en los modelos de regresión , como la multicolinealidad, que puede requerir un modelo adaptado como PLS o pasos de preprocesamiento como PCA.
- ¿Objetivo del modelo(s)? ¿Explicaciones causales, predicción y optimización, o ambas (también vinculadas al conjunto de datos disponible y al método de recopilación)?
- ¿Estrategia de validación/selección de funciones? ¿Cómo garantizar que los modelos creados tengan el nivel adecuado de complejidad y sigan teniendo un buen rendimiento predictivo, por ejemplo? ¿Evalúa el rendimiento y la solidez del modelo a través de una estrategia de validación de aprendizaje automático "estándar" (con validación cruzada o divisiones de entrenamiento/validación/prueba), o mediante un enfoque "orientado estadísticamente", basado en criterios de probabilidad e información (AICc, BIC), valores p...? Tenga en cuenta que la complejidad del modelo también debe estar directamente limitada por la recopilación de datos: si tiene factores con 3 niveles diferentes, por ejemplo, no podrá ajustar términos superiores a los de segundo orden.
- ¿Métricas y umbral de evaluación/selección? ¿Cómo evalúa los modelos? ¿Cuál es el proceso/criterio de selección: se seleccionan los que tienen los mejores resultados predictivos con la métrica seleccionada, o se seleccionan todos los modelos que tienen un mejor rendimiento que un modelo de referencia o un modelo ingenuo,...? ¿Cómo se prueba finalmente el modelo?
Algunas de estas preguntas y respuestas ya fueron descritas en publicaciones anteriores:
https://community.jmp.com/t5/Discussions/Statistical-Significance/mp/765928/highlight/true#M94573
https://community.jmp.com/t5/Discussions/Analysis-of-split-plot-design-with-full-factorial-vs-RSM/mp/770579/highlight/true#M95183
Crear, comparar y seleccionar modelos requiere métricas de evaluación vinculadas a su objetivo y umbrales/criterios para seleccionar uno o varios modelos. Si simplemente desea el mejor modelo predictivo, podría:
- Cree un modelo con una estrategia de validación de ML estándar (validación cruzada, por ejemplo) o una estrategia capaz de controlar la complejidad del modelo.
- Utilice una o varias métricas vinculadas a la precisión predictiva, como RMSE, MAPE, ...
- Compare modelos basados en las métricas y la experiencia en el dominio: cuáles son los más apropiados/relevantes para su tema y cuáles tienen los mejores resultados.
- Elija estimar predicciones individuales con los modelos seleccionados para ver cómo y dónde difieren y/o utilizar un modelo combinado para promediar los errores de predicción.
- Pruebe el modelo en una situación/entorno de producción "real".
Es posible que también le interesen estos recursos:
¿Qué modelo y cuándo?
Especificación y ajuste de modelos
Construcción y comprensión de modelos predictivos
Creación de modelos predictivos para datos correlacionados y de alta dimensión
Creación de mejores modelos predictivos con JMP Pro: selección de modelos (podría ayudar a seleccionar opciones de modelos paramétricos y de aprendizaje automático y compararlos simultáneamente)
Modelado predictivo
STIPS Módulo 7: Modelado predictivo y minería de textos
¿Qué modelo cuando? (¿y qué tipo de modelado?) - (2023-US-PO-1509)
Elección de modelos en JMP con criterios de selección de modelos - (2023-US-30MP-1456)
Minería de datos y modelado predictivo
Espero que este primer iniciador de discusión te ayude.
Re: mejor modelo
Si quiero explicar mi objetivo con mayor precisión:
Tengo un conjunto de datos inicial relacionado con datos de pacientes con cáncer. Quiero encontrar un modelo estadístico paramétrico adecuado que mejor se adapte a mi conjunto de datos. Usando este modelo, mi objetivo es simular datos para aplicar un cambio en la intersección del modelo. En última instancia, quiero ver qué tan rápido mi modelo de aprendizaje automático preexistente puede detectar este cambio en un gráfico de control (es decir, obtener el ARL). Para ello, necesito el modelo que mejor se ajuste a mis datos para poder simular datos a partir de él.
Re: mejor modeloHola @maryam_nourmand ,
Bien, entonces será más probable que utilice un enfoque de minería de datos, con un conjunto de datos fijo de datos de observación en el que intente ajustar un modelo predictivo aceptable. El uso de columnas de validación (con estratificación de sus características) ayudará a validar (para evitar el sobreajuste) y probar su modelo en datos de producción. En términos de estrategia de modelado, es muy probable que utilice enfoques paso a paso para seleccionar características y enfoques de regresión generalizada con método de columna de validación.
Como ejemplo, utilicé el conjunto de datos Cancer_Data de Kaggle para predecir si hay un cáncer benigno o maligno en función de las características individuales: https://www.kaggle.com/datasets/erdemtaha/cancer-data?resource=download
Después de un primer análisis exploratorio de datos centrado principalmente en distribuciones y correlaciones entre características, creé una fórmula de columna de validación (estratificación de las características) con proporciones 70/20/10 para conjuntos de entrenamiento/validación/prueba, y luego utilicé un modelo de regresión generalizada con método de columna de validación y todas las características de efectos principales y los términos de interacciones de 2 características ingresados como posibles términos en el modelo. Elijo una Elastic Net adaptativa porque las características están fuertemente correlacionadas, pero también puede haber otras opciones, como el preprocesamiento PLS o PCA.
Luego puede guardar la fórmula de este modelo y utilizar Prediction Profiler para crear simulaciones , evaluar el impacto de los efectos de las características en la respuesta y posiblemente estimar el efecto del aumento del ruido en la respuesta prevista.
Espero que estas pocas opciones puedan ayudarte con tu tema.
Re: mejor modeloSu respuesta me lleva a preguntar: ¿qué quiere decir con "modelo estadístico paramétrico?" Normalmente pienso que los modelos de aprendizaje automático no son paramétricos, por lo que aquí se excluyen dichos modelos. No está claro porque dice que tiene un modelo de aprendizaje automático preexistente. ¿Quiere comparar un modelo paramétrico y no paramétrico? Si utiliza la plataforma de selección de modelos, puede crear varios modelos predictivos de ambos tipos. Usando lo que considere "mejor ajuste", puede guardar la fórmula de predicción para realizar simulaciones. No estoy del todo seguro de lo que quiere decir con "cambio en la intersección del modelo", pero creo que podría simplemente poner una perturbación aditiva en la fórmula para generar los datos simulados.
Re: mejor modeloGracias por su respuesta.
Pero creo que para la simulación es mejor ir a la sección `guardar columnas->guardar fórmula de simulación` porque contiene una fórmula para simulación que también puedo usar para escribir código, ¿verdad?
Y gracias por presentar el conjunto de datos.
Pero, ¿tiene un conjunto de datos relacionado con un proceso de tratamiento que incluye múltiples etapas? Es decir, después del primer tratamiento, la enfermedad recae, se realiza el segundo tratamiento y se registra la información del tratamiento, como la dosis del medicamento, etc. Si tiene un conjunto de datos de este tipo, le agradecería que pudiera compartirlo.
Re: mejor modeloSí, por "modelo paramétrico" no me refiero a modelos de aprendizaje automático.
Mi objetivo al encontrar el mejor modelo paramétrico es simular y generar datos con una cantidad mayor que mi conjunto de datos inicial. Quiero utilizar más datos para mi modelo de aprendizaje automático, pero quiero que los datos simulados se parezcan y sean similares a mi conjunto de datos inicial.
Re: mejor modeloNo veo por qué necesitas un modelo paramétrico para hacer eso. Puede ejecutar cualquier modelo predictivo y utilizar Profiler para simular cualquier cantidad de puntos de datos adicionales, especificando diferentes valores para las variables independientes y agregando ruido aleatorio a las predicciones. Quizás no entiendo lo que pretende hacer, pero no veo que el modelo paramétrico sea necesario.
Re: mejor modelo¿Cuál es la diferencia entre guardar fórmulas de simulación a través de "Guardar columnas -> Guardar fórmula de simulación" y simular usando la herramienta Profiler?
La razón por la que estoy usando un modelo paramétrico para la simulación es que quiero tener la relación y la fórmula de simulación para poder escribir el código correspondiente y repetir este proceso 100 veces seguidas (para obtener el ARL de mi gráfico de control basado en el modelo que construí en la fase I).
Si tuviera que hacer esto manualmente con el software, llevaría mucho tiempo y sería difícil.
Re: mejor modeloHola @maryam_nourmand ,
Depende cuál sea tu objetivo.
Guardar una fórmula de simulación puede ayudarle a evaluar las distribuciones de coeficientes de su modelo, al cambiar la respuesta de diagnóstico con la fórmula de simulación de diagnóstico: Simular

La fórmula de simulación es solo una versión condensada de las fórmulas de predicción que puede guardar desde el informe de ajuste del modelo: en lugar de tener una columna de probabilidad para cada clase y una columna de clasificación final, solo guarda una columna con cálculo de probabilidades y clasificación dentro de la misma fórmula. .
Si está más interesado en la solidez de su modelo con respecto a las variaciones en sus entradas, entonces usar el Simulador de Prediction Profiler con variaciones en las entradas (y posiblemente agregar ruido en la salida) y ejecutar un Experimento de simulación puede ayudarlo. Luego puede generar variaciones en sus entradas y posiblemente cambiar las distribuciones de sus características para ver cómo afecta su modelo, así como aumentar el ruido para ver qué tan robusto podría ser su modelo de predicción.
Como nota al margen y relacionada con los puntos aportados por @dlehman1 :
Mi objetivo al encontrar el mejor modelo paramétrico es simular y generar datos con una cantidad mayor que mi conjunto de datos inicial. Quiero utilizar más datos para mi modelo de aprendizaje automático, pero quiero que los datos simulados se parezcan y sean similares a mi conjunto de datos inicial.
Para simular y generar datos similares a los datos reales recopilados, es necesario "imitar" el proceso de generación de datos. Si existen fuertes no linealidades, correlaciones u otros patrones encontrados por su modelo ML y no considerados por el modelo paramétrico, debe simular y generar datos con el modelo ML, o de lo contrario introducirá un fuerte sesgo en la simulación/ datos generados. No entiendo la necesidad de tener un modelo separado para la generación y predicción de datos para este caso de uso.
Tenga en cuenta que no importa cuán predictivo pueda ser un modelo, es solo una simplificación de un fenómeno que está tratando de comprender y predecir, por lo que la generación de datos de este modelo aún puede estar más o menos sesgada (y probablemente generar resultados menos ruidosos que los reales). datos).Pero aún puede resultar útil evaluar su solidez ante las variaciones en los datos, como pretende hacer.
Y no, lo siento, no tengo un conjunto de datos que incluya tratamiento en múltiples etapas. Acabo de encontrar este y lo uso para proporcionar un ejemplo ilustrativo que podría adaptarse a su caso de uso, eso es todo.
Espero que esta respuesta te ayude,
Re: mejor modelo@VíctorG
Supongo que aprenderé algunas funciones nuevas de JMP. Dígame de dónde sacó la ventana de simulación con las columnas para cambiar que está mostrando. No puedo encontrarlo por ninguna parte. Veo dónde ejecutar experimentos de simulación, pero no encuentro ningún lugar que indique guardar una fórmula de simulación. Gracias.
Re: mejor modeloHola @dlehman1 ,
Se puede acceder a la función de simulación haciendo clic derecho en cualquier panel/informe de la plataforma del modelo: Inicie la función de simulación
A continuación se muestra un ejemplo del resumen del modelo de SVM:

Luego se le pedirá que elija las columnas para activarlas y desactivarlas. En el contexto de Simular, puede usarlo en las estimaciones de los parámetros de un modelo de regresión lineal, cambiando la respuesta con la respuesta simulada para evaluar la distribución de las estimaciones de los parámetros, o en el resumen del modelo para evaluar la consistencia del desempeño del modelo : Simular ventana
Con respecto a la fórmula de simulación, se puede encontrar y guardar como una de las opciones en "Guardar columnas" en la plataforma de Regresión generalizada:

Utilizo esta opción "Simular" para evaluar la solidez de los modelos de aprendizaje automático mediante una fórmula de columna de Validación. Al utilizar esta columna como validación en la ventana de diálogo del modelo, puedo simular y activar y desactivar estos valores de columna para representar conjuntos de entrenamiento/validación/prueba ligeramente diferentes con el mismo método de estratificación o agrupación. Puede ayudar a evaluar la solidez del algoritmo (como también permitiría la validación cruzada: https://community.jmp.com/t5/Discussions/How-can-I-automate-and-summarize-many-repeat-validations-into /mp/632192/highlight/true#M83061 ), y posiblemente probar la mejora del rendimiento (si la hay) del modelo ajustando los hiperparámetros ( https://community.jmp.com/t5/Discussions/Boosted-Tree- Tuning-TABLE-DESIGN/mp/609591/highlight/true#M81062 ).
Espero que esta respuesta pueda ayudarte,
Re: mejor modeloHola de nuevo
por ejemplo, mire esta fórmula de simulación:
(-0.741104921699375) + 0.0237113448295257 * :peso + Coincidencia( :sexo,
0, (:edad - 33.8085106382979) * 0.0091364700024452,
1, (:edad - 33.8085106382979) * 0,
.
) + (:peso - 63.3936170212766) * Coincidencia( :familia, 0, -0.015643799304455, 1, 0, . ) + (:tamaño del tumor - 2.49893617021277) *
Coincidencia( :familia, 0, 0.441690642908435, 1, 0, . ) + (:tamaño del tumor - 2.49893617021277) * Coincidencia( :hyper, 0, -0.346279666197286, 1, 0, . )
+Coincidencia( :hyper, 0, Coincidencia( :disección, 0, 0.354356313550484, 1, 0, . ), 1, Coincidencia( :disección, 0, 0, 1, 0, . ), . ) + (0.15468861367462
+ 0) * Tangente( Pi() * (Uniforme aleatorio() - 0,5) )
Necesito una fórmula como esta para mi proyecto porque debo escribir un código Python y generarlo 100 veces para calcular ARL.
¿Logré transmitir mi punto?