Conférencier
|
Transcription
|
| Mia Stephens |
dépistage modèle. |
| |
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 cette conférence, je vais donc donner un aperçu de la modélisation prédictive, 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 flux de travail d'analyse plus large, et nous verrons comment le filtrage de modèles peut nous aider à rationaliser ce flux de travail. |
| |
Je parlerai de certaines métriques pour comparer des modèles concurrents à l'aide de données de validation et nous verrons quelques exemples dans JMP Pro. |
| |
Parlons d'abord un peu de la modélisation prédictive et de ce qu'est la modélisation prédictive. |
| |
Vous avez probablement été exposé à l'analyse de régression, et la régression est un exemple de modélisation explicative. Et dans la régression, nous sommes généralement intéressés par la construction d'un modèle |
| |
pour une réponse, ou Y, en fonction d'un ou plusieurs X, et nous pourrions avoir des objectifs de modélisation différents. Nous pourrions être intéressés à identifier les variables importantes. Alors, quels sont les X clés, ou les 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é de X est associé à un changement de cinq unités de 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. |
| |
Maintenant, pour contraster, la modélisation prédictive a un objectif légèrement différent. Dans la modélisation prédictive, notre objectif est de prédire ou de classer avec précision les résultats futurs. |
| |
Donc, si notre réponse est continue, nous voulons être en mesure de prédire la prochaine observation, le prochain résultat, aussi précisément ou précisément 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 va se passer au niveau individuel à l'avenir. |
| |
Et 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 utiliser certaines techniques d'apprentissage automatique comme les réseaux de neurones. |
| |
Et certains de ces modèles peuvent ne pas être aussi faciles à interpréter et beaucoup d'entre eux ont de nombreux paramètres de réglage différents que nous pouvons définir. Et par conséquent, avec la modélisation prédictive, nous pouvons avoir un problème de surajustement. |
| |
Ce que signifie le surajustement, c'est 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 de modèles, et fondamentalement, elle protège contre le surajustement mais aussi contre le sous-ajustement. |
| |
Et le sous-ajustement, c'est quand nous adaptons 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'objet de cette présentation, je vais simplement utiliser la validation lorsque j'ajuste des modèles prédictifs. |
| |
Il existe de nombreux types de modèles différents que nous pouvons intégrer dans JMP Pro, et il ne s'agit en aucun cas d'une liste exhaustive. |
| |
Nous pouvons ajuster plusieurs types différents de modèles de régression. Si nous avons une réponse 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 tout cela provient 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 de neurones, des réseaux de neurones avec boost et différents nombres de couches et de nœuds, |
| |
des arbres de classification et de régression, et des méthodes basées sur des arbres plus avancées, et plusieurs autres techniques. |
| |
Et il existe également quelques options de modélisation prédictive de la plate-forme de méthodes multivariées, donc analyse discriminatoire |
| |
et les moindres carrés partiels sont deux types différents de modèles que nous pouvons utiliser pour la modélisation prédictive. Et en passant, les moindres carrés partiels sont également disponibles à partir du modèle d'ajustement. |
| |
Et pourquoi avons-nous autant de modèles ? |
| |
Dans la modélisation prédictive, vous constaterez souvent que personne ne modélise |
| |
ou le type de modélisation fonctionne toujours le mieux. Dans certaines situations, un réseau de neurones peut être le meilleur et les réseaux de neurones sont généralement assez... assez performants. |
| |
Mais dans d'autres cas, vous constaterez peut-être qu'un modèle plus simple fonctionne en fait mieux, de sorte que le type de modèle qui correspond le mieux à vos données et prédit le plus précisément repose en grande partie sur votre réponse, mais également sur la structure de vos données. |
| |
Vous pouvez donc ajuster plusieurs types de modèles différents et comparer ces modèles avant de trouver le modèle qui correspond le mieux ou qui prédit le plus précisément. |
| |
Ainsi, dans le flux de travail analytique plus large, où vous commencez avec une sorte de problème que vous essayez de résoudre, et vous compilez des données, vous préparez les données et explorez les données, |
| |
la modélisation prédictive est en baisse dans l'analyse et la construction de modèles. Et le flux de travail de modélisation prédictive typique peut ressembler à ceci, où vous adaptez un modèle avec 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, vous pouvez donc adapter plusieurs modèles différents |
| |
puis comparer ces modèles. Et dans JMP Pro, vous pouvez utiliser la plate-forme de comparaison de modèles pour ce faire, et vous comparez les performances des modèles sur les données de validation, puis vous choisissez le meilleur modèle ou les meilleurs modèles de combinaison, puis vous déployez le modèle. |
| |
Et ce qui est différent avec la sélection de modèles, c'est que tout l'ajustement et la comparaison des modèles, cette sélection est effectuée sur une seule plate-forme, la plate-forme de sélection de modèles. |
| |
Nous allons donc utiliser un exemple que vous connaissez peut-être, et il y a un blog sur le dépistage modèle 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 que les chercheurs veulent prédire le taux de progression de la maladie, un an après le départ. |
| |
Il y a donc plusieurs mesures de base, puis il y a deux types de réponses différents. |
| |
La réponse Y est la mesure quantitative, une mesure continue, c'est donc le taux de progression de la maladie, puis il y a une deuxième réponse, Y binaire, qui est élevée ou faible. |
| |
Ainsi, Y Binary 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 empêcher cela. Nous allons donc... nous allons examiner comment ajuster des modèles dans JMP Pro pour ces deux réponses, et nous verrons comment ajuster les mêmes modèles à l'aide du filtrage de modèles. |
| |
Et avant de passer à JMP, je veux juste parler un peu de la façon dont nous comparons les modèles prédictifs. |
| |
Nous comparons des modèles prédictifs sur l'ensemble de validation ou l'ensemble de test. Donc, fondamentalement, ce que nous faisons, c'est que nous ajustons un modèle à un sous-ensemble de nos données appelées nos données d'entraînement. |
| |
Et puis nous adaptons ce modèle aux données qui ont été conservées (généralement nous appelons ces données de validation) pour voir à quel point le modèle fonctionne. |
| |
Et si nous avons des réponses continues, nous pouvons utiliser des mesures d'erreur, donc la racine signifie l'erreur quadratique (RMSE) ou RASE, qui est l'erreur quadratique moyenne de l'itinéraire, c'est donc la mesure de l'erreur de prédiction. |
| |
AAE, MAD, MAE, ce sont des mesures d'erreur moyenne et il y a différentes mesures R au carré que nous pourrions utiliser. |
| |
Pour obtenir des réponses catégorielles, 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 F1-Score et le MCC, qui est le coefficient de corrélation de Matthews. |
| |
Alors permettez-moi de passer à JMP. |
| |
Rangez ça et j'ouvrirai les données sur le diabète. |
| |
Et laissez-moi faire ça en grand pour que vous puissiez le voir. |
| |
Ce sont donc les données. Il y a... il y a des informations sur 442 patients, et encore une fois, nous avons une réponse Y, qui est continue et c'est le degré de progression de la maladie après un an. Et nous commencerons par regarder Y, mais ensuite nous aurons également la deuxième variable, Y Binary. |
| |
Nous avons des informations de base. |
| |
Et il y a une validation de colonne. Donc, encore une fois, la validation, lorsque nous ajustons des modèles, nous allons ajuster les modèles uniquement en utilisant les données de formation et nous allons utiliser les données de validation pour nous dire quand arrêter de développer le modèle et pour nous donner des mesures de la qualité du le modèle correspond réellement. |
| |
Maintenant, pour construire cette colonne, il existe un utilitaire sous modélisation prédictive appelé colonne de validation du modèle. |
| |
Et cela nous donne beaucoup d'options pour créer une colonne de validation, afin que nous puissions partitionner vos données en validation de formation et en 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, |
| |
avoir un ensemble de test est recommandé. Avoir un jeu de test vous permet d'avoir une évaluation des performances du modèle sur des données qui n'ont pas été utilisées pour construire les modèles ou pour arrêter la croissance du modèle, donc je le recommande, même si nous n'avons pas de jeu de test dans ce cas. |
| |
Alors disons que je veux... Je veux trouver un modèle qui prédit le plus précisément la réponse. Donc, 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 construire un modèle de régression avec Y comme réponse, les X comme effets de modèle, et je ne mettrai que les effets principaux à ce stade. Et je vais ajouter 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 adapter. |
| |
Je vais simplement exécuter le modèle des moindres carrés. |
| |
Quelques choses à souligner ici. Remarquez le marqueur ici, V. |
| |
N'oubliez pas que nous ajustons notre modèle aux données d'apprentissage, mais nous voulons également voir dans quelle mesure le modèle fonctionne sur les données de validation, de sorte que tous ces marqueurs avec un V sont des observations dans l'ensemble de validation. |
| |
Parce que nous avons la validation, il y a une section de validation croisée ici, nous pouvons donc regarder R carré sur l'ensemble d'apprentissage et également sur l'ensemble de validation, puis RASE. |
| |
Et souvent, ce que vous verrez, c'est que les statistiques de validation seront un peu moins bonnes que les statistiques d'entraînement, et plus elles sont éloignées, meilleure est l'indication que votre modèle est surajusté ou sous-ajusté. |
| |
Je tiens à souligner une autre chose ici qui dépasse vraiment le cadre de cet exposé, et c'est ce profileur de prédiction. |
| |
Et le profileur de prédiction |
| |
est en fait l'une des raisons pour lesquelles j'ai commencé à utiliser JMP. C'est un moyen très puissant de 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 prévoyons la moyenne. Mais remarquez comment ces bandes se répartissent pour le cholestérol total et les LDL, HDL, d'accord. Et c'est parce que nous n'avons aucune donnée dans ces régions. |
| |
Donc, la nouvelle fonctionnalité, je tiens à le souligner très rapidement et encore une fois, cela dépasse le cadre de cet exposé, est cette chose appelée contrôle d'extrapolation. Et si j'active un avertissement et fais glisser |
| |
cholestérol total, remarquez qu'il me dit qu'il y a une extrapolation possible. Cela me dit que j'essaie de prédire dans une région où je n'ai vraiment aucune donnée, et si je tourne |
| |
ce contrôle d'extrapolation activé, notez qu'il tronque cette barre, cette ligne, donc cela signifie essentiellement que vous ne pouvez pas faire de prédictions dans cette région. C'est donc quelque chose que vous voudrez peut-être vérifier si vous adaptez des modèles. C'est un outil vraiment puissant. |
| |
Alors disons que j'ai fait tout le travail de diagnostic. J'ai réduit ce modèle et je veux pouvoir sauvegarder mes résultats. |
| |
Eh bien, il y a plusieurs façons de le faire. Je peux aller dans la colonne rouge, enregistrer des colonnes, enregistrer la formule de prédiction. |
| |
Cela enregistre donc le modèle linéaire que je viens de créer dans la table de données. Vous pouvez donc le voir ici en arrière-plan. Et puis, si j'ajoute de nouvelles valeurs à cette table de données, elle prédira automatiquement la réponse. |
| |
Mais je pourrais vouloir enregistrer le modèle sous une autre forme, donc pour ce faire, je pourrais publier |
| |
cette formule au dépôt de formules. Et le dépôt de formules est en fait indépendant de ma table de données, mais ce que cela me permet de faire, c'est que je peux copier le script et le coller dans une autre table de données avec de nouvelles données pour marquer de nouvelles données. |
| |
Ou je pourrais vouloir 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 continuer et fermer ça. Ce n'est qu'un modèle. Maintenant, est-il possible, si j'adapte un modèle plus compliqué ou sophistiqué, qu'il obtienne de meilleures performances ? |
| |
Je pourrais donc adapter un autre modèle. Donc, par exemple, je pourrais... Je vais juste appuyer sur Rappel. Je pourrais changer la personnalité des moindres carrés standard pour généraliser la régression. |
| |
Et cela me permet de spécifier différentes distributions de réponses. Et je vais juste m'en tenir à la normale et cliquer sur Exécuter. |
| |
Cela me permettra donc d'adapter différentes méthodes pénalisées et d'utiliser également différentes techniques de sélection de variables. Et si vous n'avez pas vérifié la régression généralisée, |
| |
c'est une plate-forme de modélisation moderne super puissante et super flexible. Je vais juste cliquer sur go. Et disons que je correspond à ce modèle |
| |
et je veux pouvoir comparer ce modèle au modèle que j'ai déjà enregistré. Je pourrais donc enregistrer la formule de prédiction dans la table de données. Alors maintenant, j'ai une autre colonne en arrière-plan dans la table de données. |
| |
Ou je pourrais à nouveau vouloir publier ceci |
| |
à |
| |
le détail de la formule, alors maintenant j'ai deux modèles différents ici. Et je peux continuer. Il ne s'agit donc que d'un modèle de régression généralisée. Je peux également adapter plusieurs types de |
| |
modèles prédictifs du menu de modélisation prédictive, donc par exemple, des réseaux de neurones ou une forêt de partition ou d'amorçage ou des arbres boostés. |
| |
Maintenant, généralement, ce que je devrais faire est d'adapter tous ces modèles, d'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, je peux utiliser cette plateforme de comparaison de modèles pour comparer les différents modèles concurrents. Et j'ai peut-être plusieurs modèles, ici je n'en ai que deux. |
| |
Et je n'ai même pas besoin de spécifier quels sont les modèles, je n'ai qu'à spécifier la validation. Et j'aime bien mettre la validation ici dans le champ by. |
| |
Cela me donne donc mes statistiques d'ajustement pour l'ensemble d'entraînement et l'ensemble de validation, et je vais seulement regarder les statistiques pour l'étape de validation. Je l'utiliserais donc pour m'aider à choisir le modèle le plus performant. |
| |
Et ce qui m'intéresse, c'est une valeur plus élevée de R au carré, une valeur inférieure de RASE (l'erreur quadratique moyenne racine) et une erreur absolue moyenne inférieure. Et entre ces deux modèles, il semble que ce modèle de régression des moindres carrés soit le meilleur. |
| |
Maintenant, si je devais adapter tous les modèles possibles, cela peut... cela peut prendre beaucoup de temps. Ainsi, au lieu de cela, la nouveauté de JMP Pro 16 est une plate-forme appelée filtrage de modèle. |
| |
Et quand je lance la sélection de modèles, il y a un dialogue en haut, comme nous l'avons vu, donc je vais continuer et remplir ça. |
| |
Et j'ajouterai 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, d'accord, 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 ne l'exécutera pas un modèle de régression logistique |
| |
avec une réponse continue. Notez que j'ai aussi cette option ici, XGBoost. |
| |
Et la raison qui apparaît est qu'il existe un complément et qu'il utilise en fait des bibliothèques open source, et si vous installez ce complément (il est disponible sur notre communauté d'utilisateurs JMP, |
| |
il s'appelle XGBoost et ne fonctionne que dans JMP Pro), mais si vous installez ce complément, il apparaîtra automatiquement dans la boîte de dialogue de sélection du modèle. |
| |
Donc, je vais juste cliquer sur OK, et quand je clique sur OK, ce qu'il va faire, c'est qu'il va sortir et lancer chacune de ces plates-formes. |
| |
Et puis il va tirer tous les résultats dans une seule fenêtre. J'ai donc cliqué sur OK. Je n'ai pas beaucoup de données ici, donc c'est très rapide. |
| |
Et sous les détails, ce sont tous les modèles individuels qui étaient en forme. Et si j'ouvre l'un de ces dialogues, je peux voir les résultats et j'ai accès à des options supplémentaires qui seront disponibles à partir de ce menu. |
| |
Je vais donc ranger les détails. Et par défaut, ce qu'il fait, c'est qu'il rapporte des statistiques pour les données d'entraînement, mais il me montre les résultats pour les données de validation, donc je peux voir R au carré et je peux voir RASE. |
| |
Et par défaut, il trie par ordre de RASE où le plus bas est 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 est meilleur pour d'autres, je vais cliquer sur sélectionner dominant . |
| |
Et dans ce cas, il a sélectionné l'amplification neurale, donc sur tous ces modèles, le meilleur modèle est l'amplification neurale. Et si je veux regarder de plus près ce modèle, je peux soit regarder les détails ici sous neural |
| |
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 se lancent ici seront identiques à ce que je vois ici. Donc c'est un... c'est un |
| |
modèle neuronal à trois nœuds utilisant la fonction TanH, mais il utilise également le boosting. Ainsi, lors de la conception de cette plate-forme, les développeurs ont effectué de nombreuses simulations pour déterminer le meilleur point de départ et les meilleurs paramètres par défaut pour les différents modèles. |
| |
Donc, le neural boosté est le meilleur. |
| |
Et |
| |
si je veux pouvoir déployer ce modèle, maintenant ce que je peux faire, c'est que je peux enregistrer le script |
| |
ou je pourrais l'exécuter, ou je peux l'enregistrer dans la formule plus profondément. |
| |
C'est donc avec une réponse continue et il y a d'autres options sous le triangle rouge. Et si j'ai une réponse catégorique ? Pour une réponse catégorique, je peux utiliser la même plateforme. Donc, encore une fois, je vais passer à la projection de modèles. |
| |
Je clique sur rappel, mais au lieu d'utiliser Y, j'utilise Y binaire. |
| |
Et je ne changerai aucune des méthodes par défaut. Je vais mettre une graine aléatoire, donc par exemple, 12345, je ne fais que saisir un nombre aléatoire. |
| |
Et ce que cela va faire, c'est me donner de la répétabilité. Donc, si j'enregistre un modèle dans la table de données ou dans le dépôt de formules, |
| |
les statistiques seront les mêmes dans le modèle, l'ajustement sera le même. Quelques autres options ici. Nous voudrions peut-être désactiver certaines choses comme les rapports. |
| |
Nous pourrions vouloir utiliser une méthode de validation croisée différente, donc cette plate-forme inclut la validation du pli K, mais elle utilise également la validation croisée du pli K imbriqué. |
| |
Et nous pouvons le répéter. Tellement vraiment sympa. Parfois, partitionner nos données en validation et test de formation n'est pas la meilleure solution et K fold |
| |
peut effectivement être un peu mieux. Et il y a quelques options supplémentaires en bas. Nous pourrions donc vouloir ajouter des interactions bidirectionnelles. Nous pourrions vouloir ajouter des effets quadratiques. |
| |
Sous méthodes supplémentaires, cela s'adaptera à des méthodes de régression généralisées supplémentaires. Je vais donc continuer et cliquer sur OK. |
| |
D'ACCORD. 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. |
| |
D'accord, l'aspect et la convivialité sont les mêmes, mais maintenant les statistiques sont différentes. J'ai donc le taux de mauvaise classification. J'ai une zone sous la courbe. J'ai également des mesures au carré R, puis une erreur quadratique moyenne racine. |
| |
Je vais cliquer sur sélectionner dominant, et encore une fois, la méthode dominante est stimulée par les neurones. |
| |
Maintenant, que se passe-t-il si je veux pouvoir explorer certains de ces différents modèles ? Donc, cette erreur de classification ici est bien inférieure à ce qu'elle est pour étape par étape. |
| |
L'AUC est un peu similaire, c'est le plus bas dans l'ensemble mais peut-être pas tellement mieux. Et permettez-moi d'en saisir quelques-uns. Donc, si je clique sur quelques-uns d'entre eux, peut-être que je vais... peut-être que je vais sélectionner ces quatre, ces cinq. |
| |
Je peux regarder les courbes ROC, si je suis intéressé à regarder les courbes ROC pour comparer les modèles. |
| |
Et il y a quelques bons contrôles 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 un seuil de décision. |
| |
Et ce que le seuil de décision nous permet de regarder, |
| |
et cela commence par regarder les données de formation, cela nous donne un instantané de nos données. |
| |
Et le taux de mauvaise classification est basé sur un seuil de 0,5 pour la classification. Donc, pour chacun des modèles, cela me montre les points qui étaient en fait hauts et bas. Et si nous nous concentrons sur le haut, les points verts ont été correctement classés comme haut. |
| |
Et ceux dans la zone rouge ont été mal classés, donc il nous montre des classifications correctes et des classifications incorrectes, puis il rapporte toutes les statistiques ici sur le côté |
| |
Et puis en bas, nous voyons plusieurs mesures différentes ainsi que de nombreux graphiques pour nous permettre de regarder les fausses classifications et aussi les vraies classifications. |
| |
Je vais fermer ceci et regarder le |
| |
données de validation. |
| |
Alors pourquoi est-ce utile? Eh bien, vous pourriez avoir un scénario particulier où vous souhaitez maximiser la sensibilité |
| |
tout en gardant une certaine spécificité. Et la sensibilité... et il y a quelques définitions ici. La sensibilité est le taux de vrais positifs ; |
| |
la spécificité est le vrai taux négatif. C'est un... c'est un scénario où nous voulons examiner la progression de la maladie, nous voulons donc nous assurer que nous sommes... nous maintenons un taux de sensibilité élevé |
| |
tout en veillant à ce que notre spécificité soit élevée, d'accord. Donc, ce que nous pouvons faire avec cela, c'est qu'il y a un curseur ici, et nous pouvons saisir ce curseur, |
| |
et nous pouvons voir comment les classifications changent lorsque nous modifions le seuil de classification. |
| |
Je pense donc que c'est un outil très puissant lorsque vous examinez des modèles concurrents, parce que vous pourriez avoir certains modèles qui ont l'ensemble avec un seuil de 0,5, ils pourraient avoir le meilleur taux de mauvaise classification. |
| |
Mais vous pouvez également avoir des scénarios dans lesquels, si vous modifiez le seuil de classification, différents modèles peuvent fonctionner différemment. Ainsi, par exemple, si je suis dans une certaine région ici, je pourrais trouver que le modèle par étapes est en fait meilleur. |
| |
Maintenant, pour illustrer davantage cela, je veux ouvrir un exemple différent. |
| |
Et cet exemple s'appelle le marketing par carte de crédit. |
| |
Et si je reviens à mes diapositives juste pour introduire ce scénario. |
| |
C'est un scénario où |
| |
nous avons beaucoup de données basées sur des études de marché sur l'acceptation des offres de carte de crédit. |
| |
La réponse est, l'offre a été acceptée. Et c'est un scénario où seulement 5,5% des offres de l'étude ont été effectivement acceptées. |
| |
Maintenant, il y a des facteurs qui nous intéressent, donc il y a différents types de récompenses qui sont offertes, |
| |
et il existe différents types d'expéditeurs. Il s'agit donc en fait d'une expérience conçue. Nous allons, en quelque sorte, vraiment, en quelque sorte, ignorer cette partie... cet aspect de cette étude. |
| |
Et il y a aussi des informations financières, donc nous allons nous en tenir à un 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, dans ce scénario, nous pourrions envoyer des offres uniquement au sous-ensemble qui est le plus susceptible d'accepter l'offre et d'ignorer le reste. Voilà donc le scénario ici. |
| |
Et je vais ouvrir ces données. |
| |
J'ai 10 000 observations et ma réponse est offre acceptée. |
| |
Et j'ai déjà enregistré le script dans la table de données, donc j'ai des miles aériens, le type d'expéditeur, le niveau de revenu, la cote de crédit et quelques autres informations financières. |
| |
Ça passe... J'ai exécuté un script de sauvegarde. Cela passe par l'exécution de tous les modèles. Et le neuronal, dans ce cas, prendra le plus de temps car il exécute un neuronal boosté. |
| |
Cela prendra encore quelques secondes. Il exécute des machines à vecteurs de support. Les machines vectorielles de support expireront et ne fonctionneront pas si j'ai plus de 10 000 observations. |
| |
Je vais lui donner une autre seconde. J'utilise la validation donc j'utilise la validation standard pour cela, où j'ai une colonne de validation. Et dans ce cas, j'ai une colonne de zéros et de uns et JMP reconnaîtra les zéros pour les données d'apprentissage et les uns pour les données de validation. |
| |
D'accord. On y va. D'accord, il a donc été exécuté, et si vous avez affaire à une grande table de données, il y a un... il y a un rapport que vous pouvez exécuter |
| |
pour regarder les temps écoulés. Et pour ce scénario, la machine à vecteurs de support a en fait pris le plus de temps, et c'est pourquoi, parfois, elle ne fonctionnera pas si nous avons plus de 10 000 observations. |
| |
Alors regardons ceux-ci. Donc, notre meilleur modèle, si je sélectionne dominant, est un boost neuronal et un arbre de décision, mais je veux souligner quelque chose ici. Remarquez 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. Et pourquoi est-ce le cas ? Eh bien, si je lance une distribution d'offre acceptée |
| |
(permettez-moi de l'agrandir un peu pour que nous puissions le voir) et concentrez-vous simplement sur les données de validation, notez que 0,063 % de nos observations étaient Oui. C'est exactement ce que prédit notre modèle. |
| |
Et pourquoi fait-il cela ? |
| |
Je vais demander à nouveau un seuil de décision. |
| |
Et en se 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, c'est vrai. Par conséquent, le modèle a soit correctement classé les non comme des non |
| |
ou classé les oui comme des non. Il n'a jamais classé quoi que ce soit comme un oui, car aucune des probabilités n'était supérieure à 0,5. Donc si j'étire ce gars, |
| |
à droite, je peux voir la différence entre ces deux modèles. Ainsi, la probabilité maximale était d'environ 0,25 pour le neural boosté et pour l'arbre de décision, elle était d'environ 0,15. |
| |
Et notez que pour l'arbre de décision, l'arbre de décision fait essentiellement une série de divisions binaires et j'ai fondamentalement plusieurs valeurs prédictives, alors qu'un neural boosté me montre un joli motif aléatoire dans les points. Alors permettez-moi de changer cela en quelque chose comme .12. |
| |
D'accord, et ça coupe à 0,12, en fait, si je fais glisser ça, remarquez que plus je baisse, je commence à avoir (je vais activer les métriques ici), je commence à avoir de vrais positifs. |
| |
Et je commence à avoir des faux positifs. Donc, pendant que je fais glisser ceci, vous pouvez le voir dans la barre, mais la barre est plutôt petite, n'est-ce pas. Neural boosté, je commence à voir des vrais positifs et des faux positifs. |
| |
Et maintenant, vous commencez à les voir. Dès que j'ai dépassé ce premier ensemble de points, je commence à le voir pour l'arbre de décision. |
| |
Donc, utiliser un seuil de 0,5 n'a pas de sens pour ces données, et encore une fois je pourrais... je pourrais essayer de trouver un seuil 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 notre capacité à capturer les vrais points positifs. |
| |
MCC est le coefficient de corrélation de Matthews, et c'est une bonne mesure de la façon dont il se classe dans chacune des quatre possibilités. Alors j'ai... |
| |
Je peux avoir un faux positif, un faux négatif, un vrai positif, un vrai négatif. |
| |
Et je n'ai pas dit cela correspondant aux cases ici, mais j'ai quatre options différentes. MCC est un coefficient de corrélation qui se situe entre moins un et plus un, qui mesure comment vais-je prédire dans chacune des quatre... dans chacune de ces quatre cases. |
| |
Donc, je souhaiterais peut-être explorer la coupure qui vous donne la valeur F1 maximale ou la valeur MCC maximale. Et disons que je traîne par ici. Remarquez-le que |
| |
la sensibilité augmente rapidement et la spécificité commence à baisser, alors peut-être que c'est autour de 0,5, d'accord, j'atteins un point où je commence à perdre trop de spécificité. |
| |
Je pourrais trouver une coupure et en bas, il y a cette option pour définir une matrice de profit. Si je définis cela comme ma matrice de profit, en gros, ce qui va se passer, c'est que cela me permettra de marquer de nouvelles données en utilisant ce seuil. |
| |
Donc, si je le mets ici et que je clique sur OK, d'accord, toutes les prédictions futures que je fais, si je l'enregistre dans la table de données ou dans le dépôt de formules, utiliseront cette coupure. |
| |
Et c'est un scénario où je pourrais avoir des informations financières que je pourrais intégrer à la matrice de profit. |
| |
Ainsi, par exemple, au lieu d'utiliser le curseur pour sélectionner le seuil, j'ai peut-être une certaine connaissance de la valeur en dollars associée à mes classifications. Et peut-être que si la vraie réponse est non, |
| |
mais je leur envoie une offre, donc il y a un oui, je pense qu'ils vont être oui et je leur envoie une offre. Peut-être que cela me coûte 5 $, d'accord, donc j'ai une valeur négative là-bas. |
| |
Et peut-être que j'ai une idée du profit potentiel, alors peut-être que les profits... le profit potentiel sur cette période est de 100 $ et peut-être que j'ai une occasion manquée. 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. Alors peut-être que c'est une occasion manquée et parfois nous laissons ce champ vide. Maintenant, si j'utilise ça à la place, |
| |
J'ai des informations supplémentaires qui s'affichent, donc il reconnaît que j'ai une matrice de profit. Et maintenant, si je regarde les mesures, je peux prendre des décisions sur mon meilleur modèle en fonction de ce profit. |
| |
J'apporte donc ces informations supplémentaires dans la prise de décision, et parfois nous avons une matrice de profit et nous pouvons l'utiliser directement et parfois nous ne le faisons pas. Et c'est l'un de ces cas où je peux voir que le modèle boosté par les neurones va me donner les meilleurs bénéfices globaux. |
| |
Voici donc un aperçu de la sélection de modèles et permettez-moi de 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. Donc, notre objectif ici est de prédire ou de classer avec précision les résultats futurs, nous voulons donc 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. |
| |
La sélection de modèles rationalise vraiment ce flux de travail afin que vous puissiez adapter de nombreux modèles différents, en même temps, avec une seule plate-forme. |
| |
Et je n'ai vraiment opté que pour la valeur par défaut, donc je peux adapter des modèles beaucoup plus sophistiqués que ce que j'y intègre réellement. Il est très facile de sélectionner les modèles dominants, d'explorer les détails du modèle. Nous pouvons monter 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 intègre également la possibilité d'inclure une matrice de profit. |
| |
Et pour tout modèle sélectionné, nous pouvons déployer le modèle dans le dépôt de formules ou l'enregistrer dans la table de données. Donc un nouvel outil vraiment puissant. |
| |
Pour plus d'informations. Les mesures de classification, je le sais 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 Wikipedia contient de très très bons exemples et une très belle discussion. |
| |
Il existe également de très bonnes ressources pour la modélisation prédictive et également la sélection de modèles. Dans la communauté d'utilisateurs JMP, il existe un nouveau chemin, Apprendre JMP, qui permet d'accéder aux vidéos, |
| |
Maîtriser les vidéos de la série JMP. Il y a eu une très belle conférence l'année dernière au JMP Discovery à Tucson par Ruth Hummel et Mary Loveless sur quel modèle quand. |
| |
Et cela fait un bon travail de parler des différents objectifs de modélisation et du moment où vous voudrez peut-être utiliser chacun des modèles. |
| |
Si vous débutez dans la modélisation prédictive, notre cours en ligne gratuit, STIPS, intitulé Statistical Thinking for Industrial Problem Solving, Module 7 est une introduction à la modélisation prédictive. |
| |
Je recommanderais donc ceci. Il existe un blog de dépistage de modèles qui utilise les données sur le diabète que je vais signaler, et je tiens également à souligner qu'il existe une deuxième édition de ce livre, Building Better Models with JMP Pro, |
| |
qui sortira dans les deux prochains mois. Ils n'ont pas encore de nouvelle couverture, mais ils vont... ils incluent la projection de mannequins dans ce livre. |
| |
Donc c'est tout ce que j'ai. N'hésitez pas à poster des commentaires pour ce post ou à poser des questions, et j'espère que vous apprécierez le reste de la conférence. Merci. |