La plataforma PLS se está reajustando sin validación + ¿cómo usar el bootstrap?Hola,
1) Estoy haciendo un PLS, tengo 42 observaciones. El número de predictores posibles varía de 24 a 79 a 240 dependiendo de cuánto preseleccione 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, leave on, e holdout) o cuántos factores elijo - siempre obtengo 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 sobreajuste ...
2) Una vez obtenido el resultado, tengo la fórmula de predicción. ¿Cuál sería el procedimiento para iniciarlo? Tengo mucha incertidumbre con respecto al procedimiento para iniciar los resultados; Me gustaría que JMP ya introdujera el bootstrapping en el proceso de validación. Supongo que necesitaría promediar los coeficientes de arranque, pero volvería a ejecutar el arranque de esa tabla, todo el modelo inc. validación de k-fold (en caso de que funcione)? Si es así, ¿debo usar 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 ¿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 me resulta bastante confuso desde la perspectiva del proceso, es decir, qué sucede paso a paso para alcanzar el resultado que deseo; ¡Cualquier ayuda / conocimiento será apreciada!
Gracias,
Uriel.
AnalíticaRe: la plataforma PLS se está reajustando 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 relativas a su posible número de predictores, realmente debería hacer una selección de predictores para asegurarse de que no está agregando 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). Podría encontrar una mejor solución numérica. También recomiendo encarecidamente buscar 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 usa datos centrados y escalados para obtener mejores valores de las estimaciones y luego vuelve a calcular las estimaciones reales. Por lo tanto, realmente no importa lo que termine por arrancar, sin embargo, podría tener más sentido o ser más fácil interpretar las estimaciones de arranque reales en lugar de los datos centrados y escalados. Y sí, arrancar las estimaciones volverá a ejecutar el ajuste con cualquier validación que esté haciendo.
Por último, para arrancar las estimaciones, haga clic con el botón derecho en las estimaciones de la columna en el informe JMP y luego seleccione bootstrap. 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 con el botón derecho en las estadísticas de resumen 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) y con qué frecuencia (en porcentaje) esa estimación es distinta de cero; si ese número es pequeño, la estimación suele ser cero. Si es grande, la mayoría de las veces no es cero. Esta es una buena forma de determinar qué términos y términos mixtos necesita o no en su modelo.
Espero que esto ayude,
DS
Re: la plataforma PLS se está reajustando 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 hago. 24 es después de bootstrap forrest, y luego puedo hacer el factorial * 2. 237 es el conjunto completo de citocinas.
2) " 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 "¿Puede explicar un poco más que eso? Pensé que la covarianza es entre ellos, 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 lo que quiere decir cuando dice 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 las mediciones longitudinales), ninguna combinación lineal de ellas puede explicar ninguna variación de la respuesta (enfermedad crítica en la UCI); de hecho, ya se ha establecido que lo hacen en otros entornos, así 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 y lo probé y funciona. Siempre me sorprende lo poco que ayuda la documentación formal de JMP, lo pocos detalles de cómo funciona y cómo hacer que funcione, y cuánto realmente ayudan los foros, tutoriales, etc.
¡Muchas gracias!
Uriel.
Re: la plataforma PLS se está reajustando sin validación + ¿cómo usar el bootstrap?Hola @utkcito ,
Ahora entiendo lo que originalmente querías decir con "bootstrap": ejecutar la plataforma bootstrap es un buen enfoque, pero también querrás 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á estar seguro y ajustar su configuración para obtener el mejor ajuste; los ajustes predeterminados no siempre son tan buenos.
Pero, una cosa buena sobre el enfoque de á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 se reducirán 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 de bosque de arranque y árboles impulsados no son particularmente estables; cuando ejecuta la misma configuración cientos de veces, verá que en realidad obtiene respuestas y fórmulas ligeramente diferentes. Es por eso que es bueno arrancar la "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á asegurarse de utilizar métodos de validación cruzada para asegurarse de no sobreajustar. Y, con una tabla de datos relativamente corta (no tantas medidas), será difícil hacerlo sin usar un enfoque de dejar uno fuera, a menos que use el método de autovalidación que mencioné en la respuesta anterior. La validación cruzada de 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 es 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 funcional para generar un mejor subconjunto de predictores. O, PCA también es un buen enfoque para reducir la dimensionalidad de sus predictores y usar un conjunto más pequeño de vectores ortogonales para modelar sus datos.
En cuanto a sus puntos:
1) ¿Existe una 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 es muy significativo y podría estar introduciendo un predictor falso.
2) En la plataforma PLS, es importante observar también la respuesta Y acumulada en el "Porcentaje de variación explicado" en el informe. Si las combinaciones lineales de sus predictores no explican gran parte de la respuesta en Y, su% de variación explicada será bastante bajo, lo que indica que sus predictores no están haciendo un trabajo particularmente bueno como una combinación lineal para explicar la variación en Y, y un 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 tiene suficientes grados de libertad. Junto con PLS, es posible que desee considerar revisar la plataforma de Análisis de factores en Análisis multivariante. Creo que sus variables de citocinas pueden ser demasiadas y perderá sus grados de libertad. Imagina tener dos puntos y ajustar una línea, o tres y ajustar una parábola: obtienes un ajuste perfecto porque esa es exactamente la cantidad mínima de puntos necesarios para ajustar esos polinomios, pero pierdes cualquier grado de libertad y ya no puedes estimar errores. o ajuste de calidad. Creo que esto es lo que está sucediendo en la plataforma PLS.
3) Las páginas de la comunidad son las mejores. Siempre los estoy revisando, especialmente para los scripts JSL mientras codifico en JMP. Casi siempre, hay un fragmento de código que alguien más ha resuelto que es exactamente lo que necesito para mi trabajo. También disfruto repasar las preguntas y ver en qué puedo ayudar, especialmente cuando puedo aprender algo nuevo.
¡La mejor de las suertes!,
DS