Quand ne devriez-vous pas utiliser le dépistage par prédicteurs ?Je suis curieux de savoir s'il y a des moments où vous ne devriez pas utiliser l'outil de dépistage des prédicteurs, et si oui, que devez-vous vérifier avec vos données pour comprendre si vous pourriez rencontrer des problèmes lors de l'utilisation du dépistage des prédicteurs ?
Analyse et modélisation des données de baseRe : Quand ne faut-il pas utiliser le dépistage par prédicteurs ?Je trouve que le filtrage par prédicteurs est extrêmement utile, mais comme tout outil automatisé, il ne peut pas prendre en compte certaines choses. C'est plus utile lorsque vous disposez de nombreux prédicteurs potentiels. Cependant, lorsque ces prédicteurs sont étroitement liés, je ne fais pas entièrement confiance à la procédure automatisée. Je trouve qu'il s'agit d'un problème courant, car j'ai des ensembles de données contenant un certain nombre de mesures étroitement liées (par exemple, la disponibilité des hôtels à plusieurs moments différents). Si vous utilisez uniquement le filtrage par prédicteurs, vous obtiendrez peut-être la mesure la plus étroitement liée ou éventuellement un certain nombre d'entre elles seront choisies. Ou, potentiellement, aucun ne se démarquera (je ne suis pas sûr de celui-là) ? Ce que je fais dans de tels cas, c'est analyser manuellement les prédicteurs étroitement liés, à l'aide de la plateforme multivariée. Je peux ensuite choisir l'une des mesures associées à utiliser dans le dépistage des prédicteurs.
Il existe d'autres cas plus compliqués. Le filtrage des prédicteurs n'identifiera pas si vous devez créer de nouvelles variables en fonction de celles existantes (telles que les ratios de deux mesures). Cela ne vous donnera pas une bonne idée si vous devez recoder certaines de vos variables nominales (je ne suis pas sûr non plus de celle-ci - je n'ai pas expérimenté pour voir). En général, je dirais que Predictor Screening ne remplace pas toutes les étapes normales de nettoyage des données - il est plus utile lorsqu'il est utilisé après le nettoyage des données.
Re : Quand ne faut-il pas utiliser le dépistage par prédicteurs ?Merci. Je le trouve également très précieux, donc je me demande où il pourrait échouer et comment vérifier cet échec ? Je ne sais pas grand-chose sur le modèle de forêt bootstrap sur lequel (je pense) il est basé, mais j'ai brièvement lu qu'il est moins sensible à la multicolinéarité comme le sont les modèles linéaires, mais je suis également prêt à ce qu'il puisse échouer si vous avez des relations linéaires avec la réponse et les prédicteurs, ou si vous manquez d'iid, mais je ne sais pas comment vous vérifiez ces hypothèses dans votre filtre de prédicteurs, ou si c'est effectivement le cas car je suis assez nouveau dans ce type d'analyse de données. Ce serait bien si JMP disposait d'un tutoriel sur ce qu'il faut rechercher en termes de vérification d'hypothèses, etc.
Re : Quand ne faut-il pas utiliser le dépistage par prédicteurs ?Salut @mjz5448 ,
Je pourrais ajouter une réponse complémentaire pour élucider certaines des informations données, sur la base des réponses précédentes que j'ai déjà écrites sur des sujets similaires :
Filtre prédicteur vs DOE ?
Dépistage des prédicteurs
Question de sélection du prédicteur
Predictor Screening est une méthode basée sur l'algorithme Random Forest qui vous aide à identifier les variables importantes (identifiées par le calcul de l'importance des caractéristiques) pour votre (vos) réponse(s) dans vos données historiques. En fonction de la représentativité de vos données, de la couverture de l'espace expérimental, des valeurs manquantes, de la présence de valeurs aberrantes, d'interactions, de corrélations ou de multicolinéarité entre vos facteurs, cette plateforme peut comporter des raccourcis, de nombreuses inconnues, et ne doit pas être fiable aveuglément (comme indiqué par @dlehman1 ).
- L'analyse et les connaissances que vous pouvez obtenir avec cette analyse sont uniquement limitées à l'espace expérimental historique (qui peut être trop limité et/ou non représentatif pour une bonne compréhension du système). Vous pouvez voir cela comme Espace expérimental de production (données historiques) vs R&D (DoE) : en production, seules de petites variations des facteurs sont autorisées (et certains sont fixes, vous ne pourrez donc pas déterminer leur importance) pour créer des produits robustes et de qualité, alors qu'en R&D l'objectif est différent : explorer un espace expérimental et optimiser les facteurs d'un système, en utilisant des plages plus larges pour les facteurs considérés.
- La plateforme de filtrage Predictor ne vous donne pas de modèle (contrairement à la forêt Bootstrap disponible dans JMP Pro), mais uniquement l'importance des fonctionnalités/facteurs, de sorte que vous n'avez pas accès aux arbres et branches individuels, ce qui pourrait aider à identifier les interactions entre les facteurs, et les valeurs des niveaux de seuil des facteurs utilisés pour les divisions.
- Puisque vous ne connaissez pas la qualité du modèle sous-jacent (via R², RMSE ou d'autres métriques pertinentes en fonction de vos objectifs), vous ne savez pas dans quelle mesure la variabilité s'explique par celui-ci (ni quelle est la précision du modèle) et si le modèle est précis. les calculs de l’importance des fonctionnalités sont pertinents/adéquats pour votre sujet.
- Puisque tous les facteurs sont classés, le seuil/limite entre les facteurs importants et non importants n’est pas trivial. Pour vous aider, vous pouvez ajouter un facteur aléatoire (avec des valeurs aléatoires). Un exemple de cette technique est présenté ici avec l'ensemble de données Diamonds de JMP avec le prix comme réponse, en ajoutant un facteur aléatoire et en omettant le poids en carats comme entrée possible (puisqu'il s'agit d'un prédicteur très important, je voulais donc vous montrer un exemple où c'est difficile pour trier les autres prédicteurs) :

- Cette plateforme ne vous donne pas d'indications sur d'éventuelles corrélations ou multicollinéarité entre facteurs. Vous pouvez utiliser la plateforme multivariée pour explorer les corrélations entre les entrées, les sorties et les entrées-sorties. Vous pouvez également créer des modèles de régression factices pour calculer les scores VIF entre vos facteurs, afin de détecter la multicolinéarité.
- Les facteurs catégoriels à cardinalité élevée peuvent également biaiser les calculs de l'importance des caractéristiques. Plus la cardinalité (nombre de classes) est élevée, plus le biais est élevé, car les données formeront un nombre élevé de petits groupes/classes que le modèle tentera d'apprendre. Il ne parviendra donc pas à généraliser ou à « comprendre la logique » et, par conséquent, cela augmentera le risque de surapprentissage, donnant à cette fonctionnalité une grande importance.
Un exemple ici avec le même ensemble de données, les mêmes conditions mais en ajoutant un facteur catégoriel aléatoire avec 11 niveaux (de A à K, nommé "Shuffle[Column10]). Cette caractéristique aléatoire catégorielle avec une cardinalité élevée est classée plus haut que la variable numérique aléatoire vue auparavant. :

Concernant vos questions sur la multicolinéarité :
- La multicolinéarité entre les variables est gérée dans Random Forest par la sélection aléatoire de sous-ensembles de fonctionnalités à chaque nœud : à chaque nœud, pour déterminer la division suivante, vous créez aléatoirement un sous-ensemble de vos fonctionnalités et évaluez dans ce sous-ensemble quelle fonctionnalité (et à quel niveau de seuil ) est capable de séparer au mieux les points de données en fonction de leurs valeurs de réponse. Ainsi, comme chaque fonctionnalité a des chances égales d'être sélectionnées, même les fonctionnalités corrélées peuvent être sélectionnées et avoir une importance similaire dans le modèle. Ce processus minimise l'impact de la corrélation entre les colonnes et n'est pas présent pour l'arbre de décision (ou Boosted Tree), où un seul arbre est créé avec toutes les fonctionnalités testées à chaque nœud : une seule des fonctionnalités corrélées peut être sélectionnée pour la division.
- Étant donné que Random Forest crée un grand modèle basé sur de nombreux arbres de décision formés en parallèle sur des échantillons bootstrap, chaque arbre individuel est formé sur un ensemble de données légèrement différent, ce qui contribue également à réduire les corrélations entre chaque arbre (corrélations entre les lignes) et à réduire la variance du modèle.
Plus d'infos sur les modèles arborescents :
https://community.jmp.com/t5/Mastering-JMP/Understanding-and-Applying-Tree-based-Methods-for-Predictor/tac-p/593506/highlight/true#M370
Et sur les avantages des Random Forests : https://www.linkedin.com/posts/victorguiller_doe-machinelearning-randomforests-activity-7127557799810625536-FH7K
J'espère que cette réponse complémentaire vous aidera,
Re : Quand ne faut-il pas utiliser le dépistage par prédicteurs ?Merci Victor_G. J'apprécie la compréhension de la multicolinéarité - ce n'est pas quelque chose que je prends généralement en compte, mais j'essaierai de le faire à l'avenir.
Avez-vous une idée sur la question de savoir si le filtrage des prédicteurs fonctionnera si vos données ne sont pas iid (indépendantes et distribuées de manière identique) ? J'ai lu que les modèles forestiers arborescents/aléatoires ont des limites si vos données ont une tendance de série chronologique, qui peut être surmontée, mais que vous devez dans une certaine mesure transformer les données. Je ne sais pas si cela s'applique ou non au dépistage des prédicteurs, car je viens tout juste d'en apprendre davantage sur ce sujet.
Re : Quand ne faut-il pas utiliser le dépistage par prédicteurs ?Salut @mjz5448 ,
Les forêts aléatoires peuvent être utilisées pour la prévision de séries chronologiques (et d'autres algorithmes également).
La plus grande précaution avec les données non-iid est de prendre en compte les dépendances/groupes dans les données, qu'elles proviennent de groupes d'observations/individus similaires, la dépendance temporelle, la répétition des mesures, etc...., dans votre fractionnement de données (formation /validation/test). Une répartition incorrecte des données pour les données non iid pourrait entraîner des fuites de données, de fausses attentes et des résultats trop optimistes.
Généralement, pour la prévision de séries chronologiques, une répartition spécifique des données pour la formation et la validation doit être effectuée (pas de manière aléatoire, mais plutôt dans un style de « fenêtre temporelle »), afin que la dépendance de la structure temporelle des réponses/données soit respectée et qu'il y ait pas de fuite de données dans la configuration : aucune donnée "du futur" n'est utilisée dans la formation qui conduirait à des prédictions trop optimistes.
Quelques ressources de lecture :
https://machinelearningmastery.com/random-forest-for-time-series-forecasting/
https://mindfulmodeler.substack.com/p/how-to-deal-with-non-iid-data-in
J'espère que cette réponse vous aidera,
Re : Quand ne faut-il pas utiliser le dépistage par prédicteurs ?Merci Victor_G. J'y jetterais un œil.