¿Cuándo no se debe utilizar el cribado de predictores?Tengo curiosidad por saber si hay ocasiones en las que no debería utilizar la herramienta de detección de predictores y, de ser así, ¿qué debería verificar con sus datos para saber si podría tener problemas al utilizar la detección de predictores?
Análisis y modelado de datos básicosRe: ¿Cuándo no debería utilizar la detección de predictores?Considero que la detección de predictores es inmensamente valiosa, pero como cualquier herramienta automatizada, no puede tener en cuenta algunas cosas. Es más valioso cuando tienes muchos predictores potenciales; sin embargo, cuando estos predictores están estrechamente relacionados, no confío del todo en el procedimiento automatizado. Considero que este es un problema común, donde tengo conjuntos de datos que tienen una serie de medidas estrechamente relacionadas (por ejemplo, disponibilidad de hoteles en diferentes momentos). Si solo utiliza la detección de predictores, puede obtener la medida más estrechamente relacionada o posiblemente se elijan varias de ellas. ¿O potencialmente ninguno se destacará (no estoy seguro de eso)? Lo que hago en tales casos es analizar manualmente los predictores estrechamente relacionados, utilizando la plataforma Multivariante. Luego puedo elegir una de las medidas relacionadas para usar en la detección de predictores.
Hay otros casos más complicados. La selección de predictores no identificará si debe crear nuevas variables como funciones de las existentes (como proporciones de dos medidas). No le dará una buena idea de si debe recodificar algunas de sus variables nominales (tampoco estoy seguro de esta; no he experimentado para verla). En general, diría que Predictor Screening no reemplaza todos los pasos normales de limpieza de datos; es más valioso cuando se usa después de limpiar los datos.
Re: ¿Cuándo no debería utilizar la detección de predictores?Gracias. También lo encuentro bastante valioso, así que me pregunto dónde podría fallar y cómo verificar esa falla. No sé mucho sobre el modelo de bosque bootstrap en el que (creo) se basa, pero he leído brevemente que es menos susceptible a la multicolinealidad como lo son los modelos lineales, pero también he preparado que podría fallar si tiene relaciones lineales con la respuesta y los predictores, o si le falta iid, pero no sé cómo verifica esas suposiciones en su evaluador de predictores, o si ese es realmente el caso, ya que soy bastante nuevo en este tipo de análisis de datos. Sería bueno si JMP tuviera un tutorial sobre qué buscar en términos de verificación de suposiciones, etc.
Re: ¿Cuándo no debería utilizar la detección de predictores?Hola @mjz5448 ,
Podría agregar una respuesta complementaria para dilucidar parte de la información proporcionada, basada en las respuestas anteriores que ya escribí sobre temas similares:
¿Evaluador de predictores versus DOE?
Detección de predictores
Pregunta de evaluación de predictores
Predictor Screening es un método basado en el algoritmo Random Forest que le ayuda a identificar variables importantes (identificadas mediante el cálculo de la importancia de las características) para sus respuestas en sus datos históricos. Dependiendo de la representatividad de sus datos, la cobertura del espacio experimental, los valores faltantes, la presencia de valores atípicos, las interacciones, las correlaciones o la multicolinealidad entre sus factores, esta plataforma puede tener algunos atajos, muchas incógnitas y no se debe confiar ciegamente (como se indica por @dlehman1 ).
- El análisis y los conocimientos que puede obtener con este análisis solo se limitan al espacio experimental histórico (que puede ser demasiado limitado y/o no representativo para una buena comprensión del sistema). Puede ver esto como espacio experimental de producción (datos históricos) versus I+D (DoE): en producción, solo se permiten pequeñas variaciones de los factores (y algunas son fijas, por lo que no podrá determinar su importancia) para crear productos robustos y de calidad, mientras que en I+D el objetivo es diferente: explorar un espacio experimental y optimizar los factores de un sistema, utilizando rangos más amplios para los factores considerados.
- La plataforma de detección Predictor no le proporciona un modelo (a diferencia de Bootstrap Forest disponible en JMP Pro), solo características/factores importantes, por lo que no tiene acceso a árboles y ramas individuales, lo que podría ayudar a identificar interacciones entre factores, y los valores de los niveles de umbral de los factores utilizados para las divisiones.
- Como no conoces la calidad del modelo que hay detrás (a través de R², RMSE u otras métricas relevantes según tus objetivos), no sabes cuánta variabilidad se explica a través de él (o qué tan preciso es el modelo) y si el Los cálculos de importancia de las características son relevantes/adecuados para su tema.
- Dado que todos los factores están clasificados, el umbral/límite entre factores importantes y no importantes no es trivial. Para ayudarte, puedes agregar un factor aleatorio (con valores aleatorios). Aquí se muestra un ejemplo de esta técnica con el conjunto de datos de diamantes de JMP con el precio como respuesta, agregando un factor aleatorio y omitiendo el peso en quilates como posible entrada (dado que es un predictor muy importante, quería mostrarles un ejemplo en el que es difícil para ordenar los otros predictores):

- Esta plataforma no te da indicaciones sobre posibles correlaciones o multicolinealidad entre factores. Puede utilizar la plataforma Multivariante para explorar correlaciones entre entradas, salidas y entradas-salidas. También puede crear modelos de regresión ficticios para calcular puntuaciones VIF entre sus factores, a fin de detectar multicolinealidad.
- Los factores categóricos de alta cardinalidad también pueden sesgar los cálculos de importancia de las características. Cuanto mayor sea la cardinalidad (número de clases), mayor será el sesgo, ya que los datos formarán una gran cantidad de pequeños grupos/clases que el modelo intentará aprender. Por lo tanto, no podrá generalizar ni "comprender la lógica" y, como resultado, aumentará la posibilidad de sobreajuste, lo que le dará a esta característica una gran importancia.
Un ejemplo aquí con el mismo conjunto de datos, las mismas condiciones, pero agregando factores categóricos aleatorios con 11 niveles (de A a K, llamados "Shuffle[Column10]). Esta característica aleatoria categórica con alta cardinalidad tiene una clasificación más alta que la variable numérica aleatoria vista antes. :

Con respecto a sus preguntas sobre multicolinealidad:
- La multicolinealidad entre variables se maneja en Random Forest mediante la selección aleatoria de subconjuntos de características en cada nodo: en cada nodo, para determinar la siguiente división, usted crea aleatoriamente un subconjunto de sus características y evalúa en este subconjunto qué característica (y en qué nivel de umbral ) es capaz de separar mejor los puntos de datos en función de sus valores de respuesta. Entonces, como cada característica tiene las mismas posibilidades de ser seleccionada, incluso las características correlacionadas pueden seleccionarse y tener una importancia de característica similar en el modelo. Este proceso minimiza el impacto de la correlación entre columnas y no está presente para el árbol de decisión (o árbol impulsado), donde se crea un único árbol con todas las características probadas en cada nodo: solo se puede seleccionar una de las características correlacionadas para la división.
- Dado que Random Forest crea un gran modelo basado en muchos árboles de decisión entrenados en paralelo en muestras de arranque, cada árbol individual se entrena en un conjunto de datos ligeramente diferente, lo que también ayuda a reducir las correlaciones entre cada árbol (correlaciones entre filas) y reduce la variación del modelo.
Más información sobre modelos basados en árboles:
https://community.jmp.com/t5/Mastering-JMP/Understanding-and-Applying-Tree-based-Methods-for-Predictor/tac-p/593506/highlight/true#M370
Y sobre las ventajas de Random Forests: https://www.linkedin.com/posts/victorguiller_doe-machinelearning-randomforests-activity-7127557799810625536-FH7K
Espero que esta respuesta complementaria te ayude.
Re: ¿Cuándo no debería utilizar la detección de predictores?Gracias Víctor_G. Aprecio la comprensión de la multicolinealidad; no es algo que normalmente tenga en cuenta, pero intentaré hacerlo en el futuro.
¿Tiene alguna idea sobre si la detección de predictores funcionará si sus datos no son iid (independientes y distribuidos de manera idéntica)? He leído que los modelos forestales aleatorios o basados en árboles tienen limitaciones si sus datos tienen una tendencia de serie temporal, que se puede superar, pero que de alguna manera es necesario transformar los datos. No estoy seguro de si eso es aplicable a la detección de predictores o no, ya que recién estoy aprendiendo sobre este tema.
Re: ¿Cuándo no debería utilizar la detección de predictores?Hola @mjz5448 ,
Los bosques aleatorios se pueden utilizar para el pronóstico de series temporales (y también para otros algoritmos).
La mayor precaución con datos que no son iid es tener en cuenta las dependencias/grupos en los datos, ya sea que provengan de grupos de observaciones/individuos similares, dependencia del tiempo, repetición de mediciones, etc...., en la división de datos (entrenamiento). /prueba de validación). La división incorrecta de datos para datos que no son iid podría provocar fugas de datos, expectativas falsas y resultados demasiado optimistas.
Normalmente, para el pronóstico de series de tiempo, se debe realizar una división de datos específica para entrenamiento y validación (no aleatoriamente, sino más bien en un estilo de "ventana de tiempo"), de modo que se respete la dependencia de la estructura de tiempo de las respuestas/datos y que haya No hay fugas de datos en la configuración: en el entrenamiento no se utilizan datos "del futuro" que llevarían a predicciones demasiado optimistas.
Algunos recursos de lectura:
https://machinelearningmastery.com/random-forest-for-time-series-forecasting/
https://mindfulmodeler.substack.com/p/how-to-deal-with-non-iid-data-in
Espero que esta respuesta te ayude,
Re: ¿Cuándo no debería utilizar la detección de predictores?Gracias Víctor_G. Le echaré un vistazo.