La plataforma PLS se está reacondicionando sin validación + ¿cómo usar el bootstrap?Hola,
1) Estoy haciendo un PLS, tengo 42 observaciones. El número de predictores posibles oscila entre 24, 79 y 240, dependiendo de cuánto preselecciono las variables. Mi Y es categórica, ya sea 2 o 3. Después de ejecutar el lanzamiento de la plataforma, llego a la parte NIPALS/SIMPLS, y no importa qué tipo de validación use (Kfold, dejar encendido, e reserva) o cuántos factores elija, siempre aparece el error: "el mejor modelo tiene 0 factores, reacondicionamiento sin validación".¿Alguna sugerencia de qué puedo hacer para solucionar esto? Realmente quiero usar PLS, pero modelar sin ninguna validación es simplemente un ajuste excesivo...
2) Una vez obtenido el resultado, tengo la fórmula de predicción. ¿Cuál sería el procedimiento para arrancarlo? Tengo mucha incertidumbre respecto al procedimiento para arrancar los resultados; Desearía que JMP ya introdujera el arranque en el proceso de validación. Supongo que necesitaría promediar los coeficientes de arranque, pero al arrancar esa tabla se volvería a ejecutar, todo el modelo incluido. ¿Validación de k veces (en caso de que funcionara)? Si es así, ¿debería utilizar los datos centrados y escalados o los coeficientes originales? Tendría que ingresar manualmente los resultados como una fórmula, así que supongo que debería arrancar los coeficientes originales, pero eso ejecutaría el modelo usando los datos escalados centrados y proporcionaría los coeficientes originales, o ejecutaría el modelo usando los coeficientes originales. ? Todo el procedimiento no me queda claro desde la perspectiva del proceso, es decir, lo que sucede paso tras paso para alcanzar el resultado que deseo; ¡Cualquier ayuda/idea sería apreciada!
Gracias,
Uriel.
Modelado predictivo y aprendizaje automáticoRe: La plataforma PLS se está reacondicionando sin validación + ¿cómo usar el bootstrap?Hola @utkcito ,
Ahora entiendo lo que quería decir originalmente con "bootstrap": ejecutar la plataforma bootstrap es un buen enfoque, pero también querrá ejecutar modelos predictivos con la red neuronal, GenReg, árboles impulsados e incluso obtener el complemento XGBoost. para comparar las diferentes fórmulas de predicción en un conjunto de pruebas de validación. Al hacer eso, querrás estar seguro y ajustar tu configuración para obtener el mejor ajuste; los ajustes predeterminados no siempre son tan buenos.
Pero una cosa buena del enfoque de los árboles es que es un enfoque agregado que utiliza muchos árboles de decisión diferentes para generar un modelo. Si los factores no son muy importantes en su contribución, automáticamente serán relegados y no mostrarán una contribución alta al modelo general. Aún así, debido a los inicios aleatorios y al proceso de decisión, los enfoques del bosque de arranque y de los árboles impulsados no son particularmente estables: cuando ejecutas la misma configuración cientos de veces, verás que en realidad obtienes respuestas y fórmulas ligeramente diferentes. Por eso es bueno arrancar el "SS" o la "porción" en el informe de salida (en el bosque de arranque, por ejemplo) para obtener una mejor estimación de qué tan fuerte es realmente ese factor en el modelo.
Dicho esto, querrás asegurarte de utilizar métodos de validación cruzada para asegurarte de no sobreajustar. Y, con una tabla de datos relativamente corta (no tantas mediciones), será difícil hacerlo sin utilizar un enfoque de dejar uno fuera, a menos que utilice el método de autovalidación que mencioné en la respuesta anterior. La validación cruzada K-fold también podría ser un buen enfoque para usted.
No estoy seguro de cómo se ven sus datos de entrada, pero casi parece que son lo que JMP llama "datos funcionales", como espectros u otros datos espaciados regularmente donde cada longitud de onda (o valor x) se correlaciona con su vecino. Es posible que desee considerar el uso del explorador de datos funcionales para generar un mejor subconjunto de predictores. O bien, PCA también es un buen enfoque para reducir la dimensionalidad de sus predictores y utilizar un conjunto más pequeño de vectores ortogonales para modelar sus datos.
En cuanto a tus puntos:
1) ¿Existe alguna razón teórica (biológica, química, física) para incluir tantos términos cruzados diferentes del enfoque factorial *2? Si no tiene una razón teórica para incluirlos, entonces no tiene mucho significado y podría estar introduciendo un predictor falso.
2) En la plataforma PLS, es importante observar también la respuesta Y acumulada en la "Variación porcentual explicada" del informe. Si las combinaciones lineales de sus predictores no explican gran parte de la respuesta en Y, su porcentaje de variación explicada será bastante bajo, lo que indica que sus predictores no están haciendo un trabajo particularmente bueno como combinación lineal para explicar la variación en Y y una combinación diferente. La plataforma probablemente funcionará mejor. Con tan pocas medidas de respuesta, intentar ajustar una cantidad tan grande de predictores probablemente conducirá a un sobreajuste porque no se tienen suficientes grados de libertad. Junto con PLS, es posible que desee considerar revisar la plataforma de Análisis factorial en Análisis multivariado. Estoy pensando que tus variables de citocinas pueden ser demasiadas y perder tus grados de libertad. Imagine tener dos puntos y ajustar una línea, o tres y ajustar una parábola: obtiene un ajuste perfecto porque ese es exactamente el número mínimo de puntos necesarios para ajustar esos polinomios, pero pierde grados de libertad y ya no puede estimar errores. o calidad adecuada. Estoy pensando que esto es lo que está sucediendo en la plataforma PLS.
3) Las páginas de la comunidad son las mejores. Siempre los reviso, especialmente para los scripts JSL mientras codifico en JMP. Casi siempre hay un fragmento de código que alguien más ha resuelto y que es exactamente lo que necesito para mi trabajo. También disfruto repasando las preguntas y viendo en qué puedo ayudar, especialmente cuando aprendo algo nuevo.
¡Toda la suerte!,
DS
Re: La plataforma PLS se está reacondicionando sin validación + ¿cómo usar el bootstrap?Hola DS,
1) la razón por la que tengo de 24 a 237 variables es exactamente porque depende de cuánta selección de variables haga. 24 es posterior al arranque de Forrest, y luego puedo hacer el factorial *2. 237 es el conjunto completo de citoquinas.
2) " los predictores también necesitan covariar con la respuesta; de lo contrario, se obtiene ese error, lo que significa que no hay combinaciones lineales de sus predictores que expliquen la variación en su respuesta. ¿Puede explicar un poco más que eso? Pensé que la covarianza es entre sí, es decir, son multicolineales, y que PLS usa esa covarianza entre las variables creando los factores que subyacen a esa covarianza. No estoy seguro de entender a qué te refieres cuando dices que tienen que covariar con el respuesta . Me cuesta pensar que de 24, 79 o 237 variables de citocinas (en realidad son la media, la mediana y el IQR de mediciones longitudinales), ninguna combinación lineal de ellas puede explicar alguna variación de la respuesta (enfermedad crítica en la UCI); de hecho, ya se ha establecido que lo hacen en otros entornos, por lo que no entiendo por qué JMP está haciendo eso.
3) Gracias por la explicación de cómo operacionalizar el bootstrapping, tiene mucho más sentido, lo probé y funciona. Siempre me sorprende lo poco que ayuda la documentación formal de JMP, los pocos detalles de cómo funciona y cómo hacer que funcione, y lo mucho que realmente ayudan los foros, tutoriales, etc.
¡Muchas gracias!
Uriel.
Re: La plataforma PLS se está reacondicionando sin validación + ¿cómo usar el bootstrap?Hola @utkcito ,
En primer lugar, es posible que PLS no sea la mejor plataforma para utilizar con sus datos. Podría ser mejor ejecutar esto como GenReg o Stepwise para ver qué predictores son realmente importantes en su modelo. Me parece muy extraño que su número de predictores oscile entre 24 y 240. Con tan pocas observaciones en relación con su posible número de predictores, realmente debería realizar una evaluación de predictores para asegurarse de no agregar demasiados factores innecesarios en su modelo. PLS puede manejar eso, pero los predictores también deben covariar con la respuesta; de lo contrario, obtendrá ese error, lo que significa que no hay combinaciones lineales de sus predictores que expliquen la variación en su respuesta. Sin embargo, si debe usar PLS y no tiene otra opción, entonces podría considerar cambiar su respuesta de categórica (2 o 3) a ordinal (2 o 3). Quizás pueda encontrar una mejor solución numérica. También recomiendo encarecidamente investigar y utilizar el autovalidación enfoque para verificar su gran lista de predictores.
En segundo lugar, cuando JMP realiza cualquier ajuste, creo que en segundo plano siempre utiliza datos centrados y escalados para obtener mejores valores de las estimaciones y luego calcula las estimaciones reales. Por lo tanto, en realidad no importa lo que termines haciendo, sin embargo, podría tener más sentido o ser más fácil interpretar los bootstraps de estimación reales en lugar de los datos centrados y escalados. Y sí, al iniciar las estimaciones se volverá a ejecutar la adaptación con cualquier validación que esté realizando.
Por último, para iniciar las estimaciones, hará clic derecho en las estimaciones de la columna en el informe JMP y luego seleccionará iniciar. Si es rápido, ponga quizás 5000, pero si es lento, déjelo en 2500. Asegúrese de marcar la casilla "pesos fraccionarios". Volverá a ejecutar el ajuste varias veces y luego le dará una distribución de valores para cada coeficiente de los predictores (simplemente ejecute el script de "distribución" en la tabla de datos de salida. Luego, con la distribución y las estadísticas que aparecen, puede hacer clic derecho en las estadísticas resumidas y seleccionar "convertir en tabla de datos combinados". Asegúrese de personalizar también las estadísticas de resumen para mostrar la proporción distinta de cero.
La tabla de datos combinados contendrá la media y la proporción distinta de cero para sus estimaciones. Allí puede ver cuál es la media (valor típico), así como con qué frecuencia (en porcentaje) esa estimación es distinta de cero; si ese número es pequeño, entonces la estimación suele ser cero. Si es grande, la mayoría de las veces es distinto de cero. Esta es una buena manera de determinar qué términos y términos mixtos necesita o no en su modelo.
Espero que esto ayude,
DS