| Conférencier |
Transcription |
| Mia Stephens |
criblage de modèles. |
| |
Si vous travaillez avec la modélisation prédictive, vous constaterez que le filtrage des modèles vous aide à rationaliser votre flux de travail de modélisation prédictive. |
| |
Dans cet exposé, je vais donner un aperçu de la modélisation prédictive et parler des différents types de modèles prédictifs que nous pouvons utiliser dans JMP. |
| |
Nous parlerons du flux de travail de modélisation prédictive dans le cadre du flux de travail d'analyse plus large, et nous verrons comment le filtrage des modèles peut nous aider à rationaliser ce flux de travail. |
| |
Je parlerai de certaines mesures permettant de comparer des modèles concurrents à l'aide de données de validation et nous verrons quelques exemples dans JMP Pro. |
| |
Commençons d’abord par parler un peu de la modélisation prédictive et de ce qu’est la modélisation prédictive. |
| |
Vous avez probablement déjà été confronté à l'analyse de régression, et la régression est un exemple de modélisation explicative. En régression, nous cherchons généralement à construire un modèle. |
| |
Pour une réponse, ou Y, en fonction d'un ou plusieurs X, nos objectifs de modélisation pourraient être différents. Nous pourrions être intéressés par l'identification de variables importantes. Quelles sont donc les X clés, ou variables d'entrée clés ? |
| |
par exemple, dans un contexte de résolution de problèmes sur lequel nous pourrions nous concentrer pour résoudre le problème ? |
| |
Nous pourrions être intéressés à comprendre comment la réponse change, en moyenne, en fonction des variables d’entrée. |
| |
un changement d'une unité dans X est associé à un changement de cinq unités dans Y. Il s'agit donc d'une modélisation explicative classique et si vous avez étudié les statistiques à l'école, c'est probablement ainsi que vous apprenez la régression. |
| |
À l'inverse, la modélisation prédictive poursuit un objectif légèrement différent. Elle vise à prédire ou à classer avec précision les résultats futurs. |
| |
Donc, si notre réponse est continue, nous voulons être capables de prédire la prochaine observation, le prochain résultat, aussi précisément ou exactement que possible. |
| |
Et si notre réponse est catégorique, alors nous nous intéressons à la classification. Et encore une fois, nous souhaitons utiliser les données actuelles pour prédire ce qui se passera au niveau individuel dans le futur. |
| |
Nous pourrions ajuster et comparer de nombreux modèles différents, et dans la modélisation prédictive, nous pourrions également utiliser des modèles plus avancés. Nous pourrions également utiliser des techniques d'apprentissage automatique comme les réseaux de neurones. |
| |
Certains de ces modèles peuvent être plus complexes à interpréter, et nombre d'entre eux comportent de nombreux paramètres de réglage. Par conséquent, la modélisation prédictive peut engendrer un problème de surapprentissage. |
| |
Le surajustement signifie que nous ajustons un modèle qui est plus complexe qu'il ne devrait l'être. |
| |
Ainsi, avec la modélisation prédictive, nous utilisons généralement la validation et il existe plusieurs formes différentes de validation que nous pouvons utiliser. |
| |
Nous utilisons la validation pour la comparaison et la sélection des modèles et, fondamentalement, elle protège contre le surajustement mais également contre le sous-ajustement. |
| |
Le sous-ajustement se produit lorsque nous ajustons un modèle qui n'est pas aussi complexe qu'il devrait l'être. Il ne capture pas vraiment la structure de nos données. |
| |
Maintenant, dans l'annexe à la fin des diapositives, j'ai extrait quelques diapositives qui illustrent pourquoi la validation est importante, mais pour l'objectif de cet exposé, je vais simplement utiliser la validation lorsque j'ajusterai des modèles prédictifs. |
| |
Il existe de nombreux types de modèles différents que nous pouvons intégrer dans JMP Pro, et cette liste n’est en aucun cas exhaustive. |
| |
Nous pouvons ajuster différents types de modèles de régression. Si la réponse est continue, nous pouvons ajuster un modèle de régression linéaire. |
| |
Si notre réponse est catégorique, un modèle de régression logistique, mais nous pouvons également ajuster des modèles linéaires généralisés et pénaliser les méthodes de régression, et ceux-ci proviennent tous de la plate-forme de modèle d'ajustement. |
| |
Il existe de nombreuses options sous la plate-forme de modélisation prédictive, donc des réseaux neuronaux, des réseaux neuronaux avec boosting et différents nombres de couches et de nœuds, |
| |
arbres de classification et de régression, méthodes plus avancées basées sur les arbres et plusieurs autres techniques. |
| |
Il existe également quelques options de modélisation prédictive à partir de la plate-forme de méthodes multivariées, permettant ainsi une analyse discriminante. |
| |
Les moindres carrés partiels sont deux types de modèles différents… deux autres types de modèles utilisables pour la modélisation prédictive. D'ailleurs, les moindres carrés partiels sont également disponibles dans Fit Model. |
| |
Et pourquoi avons-nous autant de modèles ? |
| |
Dans la modélisation prédictive, vous constaterez souvent qu'aucun modèle n'est disponible. |
| |
Le type de modélisation est toujours le plus efficace. Dans certaines situations, un réseau neuronal peut être le plus performant, et les réseaux neuronaux sont généralement très performants. |
| |
Mais vous pourriez constater dans d'autres cas qu'un modèle plus simple est en réalité plus performant, de sorte que le type de modèle qui correspond le mieux à vos données et prédit avec le plus de précision dépend en grande partie de votre réponse, mais également de la structure de vos données. |
| |
Vous pouvez donc utiliser plusieurs types de modèles différents et les comparer avant de trouver celui qui correspond le mieux ou qui prédit le plus précisément. |
| |
Ainsi, dans le cadre d'un flux de travail analytique plus large, où vous démarrez avec un problème que vous essayez de résoudre, vous compilez des données, vous préparez les données et vous explorez les données, |
| |
La modélisation prédictive est intégrée à l'analyse et à la création de modèles. Le processus de modélisation prédictive typique pourrait ressembler à ceci : il s'agit d'adapter un modèle à la validation. |
| |
Ensuite, vous enregistrez cette formule dans une table de données ou la publiez dans le dépôt de formules. |
| |
Et puis vous adaptez un autre modèle et vous répétez cela, donc vous pouvez adapter plusieurs modèles différents |
| |
Et comparez ensuite ces modèles. Dans JMP Pro, vous pouvez utiliser la plateforme de comparaison de modèles pour comparer les performances des modèles sur les données de validation, puis choisir le meilleur modèle ou la meilleure combinaison de modèles, puis déployer le modèle. |
| |
Et ce qui est différent avec le criblage de modèles, c'est que tout l'ajustement et la comparaison des modèles, cette sélection, se fait au sein d'une seule plateforme, la plateforme de criblage de modèles. |
| |
Nous allons donc utiliser un exemple que vous connaissez peut-être, et il existe un blog sur le dépistage de modèles utilisant ces données qui est publié dans la communauté, et ce sont les données sur le diabète. |
| |
Le scénario est donc le suivant : les chercheurs souhaitent prédire le taux de progression de la maladie, un an après le début de l’étude. |
| |
Il existe donc plusieurs mesures de base et ensuite deux types de réponses différents. |
| |
La réponse Y est la mesure quantitative, une mesure continue, donc c'est le taux de progression de la maladie et puis il y a une deuxième réponse, Y binaire, qui est élevée ou faible. |
| |
Ainsi, le binaire Y peut représenter un taux de progression élevé ou un taux de progression faible. |
| |
Et l’objectif de la modélisation prédictive ici est de prédire les patients qui sont les plus susceptibles d’avoir un taux élevé de progression de la maladie, afin que les mesures correctives puissent être prises. |
| |
Pour éviter cela, nous allons examiner l'ajustement des modèles dans JMP Pro pour ces deux réponses, et nous verrons comment ajuster les mêmes modèles grâce au filtrage de modèles. |
| |
Et avant de passer à JMP, je voudrais juste parler un peu de la façon dont nous comparons les modèles prédictifs. |
| |
Nous comparons les modèles prédictifs sur l'ensemble de validation ou l'ensemble de test. En résumé, nous ajustons un modèle à un sous-ensemble de nos données, appelé données d'apprentissage. |
| |
Ensuite, nous adaptons ce modèle aux données qui ont été conservées (généralement appelées données de validation) pour voir les performances du modèle. |
| |
Et si nous avons des réponses continues, nous pouvons utiliser des mesures d'erreur, donc l'erreur quadratique moyenne (RMSE) ou RASE, qui est l'erreur quadratique moyenne de la route, c'est donc la mesure de l'erreur de prédiction. |
| |
AAE, MAD, MAE, ce sont des mesures d'erreur moyenne et il existe différentes mesures R carré que nous pourrions utiliser. |
| |
Pour obtenir des réponses catégoriques, nous nous intéressons le plus souvent aux mesures d’erreur ou de mauvaise classification. |
| |
Nous pourrions également être intéressés par l’examen d’une courbe ROC, l’ASC (aire sous la courbe) ou la sensibilité, ou la spécificité, les faux positifs, le taux de faux négatifs. |
| |
le score F1 et le MCC, qui est le coefficient de corrélation de Matthews. |
| |
Alors laissez-moi passer à JMP. |
| |
Mettez cela de côté et j'ouvrirai les données sur le diabète. |
| |
Et laissez-moi le faire grand pour que vous puissiez le voir. |
| |
Voici donc les données. Il y a des informations sur 442 patients, et là encore, nous avons une réponse Y, qui est continue et qui représente la progression de la maladie après un an. Nous allons d'abord examiner Y, mais nous avons également la deuxième variable, Y binaire. |
| |
Nous disposons d’informations de base. |
| |
Il y a aussi une validation des colonnes. Pour la validation, lorsque nous ajustons les modèles, nous les ajustons uniquement à l'aide des données d'entraînement. Ces données de validation nous indiquent quand arrêter de développer le modèle et nous donnent des mesures de son adéquation réelle. |
| |
Maintenant, pour construire cette colonne, il existe un utilitaire sous modélisation prédictive appelé colonne de validation de modèle. |
| |
Et cela nous donne de nombreuses options pour créer une colonne de validation, afin que nous puissions partitionner vos données en validation de formation et en un ensemble de test. |
| |
Et, dans la plupart des cas, si nous utilisons ce type de technique de partitionnement de nos données en sous-ensembles, |
| |
Il est recommandé de disposer d'un ensemble de tests. Un tel ensemble permet d'évaluer les performances du modèle sur des données qui n'ont pas été utilisées pour sa construction ou pour en freiner la croissance. Je le recommande donc, même si nous n'en disposons pas dans ce cas. |
| |
Supposons que je souhaite trouver un modèle capable de prédire la réponse avec la plus grande précision. Comme vous l'avez vu, il existe de nombreux modèles différents. |
| |
Je vais commencer par le modèle d'ajustement. |
| |
Et c’est généralement un bon point de départ. |
| |
Je vais donc créer un modèle de régression avec Y comme réponse, les X comme effets du modèle, et je n'ajouterai que les effets principaux pour l'instant. J'ajouterai également une colonne de validation. |
| |
Maintenant, à partir du modèle d'ajustement, la valeur par défaut ici sera les moindres carrés standard, mais il existe de nombreux types de modèles différents que nous pouvons ajuster. |
| |
Je vais simplement exécuter le modèle des moindres carrés. |
| |
Quelques points à souligner ici. Remarquez le marqueur, V. |
| |
N'oubliez pas que nous ajustons notre modèle aux données d'entraînement, mais nous souhaitons également voir les performances du modèle sur les données de validation. Tous ces marqueurs avec un V sont donc des observations dans l'ensemble de validation. |
| |
Parce que nous avons une validation, il y a une section de validation croisée ici, nous pouvons donc examiner le R carré sur l'ensemble d'entraînement et également sur l'ensemble de validation, puis RASE. |
| |
Et souvent, ce que vous verrez, c'est que les statistiques de validation seront légèrement pires que les statistiques d'entraînement, et plus elles sont éloignées, meilleure est l'indication que votre modèle est sur-ajusté ou sous-ajusté. |
| |
Je voudrais souligner ici une autre chose qui dépasse vraiment le cadre de cet exposé, à savoir ce profileur de prédiction. |
| |
Et le profileur de prédiction |
| |
C'est l'une des raisons pour lesquelles j'ai commencé à utiliser JMP. C'est un outil très puissant pour comprendre votre modèle. |
| |
Et donc je peux changer les valeurs de n'importe quel X et voir ce qui arrive à la réponse prédite, et c'est la moyenne, donc avec |
| |
Ces modèles nous permettent de prédire la moyenne. Mais remarquez comment ces bandes se dispersent pour le cholestérol total, le LDL et le HDL. Cela est dû au manque de données pour ces régions. |
| |
Je tiens à souligner rapidement la nouvelle fonctionnalité, qui dépasse le cadre de cet exposé : le contrôle d'extrapolation. Si j'active un avertissement et que je fais glisser |
| |
Cholestérol total : remarquez qu'il y a une possible extrapolation. Cela signifie que j'essaie de prédire une région où je n'ai pas vraiment de données, et si je tourne |
| |
Ce contrôle d'extrapolation est activé. Notez qu'il tronque cette barre, cette ligne, ce qui signifie qu'il est impossible de faire des prédictions dans cette région. C'est donc un élément à vérifier si vous ajustez des modèles. C'est un outil très puissant. |
| |
Supposons que j'ai effectué tout le travail de diagnostic. J'ai réduit ce modèle et je souhaite pouvoir enregistrer mes résultats. |
| |
Eh bien, il y a plusieurs façons de procéder. Je peux aller dans la colonne rouge, enregistrer les colonnes, puis enregistrer la formule de prédiction. |
| |
Cela enregistre le modèle linéaire que je viens de créer dans la table de données. Vous pouvez le voir ici en arrière-plan. Ensuite, si j'ajoute de nouvelles valeurs à cette table de données, la réponse sera automatiquement prédite. |
| |
Mais je pourrais vouloir sauvegarder le modèle sous une autre forme, donc pour ce faire, je pourrais publier |
| |
Cette formule est transférée vers le dépôt de formules. Ce dépôt est indépendant de ma table de données, mais cela me permet de copier le script et de le coller dans une autre table de données contenant de nouvelles données pour les évaluer. |
| |
Ou je souhaiterais peut-être générer du code dans un langage différent pour me permettre de le déployer dans une sorte de système de production. |
| |
Je vais fermer ce modèle. Ce n'est qu'un exemple. Serait-il possible d'obtenir de meilleures performances en installant un modèle plus complexe ou sophistiqué ? |
| |
Je pourrais donc adapter un autre modèle. Par exemple, je pourrais… simplement utiliser le rappel. Je pourrais modifier la personnalité des moindres carrés standard pour généraliser la régression. |
| |
Cela me permet de spécifier différentes distributions de réponses. Je vais donc m'en tenir à la distribution normale et cliquer sur « Exécuter ». |
| |
Cela me permettra d'adapter différentes méthodes pénalisées et d'utiliser différentes techniques de sélection de variables. Et si vous n'avez pas encore testé la régression généralisée, |
| |
C'est une plateforme de modélisation moderne, ultra-puissante et ultra-flexible. Je clique simplement sur « Démarrer ». Et disons que j'adapte ce modèle. |
| |
Je souhaite comparer ce modèle à celui que j'ai déjà enregistré. Je pourrais donc enregistrer la formule de prédiction dans la table de données. J'ai donc maintenant une autre colonne en arrière-plan dans la table de données. |
| |
Ou je pourrais vouloir à nouveau publier ceci |
| |
à |
| |
Le détail de la formule, donc j'ai maintenant deux modèles différents. Et je peux continuer. Donc, ce n'est qu'un modèle de régression généralisée. Je peux aussi ajuster plusieurs types de |
| |
modèles prédictifs du menu de modélisation prédictive, par exemple, réseaux neuronaux ou partition ou forêt bootstrap ou arbres boostés. |
| |
Maintenant, en général, ce que je devrais faire, c'est ajuster tous ces modèles, enregistrer les résultats soit dans la table de données, soit dans le dépôt de formules, et si je les enregistre dans |
| |
Le tableau de données me permet d'utiliser cette plateforme de comparaison de modèles pour comparer les différents modèles concurrents. Même si j'ai plusieurs modèles, je n'en ai ici que deux. |
| |
Et je n'ai même pas besoin de préciser les modèles ; je dois seulement spécifier la validation. J'aime d'ailleurs placer la validation ici, dans le champ « Par ». |
| |
Cela me donne donc mes statistiques d'ajustement pour l'ensemble d'entraînement et l'ensemble de validation, et je ne vais examiner que les statistiques de l'étape de validation. Cela m'aidera donc à choisir le modèle le plus performant. |
| |
Ce qui m'intéresse, c'est une valeur élevée de R², une valeur basse de RASE (erreur quadratique moyenne) et une erreur absolue moyenne plus faible. Entre ces deux modèles, il semble que ce modèle de régression des moindres carrés soit le meilleur. |
| |
Si je devais ajuster tous les modèles possibles, cela pourrait prendre beaucoup de temps. C'est pourquoi JMP Pro 16 propose désormais une plateforme appelée « screening de modèles ». |
| |
Et lorsque je lance le filtrage des modèles, il y a une boîte de dialogue en haut, comme nous l'avons vu, donc je vais continuer et remplir cela. |
| |
Et je vais ajouter une validation mais sur le côté, ce que vous voyez, c'est que je peux sélectionner plusieurs modèles différents et adapter ces différents modèles en même temps. |
| |
Donc arbre de décision, forêt bootstrap, arbre boosté, K voisins les plus proches, n'est-ce pas, je peux adapter tous ces modèles. |
| |
Et il n'exécutera pas de modèles qui n'ont pas de sens, donc j'ai une régression logistique à réponse continue comme l'une de mes options, il n'exécutera pas de modèle de régression logistique |
| |
avec une réponse continue. Notez que j'ai aussi cette option ici : XGBoost. |
| |
Et la raison pour laquelle cela apparaît est qu'il existe un module complémentaire et qu'il utilise en fait des bibliothèques open source, et si vous installez ce module complémentaire (il est disponible sur notre communauté d'utilisateurs JMP, |
| |
il s'appelle XGBoost et il ne fonctionne que dans JMP Pro), mais si vous installez ce module complémentaire, il apparaîtra automatiquement dans la boîte de dialogue de sélection du modèle. |
| |
Je vais donc simplement cliquer sur OK, et lorsque je clique sur OK, chacune de ces plateformes va être lancée. |
| |
Ensuite, tous les résultats seront rassemblés dans une seule fenêtre. J'ai cliqué sur OK. Je n'ai pas beaucoup de données, donc c'est très rapide. |
| |
Sous les détails, vous trouverez tous les modèles individuels ajustés. Si j'ouvre l'une de ces boîtes de dialogue, je peux voir les résultats et accéder à des options supplémentaires disponibles dans ce menu. |
| |
Je vais donc masquer les détails. Par défaut, les statistiques des données d'entraînement sont affichées, mais les résultats des données de validation sont affichés. Je peux donc voir le R² et le RASE. |
| |
Et par défaut, le tri est effectué par ordre de RASE, le plus bas étant le meilleur. |
| |
Mais j'ai quelques petites options de raccourci ici, donc si je voulais trouver les meilleurs modèles et il se pourrait que R carré soit le meilleur pour certains modèles, mais RASE soit meilleur pour d'autres, je vais cliquer sur Sélectionner dominant. |
| |
Dans ce cas, la stimulation neuronale a été sélectionnée. Ainsi, parmi tous ces modèles, le meilleur est la stimulation neuronale. Pour approfondir ce modèle, je peux consulter les détails, ici, sous « neurale ». |
| |
ou, je peux simplement dire, exécuter sélectionné. |
| |
Maintenant, je n'en ai pas parlé, mais dans la fenêtre de dialogue, il y a une option pour définir une graine aléatoire. |
| |
Et si je définis cette graine aléatoire, les résultats qui s'afficheront ici seront identiques à ce que je vois ici. Donc, c'est… c'est un |
| |
Modèle neuronal à trois nœuds utilisant la fonction TanH, mais aussi le boosting. Lors de la conception de cette plateforme, les développeurs ont réalisé de nombreuses simulations afin de déterminer le point de départ optimal et les paramètres par défaut les plus adaptés aux différents modèles. |
| |
Donc, le renforcement neuronal est le meilleur. |
| |
Et |
| |
si je veux pouvoir déployer ce modèle, maintenant ce que je peux faire c'est enregistrer le script |
| |
ou je peux l'exécuter, ou je peux l'enregistrer dans la formule plus en profondeur. |
| |
Il s'agit donc d'une réponse continue, et d'autres options sont disponibles sous le triangle rouge. Que se passe-t-il si j'ai une réponse catégorielle ? Pour une réponse catégorielle, je peux utiliser la même plateforme. Je vais donc, encore une fois, passer au criblage du modèle. |
| |
Je vais cliquer sur Rappeler, mais au lieu d'utiliser Y, j'utiliserai Y Binaire. |
| |
Je ne modifierai aucune des méthodes par défaut. Je vais insérer une valeur aléatoire, par exemple 12345, et récupérer un nombre aléatoire. |
| |
Cela me permettra d'obtenir une répétabilité. Ainsi, si j'enregistre un modèle dans la table de données ou dans le dépôt de formules, |
| |
Les statistiques et l'ajustement du modèle resteront identiques. Il existe d'autres options. Il est possible de désactiver certaines fonctionnalités, comme les rapports. |
| |
Nous souhaiterions peut-être utiliser une méthode de validation croisée différente, c'est pourquoi cette plateforme inclut la validation K-fold, mais elle utilise également la validation croisée K-fold imbriquée. |
| |
Et on peut répéter ça. C'est vraiment bien. Parfois, partitionner nos données en apprentissage, validation et test n'est pas la meilleure solution, et le K-fold |
| |
Cela pourrait être légèrement amélioré. Des options supplémentaires sont disponibles en bas de page. Nous pourrions par exemple ajouter des interactions bidirectionnelles ou des effets quadratiques. |
| |
Sous « Méthodes supplémentaires », cela correspondra à des méthodes de régression généralisée supplémentaires. Je clique donc simplement sur « OK ». |
| |
OK. Il exécute tous les modèles et, encore une fois, il s'agit d'un petit ensemble de données. C'est très rapide. |
| |
Bien, l'apparence est la même, mais les statistiques sont différentes. J'ai donc le taux d'erreur de classification, l'aire sous la courbe, des mesures de R au carré et l'erreur quadratique moyenne. |
| |
Je vais cliquer sur Sélectionner dominant, et encore une fois, la méthode dominante est stimulée neuronalement. |
| |
Et si je voulais explorer certains de ces différents modèles ? Le taux d'erreur de classification est donc bien inférieur à celui de la classification par étapes. |
| |
L'ASC est assez similaire : globalement, elle est la plus basse, mais peut-être pas tellement meilleure. Je vais en sélectionner quelques-unes. Si je clique sur quelques-unes, je vais peut-être… peut-être que je vais sélectionner ces quatre, ces cinq. |
| |
Je peux consulter les courbes ROC, si je souhaite consulter les courbes ROC pour comparer les modèles. |
| |
Et il y a quelques commandes intéressantes ici pour me permettre de désactiver les modèles et de me concentrer sur certains modèles. |
| |
Et une nouvelle fonctionnalité qui m’enthousiasme vraiment est ce qu’on appelle le seuil de décision. |
| |
Et ce que le seuil de décision nous permet de regarder, |
| |
et cela commence par examiner les données de formation, cela nous donne un aperçu de nos données. |
| |
Le taux d'erreur de classification est basé sur un seuil de 0,5. Ainsi, pour chaque modèle, il indique les points réellement élevés et faibles. Si l'on se concentre sur les points élevés, les points verts ont été correctement classés comme élevés. |
| |
Et ceux dans la zone rouge ont été mal classés, donc il nous montre les classifications correctes et les classifications incorrectes, puis il rapporte toutes les statistiques ici sur le côté |
| |
Et puis, ci-dessous, nous voyons plusieurs mesures différentes ainsi que de nombreux graphiques qui nous permettent d'examiner les fausses classifications et également les vraies classifications. |
| |
Je vais fermer ceci et regarder le |
| |
données de validation. |
| |
Alors, pourquoi est-ce utile ? Vous pourriez avoir un cas particulier où vous souhaitez maximiser la sensibilité. |
| |
tout en conservant une certaine spécificité. Et la sensibilité… et voici quelques définitions. La sensibilité est le taux de vrais positifs ; |
| |
La spécificité est le taux de vrais négatifs. Dans ce cas, nous souhaitons observer la progression de la maladie et nous assurer de maintenir un taux de sensibilité élevé. |
| |
Tout en veillant à ce que notre spécificité soit élevée. Ce qu'on peut faire avec ça, c'est qu'il y a un curseur ici, et on peut le saisir, |
| |
et nous pouvons voir comment les classifications changent lorsque nous modifions la limite de classification. |
| |
Je pense donc qu'il s'agit d'un outil très puissant lorsque vous examinez des modèles concurrents, car vous pourriez avoir des modèles qui ont un taux global avec une coupure de 0,5, ils pourraient avoir le meilleur taux de mauvaise classification. |
| |
Mais il peut également arriver que, si l'on modifie le seuil de classification, les performances des différents modèles diffèrent. Par exemple, si je me trouve dans une région donnée, je pourrais constater que le modèle par étapes est en réalité plus performant. |
| |
Pour illustrer davantage ce point, je voudrais donner un autre exemple. |
| |
Et cet exemple s’appelle le marketing par carte de crédit. |
| |
Et si je reviens à mes diapositives juste pour présenter ce scénario. |
| |
Il s’agit d’un scénario dans lequel |
| |
nous disposons de nombreuses données basées sur des études de marché sur l'acceptation des offres de cartes de crédit. |
| |
La réponse est : l’offre a-t-elle été acceptée ? Or, dans ce cas précis, seulement 5,5 % des offres étudiées ont été effectivement acceptées. |
| |
Il y a maintenant des facteurs qui nous intéressent, il existe donc différents types de récompenses qui sont offertes, |
| |
Il existe différents types de courriers. Il s'agit donc d'une expérience planifiée. Nous allons en quelque sorte ignorer cet aspect de cette étude. |
| |
Et il y a aussi des informations financières, donc nous allons nous en tenir à un seul objectif dans cet exemple, et c'est l'objectif d'identifier les clients les plus susceptibles d'accepter l'offre. |
| |
Et si nous pouvons identifier les clients les plus susceptibles de l'accepter, dans ce scénario, nous pourrions envoyer des offres uniquement au sous-ensemble le plus susceptible de l'accepter et ignorer les autres. Voilà donc le scénario. |
| |
Et je vais ouvrir ces données. |
| |
J'ai reçu 10 000 observations et ma réponse est que l'offre est acceptée. |
| |
Et j'ai déjà enregistré le script dans la table de données, j'ai donc les miles aériens, le type d'expéditeur, le niveau de revenu, la cote de crédit et quelques autres informations financières. |
| |
J'ai exécuté un script de sauvegarde. Il exécute tous les modèles. Dans ce cas, le modèle neuronal prendra le plus de temps, car il exécute un modèle neuronal boosté. |
| |
Cela prendra encore quelques secondes. Les machines à vecteurs de support sont en cours d'exécution. Elles expireront et ne fonctionneront pas si j'ai plus de 10 000 observations. |
| |
Je vais patienter encore une seconde. J'utilise la validation standard, avec une colonne de validation. Dans ce cas, j'ai une colonne de zéros et de uns, et JMP reconnaît les zéros pour les données d'entraînement et les uns pour les données de validation. |
| |
OK. Voilà. OK, ça a fonctionné, et si vous travaillez sur une table de données volumineuse, il y a un… il y a un rapport que vous pouvez générer. |
| |
Pour examiner les temps écoulés. Dans ce scénario, la machine à vecteurs de support a pris le plus de temps, ce qui explique pourquoi elle ne fonctionne parfois pas si nous avons plus de 10 000 observations. |
| |
Examinons-les. Notre meilleur modèle, si je sélectionne dominant, est un modèle à amplification neuronale et un arbre de décision. Je tiens toutefois à souligner un point : le taux d'erreur de classification. |
| |
Le taux d'erreur de classification est identique pour tous les modèles, à l'exception des machines à vecteurs de support. Pourquoi ? Eh bien, si j'exécute une distribution d'offres acceptées. |
| |
(Laissez-moi agrandir un peu pour qu'on puisse le voir) et concentrons-nous sur les données de validation. Notez que 0,063 % de nos observations étaient positives. C'est exactement ce que notre modèle avait prédit. |
| |
Et pourquoi fait-il cela ? |
| |
Je vais à nouveau demander le seuil de décision. |
| |
Et en nous concentrant sur ce graphique ici, et ce graphique a beaucoup d'utilisations, et dans ce cas, ce qu'il nous montre, c'est que notre seuil de classification est de 0,5 |
| |
mais aucune de nos probabilités ajustées n'était même proche de cela. Donc, en conséquence, le modèle a classé les « non » correctement comme « non » |
| |
ou classait les oui comme des non. Il n'a jamais rien classé comme oui, car aucune des probabilités n'était supérieure à 0,5. Donc, si j'étire ce type, |
| |
D'accord, je vois la différence entre ces deux modèles. La probabilité maximale était d'environ 0,25 pour le modèle neuronal boosté, et d'environ 0,15 pour l'arbre de décision. |
| |
Notez que pour un arbre de décision, il effectue une série de divisions binaires et obtient plusieurs valeurs prédictives, tandis qu'un arbre de décision à amplification neuronale affiche un motif aléatoire intéressant au niveau des points. Je vais donc modifier cette valeur pour une valeur d'environ 0,12. |
| |
D'accord, et il s'arrête à 0,12, en fait, si je fais glisser cela, remarquez que plus je descends, plus je commence à obtenir (je vais activer les métriques ici), je commence à obtenir de vrais positifs. |
| |
Et je commence à avoir des faux positifs. Quand je fais glisser ceci, vous pouvez le voir dans la barre, mais la barre est plutôt petite. Grâce à l'amplification neuronale, je commence à voir des vrais positifs et des faux positifs. |
| |
Et maintenant, on commence à les voir. Dès que j'ai dépassé ce premier ensemble de points, je commence à voir l'arbre de décision. |
| |
Donc, utiliser une limite de 0,5 n'a pas de sens pour ces données, et encore une fois, je pourrais... je pourrais essayer de trouver une limite qui me donne le plus de sensibilité, tout en maintenant un niveau décent de spécificité. |
| |
Dans ce cas, je vais souligner ces deux autres statistiques. |
| |
F1 est le score F1, et c'est vraiment une mesure de la façon dont nous sommes capables de capturer les vrais positifs. |
| |
Le MCC est le coefficient de corrélation de Matthews, et c'est une bonne mesure de sa classification parmi les quatre possibilités. J'ai donc… |
| |
Je peux avoir un faux positif, un faux négatif, un vrai positif, un vrai négatif. |
| |
Et je n'ai pas vraiment précisé que cela correspondait aux cases ici, mais j'ai quatre options différentes. Le MCC est un coefficient de corrélation compris entre moins un et plus un, qui mesure ma prédiction dans chacune de ces quatre cases. |
| |
Je souhaiterais donc explorer la coupure qui donne la valeur maximale F1 ou MCC. Imaginons que je tire vers le bas. Remarquez que |
| |
la sensibilité augmente rapidement et la spécificité commence à baisser, donc peut-être autour de 0,5, n'est-ce pas, j'atteins un point où je commence à baisser trop loin en termes de spécificité. |
| |
Je pourrais trouver une limite, et en bas, une option permettant de définir une matrice de profit. Si je la définis comme matrice de profit, cela me permettra d'évaluer de nouvelles données en utilisant cette limite. |
| |
Donc, si je définis cela ici et que je clique sur OK, toutes les prédictions futures que je fais, si je les enregistre dans la table de données ou dans le dépôt de formules, utiliseront cette limite. |
| |
Et c’est un scénario dans lequel je pourrais effectivement disposer d’informations financières que je pourrais intégrer dans la matrice des bénéfices. |
| |
Ainsi, par exemple, au lieu d'utiliser le curseur pour choisir le seuil, j'aurais peut-être une idée de la valeur monétaire associée à mes classifications. Et si la réponse est négative, |
| |
Mais je leur envoie une offre, donc oui, je pense qu'ils vont accepter et je leur envoie une offre. Ça me coûte peut-être 5 $, donc j'ai une valeur négative. |
| |
Et peut-être que j'ai une idée du profit potentiel, donc peut-être que le profit potentiel sur cette période est de 100 $, et peut-être que j'ai perdu une opportunité. Peut-être que je dis, vous savez, c'est -100 si |
| |
La personne aurait effectivement répondu, mais je ne lui ai pas envoyé l'offre. Il s'agit peut-être d'une occasion manquée, et parfois, on laisse ce champ vide. Si j'utilise plutôt ceci : |
| |
J'ai des informations supplémentaires qui s'affichent, ce qui permet de reconnaître une matrice de profit. Maintenant, en examinant les indicateurs, je peux choisir le meilleur modèle en fonction de ce profit. |
| |
J'intègre donc ces informations supplémentaires dans la prise de décision. Parfois, nous disposons d'une matrice de profit directement exploitable, parfois non. C'est l'un des cas où je constate que le modèle neuronal boosté me permettra d'obtenir les meilleurs profits globaux. |
| |
Voici donc un aperçu de la sélection des modèles et laissez-moi revenir à mes diapositives. |
| |
Et qu'avons-nous vu ici ? Eh bien, nous avons parlé de modélisation prédictive. |
| |
et comment la modélisation prédictive a un objectif différent de la modélisation explicative. Notre objectif est donc de prédire ou de classer avec précision les résultats futurs, et donc de noter les observations futures. |
| |
Et nous allons généralement ajuster et comparer de nombreux modèles en utilisant la validation et choisir le modèle ou la combinaison de modèles qui fait le meilleur travail, qui prédit le plus précisément. |
| |
Le filtrage des modèles rationalise réellement ce flux de travail afin que vous puissiez adapter de nombreux modèles différents, en même temps, avec une seule plate-forme. |
| |
J'ai opté uniquement pour la configuration par défaut, ce qui me permet d'intégrer des modèles beaucoup plus sophistiqués. Cela facilite grandement la sélection des modèles dominants et l'exploration de leurs détails. Nous pouvons intégrer de nouveaux modèles. |
| |
À partir des détails. Ce seuil de décision, si vous traitez des données catégorielles, vous permet d'explorer les seuils de classification et d'intégrer une matrice de profit. |
| |
Pour tout modèle sélectionné, nous pouvons le déployer dans le dépôt de formules ou l'enregistrer dans la table de données. Il s'agit donc d'un nouvel outil très puissant. |
| |
Pour plus d'informations, je connaissais les mesures de classification avant de voir le score F1 et le coefficient de corrélation de Matthews. Ces statistiques étaient relativement nouvelles pour moi. |
| |
Pour donner un sens à la sensibilité et à la spécificité, cet article de Wikipédia contient de très, très bons exemples et une très bonne discussion. |
| |
Il existe également de très bonnes ressources pour la modélisation prédictive et le criblage de modèles. La communauté des utilisateurs JMP propose un nouveau parcours, « Apprendre JMP », qui donne accès à des vidéos. |
| |
Vidéos sur la maîtrise de la série JMP. L'année dernière, au JMP Discovery de Tucson, Ruth Hummel et Mary Loveless ont donné une conférence très intéressante sur le thème « Quel modèle ? ». |
| |
Et cela fait un bon travail en parlant des différents objectifs de modélisation et du moment où vous pourriez vouloir utiliser chacun des modèles. |
| |
Si vous êtes novice en matière de modélisation prédictive, notre cours en ligne gratuit, STIPS, qui signifie Statistical Thinking for Industrial Problem Solving, Module 7, est une introduction à la modélisation prédictive. |
| |
Je recommande donc ceci. Il existe un blog sur le criblage de modèles qui utilise les données sur le diabète, que je vais mentionner, et je tiens également à souligner qu'il existe une deuxième édition de ce livre, « Building Better Models with JMP Pro ». |
| |
Ça sortira dans les prochains mois. Ils n'ont pas encore de nouvelle couverture, mais ils vont… ils incluent des projections de modèles dans ce livre. |
| |
Voilà, c'est tout. N'hésitez pas à commenter cet article ou à poser des questions. J'espère que vous apprécierez la suite de la conférence. Merci. |