Conférencier
|
Transcription
|
| Mia Stephens |
dépistage du modèle. |
| |
Si vous travaillez avec la modélisation prédictive, vous constaterez que le filtrage de modèle vous aide à rationaliser votre flux de travail de modélisation prédictive. |
| |
Dans cet exposé, 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 analytique plus large, et nous verrons comment le filtrage de modèle peut nous aider à rationaliser ce flux de travail. |
| |
Je vais parler de quelques 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 des 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. C'est donc une modélisation explicative classique et si vous avez pris des 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 sommes intéressés à utiliser les données actuelles pour prédire ce qui va se passer au niveau individuel dans le futur. |
| |
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 le surajustement signifie, c'est que nous adaptons un modèle qui est plus complexe que nécessaire. |
| |
Donc, avec la modélisation prédictive, nous utilisons généralement la validation et il existe plusieurs formes 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 le sous-ajustement. |
| |
Et le sous-ajustement, c'est lorsque nous adaptons un modèle qui n'est pas aussi complexe qu'il le devrait. Il ne s'agit pas vraiment de capturer la structure de nos données. |
| |
Maintenant, dans l'annexe à la fin des diapositives, j'ai tiré quelques diapositives qui illustrent pourquoi la validation est importante, mais pour le sujet de cet exposé, je vais simplement utiliser la validation lorsque j'adapte des modèles prédictifs. |
| |
Il existe de nombreux types de modèles différents que nous pouvons intégrer dans JMP Pro, et ce n'est en aucun cas une liste exhaustive. |
| |
Nous pouvons adapter plusieurs types 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 celles-ci proviennent toutes 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, des méthodes plus avancées basées sur des arbres 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 une analyse discriminante |
| |
et les moindres carrés partiels sont deux différents ... deux types supplémentaires de modèles que nous pouvons utiliser pour la modélisation prédictive. Et à propos, 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 qu'aucun modèle |
| |
ou le type de modélisation fonctionne toujours le mieux. Dans certaines situations, un réseau de neurones pourrait être le meilleur et les réseaux de neurones sont généralement assez ... assez bons. |
| |
Mais vous constaterez peut-être dans d'autres cas qu'un modèle plus simple fonctionne le mieux, de sorte que le type de modèle qui correspond le mieux à vos données et qui prédit le plus précisément repose en grande partie sur votre réponse, mais aussi sur la structure de vos données. |
| |
Vous pouvez donc adapter plusieurs types de modèles différents et comparer ces modèles avant de trouver le modèle qui correspond le plus précisément 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 panne dans l'analyse et la construction de modèles. Et le workflow de modélisation prédictive typique peut ressembler à ceci, où vous ajustez 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 montez un autre modèle et vous répétez cela, vous pouvez donc adapter plusieurs modèles différents |
| |
puis comparez 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 le dépistage des modèles, c'est que tout l'ajustement et la comparaison des modèles, cette sélection se fait au sein d'une seule plate-forme, la plate-forme de sélection des modèles. |
| |
Nous allons donc utiliser un exemple que vous connaissez peut-être, et il y a un blog sur le dépistage des modèles utilisant ces données qui est publié dans la Communauté, et ce sont les données sur le diabète. |
| |
Donc, le scénario est 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 deux types de réponses différents. |
| |
La réponse Y est la mesure quantitative, une mesure continue, il s'agit donc du taux de progression de la maladie, puis il y a une deuxième réponse, Y Binary, qui est élevée ou faible. |
| |
Ainsi, Y Binary peut représenter un taux de progression élevé élevé ou un taux de progression faible. |
| |
Et le but 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 actions correctives puissent être prises. |
| |
pour éviter cela. Nous allons donc ... nous allons examiner les modèles d'ajustement dans JMP Pro pour ces deux réponses, et nous verrons comment ajuster les mêmes modèles en utilisant le filtrage de modèle. |
| |
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 les modèles prédictifs sur l'ensemble de validation ou l'ensemble de test. Donc, fondamentalement, ce que nous faisons est d'adapter un modèle à un sous-ensemble de nos données appelé nos données d'entraînement. |
| |
Ensuite, nous adaptons ce modèle aux données qui ont été présentées (généralement, nous appelons ces 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 la racine signifie l'erreur carrée (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 de l'erreur moyenne et il existe différentes mesures du carré R que nous pourrions utiliser. |
| |
Pour obtenir des réponses catégoriques, nous nous intéressons le plus souvent aux mesures d'erreur ou de classification erronée. |
| |
Nous pourrions également être intéressés à regarder une courbe ROC, à regarder 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 laissez-moi passer à JMP. |
| |
Gardez ça de côté et je vais ouvrir les données sur le diabète. |
| |
Et laissez-moi faire ça pour que vous puissiez le voir. |
| |
Voilà 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 montant de la progression de la maladie après un an. Et nous allons commencer par regarder Y, mais nous avons é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 les modèles, nous allons ajuster les modèles uniquement en utilisant les données d'entraînement et nous allons utiliser les données de validation pour nous dire quand arrêter la croissance du modèle et pour nous donner des mesures de la qualité du modèle. le modèle s'adapte réellement. |
| |
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 d'entraînement et 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 ensemble 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 d'ensemble 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 un modèle en forme. |
| |
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 ajuster. |
| |
Je vais simplement exécuter le modèle des moindres carrés. |
| |
Quelques points à souligner ici. Remarquez le marqueur ici, V. |
| |
N'oubliez pas que nous adaptons notre modèle aux données d'entraînement, 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 pires que les statistiques d'entraînement, et plus elles sont éloignées, plus elles indiquent que vous modélisez un sur-ajustement ou un sous-ajustement. |
| |
Je tiens à souligner une autre chose ici qui dépasse vraiment la portée 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 vraiment 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édisons la moyenne. Mais remarquez comment ces bandes se déploient pour le cholestérol total et le LDL, le HDL, à droite. Et c'est parce que nous n'avons aucune donnée dans ces régions. |
| |
Pour que la nouvelle fonctionnalité, je tiens à 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 que je traîne |
| |
cholestérol total, remarquez que cela 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 pas de données, 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 ajustez 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 souhaite pouvoir sauvegarder mes résultats. |
| |
Eh bien, il existe plusieurs façons de procéder. Je peux accéder à la colonne rouge, enregistrer les 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 à ce tableau de données, il 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 formule. 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 une langue différente pour me permettre de le déployer dans une sorte de système de production. |
| |
Je vais continuer et fermer ça. Ceci est juste un modèle. Est-il maintenant 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 me souvenir. 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éponse. Et je vais simplement 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 OK. 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 le tableau de données. |
| |
Ou je pourrais à nouveau vouloir publier ceci |
| |
à |
| |
le détail de la formule, donc 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, comme par exemple les réseaux de neurones ou la partition ou la forêt bootstrap ou les arbres boostés. |
| |
Maintenant, généralement, ce que je devrais faire est d'adapter tous ces modèles, d'enregistrer les résultats dans la table de données ou 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 je pourrais avoir beaucoup de 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 besoin que de spécifier la validation. Et j'aime en fait mettre 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 regarder que les statistiques de l'étape de validation. J'utiliserais donc cela 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 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. Donc, au lieu de faire cela, ce qui est nouveau dans JMP Pro 16 est une plate-forme appelée sélection de modèles. |
| |
Et quand je lance le dépistage du modèle, il y a un dialogue en haut, comme nous l'avons vu, alors je vais aller de l'avant et le remplir. |
| |
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, à droite, 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 également cette option ici, XGBoost. |
| |
Et la raison qui apparaît est qu'il y a 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 il 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. |
| |
Je vais donc simplement cliquer sur OK, et quand je clique sur OK, ce que cela va faire, c'est qu'il va sortir et lancer chacune de ces plates-formes. |
| |
Et puis il va rassembler tous les résultats dans une seule fenêtre. Alors j'ai 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'une de ces boîtes de dialogue, 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, il s'agit de statistiques rapportées pour les données d'entraînement, mais cela me montre les résultats pour les données de validation, afin que je puisse voir R carré et que je puisse voir RASE. |
| |
Et par défaut, il trie dans l'ordre 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é neuronal boosté, de sorte que dans tous ces modèles, le meilleur modèle est neuronal boosté. 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 place 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 avec 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 fait 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, si neuronal boosté est le meilleur. |
| |
Et |
| |
si je veux pouvoir déployer ce modèle, je peux maintenant enregistrer le script |
| |
ou je pourrais l'exécuter, ou je peux l'enregistrer plus profondément dans la formule. |
| |
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 au dépistage des modèles. |
| |
Je clique sur rappeler, mais au lieu d'utiliser Y, j'utilise Y Binary. |
| |
Et je ne changerai aucune des méthodes par défaut. Je vais mettre une graine aléatoire, donc par exemple, 12345, je saisis juste un nombre aléatoire. |
| |
Et ce que cela fera, c'est me donner une 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 pourrions vouloir désactiver certaines choses comme les rapports. |
| |
Nous pourrions vouloir utiliser une méthode de validation croisée différente, de sorte que cette plate-forme inclut la validation K pli, mais elle utilise également la validation croisée imbriquée K pli. |
| |
Et nous pouvons le répéter. Tellement vraiment sympa. Parfois, partitionner nos données dans la validation et le test de la formation n'est pas la meilleure et K fold |
| |
peut en fait être un peu mieux. Et il y a quelques options supplémentaires en bas. Nous pourrions donc souhaiter ajouter des interactions bidirectionnelles. Nous pourrions vouloir ajouter des effets quadratiques. |
| |
Dans le cadre de 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. |
| |
C'est vrai, l'apparence et la sensation sont les mêmes, mais maintenant les statistiques sont différentes. J'ai donc le taux d'erreurs de classification. J'ai une zone sous la courbe. J'ai aussi des mesures du carré R, puis une erreur quadratique moyenne. |
| |
Je vais cliquer sur Select dominant, et encore une fois, la méthode dominante est neuronale boostée. |
| |
Maintenant, que faire si je veux pouvoir explorer certains de ces différents modèles? Cette erreur de classification ici est donc bien inférieure à ce qu'elle est par étape. |
| |
L'AUC est un peu similaire, elle est la plus basse dans l'ensemble mais peut-être pas beaucoup mieux. Et laissez-moi en attraper quelques-uns. Donc, si je clique sur quelques-uns de ceux-ci, peut-être que je ... je vais peut-être 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 commandes intéressantes ici pour me permettre d'éteindre les modèles et de me concentrer sur certains modèles. |
| |
Et une nouvelle fonctionnalité qui me passionne vraiment est cette chose appelée 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, est-ce que cela nous donne un aperçu de nos données. |
| |
Et le taux de classification erronée est basé sur un seuil de 0,5 pour la classification. Donc, pour chacun des modèles, cela me montre les points qui étaient réellement hauts et bas. Et si nous nous concentrons sur le haut, les points verts ont été correctement classés comme élevés. |
| |
Et ceux dans la zone rouge ont été mal classés, donc cela 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 métriques différentes ainsi que de nombreux graphiques pour nous permettre de regarder de fausses classifications et aussi de 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 dans lequel vous souhaitez maximiser la sensibilité |
| |
tout en conservant une certaine spécificité. Et la sensibilité ... et il y a quelques définitions ici. La sensibilité est le vrai taux positif; |
| |
la spécificité est le vrai taux négatif. C'est un ... c'est un scénario où nous voulons regarder la progression de la maladie, donc nous voulons 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 à mesure que nous modifions le seuil de classification. |
| |
Je pense donc que c'est un outil vraiment puissant lorsque vous regardez des modèles concurrents, car vous pourriez avoir certains modèles qui ont une valeur globale avec une coupure de 0,5, ils pourraient avoir le meilleur taux de classification erronée. |
| |
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 présenter 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 cartes de crédit. |
| |
La réponse est que 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 existe différents types de récompenses qui sont offerts, |
| |
et il existe différents types de courrier. C'est donc en fait 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, nous allons donc nous en tenir à ... 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 probables, 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 que l'offre est acceptée. |
| |
Et j'ai déjà enregistré le script dans la table de données, donc j'ai les miles aériens, le type de courrier, 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. Il passe par l'exécution de tous les modèles. Et neural, 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 vectorielles 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 seconde de plus. 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'entraînement et ceux pour les données de validation. |
| |
D'accord. Là nous allons. D'accord, donc il a fonctionné, 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 vectorielle de support a en fait pris le plus de temps, et c'est pourquoi, parfois, elle ne fonctionnera pas si nous avons plus de 10000 observations. |
| |
Alors regardons-les. Donc, notre meilleur modèle, si je sélectionne une dominante, est un neuronal boosté et un arbre de décision, mais je veux souligner quelque chose ici. Notez le taux de classification erronée. |
| |
Le taux d'erreurs de classification est identique pour tous les modèles, à l'exception des machines vectorielles de support. Et pourquoi est-ce le cas? Eh bien, si je lance une distribution d'offre acceptée |
| |
(laissez-moi 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 notre modèle a prédit. |
| |
Et pourquoi fait-il cela? |
| |
Je vais à nouveau demander 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, n'est-ce pas. Par conséquent, le modèle a soit classé correctement les non comme des non. |
| |
ou classer les oui comme non. Il n'a jamais rien classé 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. De sorte que la probabilité maximale était d'environ 0,25 pour le neuronal 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 fractionnements binaires et que j'ai fondamentalement plusieurs valeurs prédictives, alors qu'un neuronal boosté me montre un joli motif aléatoire dans les points. Alors laissez-moi changer cela en quelque chose comme .12. |
| |
D'accord, et ça s'arrête à 0,12, en fait, si je glisse ça autour, remarquez que plus j'obtiens, je commence réellement à avoir (je vais activer les métriques ici), je commence à avoir de vrais positifs. |
| |
Et je commence à avoir des faux positifs. Donc, lorsque je fais glisser ceci, vous pouvez le voir dans la barre, mais la barre est un peu petite, à droite. Neural boosté, je commence à voir des vrais positifs et des faux positifs. |
| |
Et maintenant vous commencez à les voir. Dès que je dépasse 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 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 vraiment 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 je vais prédire dans chacun des quatre ... dans chacune de ces quatre cases. |
| |
Je pourrais donc vouloir explorer le seuil qui vous donne la valeur F1 maximale ou la valeur MCC maximale. Et disons que je traîne par ici. Remarquez que |
| |
la sensibilité augmente rapidement et la spécificité commence à baisser, alors peut-être qu'elle tourne autour de 0,5, d'accord, j'arrive à un point où je commence à baisser trop loin dans la spécificité. |
| |
Je pourrais trouver un seuil 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, ce qui va se passer, c'est que cela me permettra de marquer de nouvelles données en utilisant ce seuil. |
| |
Donc, si je place ceci ici et que je clique sur OK, d'accord, toutes les prévisions futures que je fais, si je sauvegarde cela dans la table de données ou dans le dépôt de formules, utiliseront cette limite. |
| |
Et c'est un scénario où je pourrais effectivement avoir des 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'ai peut-être une certaine connaissance de la valeur monétaire associée à mes classifications. Et peut-être que si la réponse réelle est un 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 $, c'est vrai, alors j'ai une valeur négative là-bas. |
| |
Et peut-être ai-je une idée du profit potentiel, alors peut-être que le profit ... le profit potentiel sur cette période est de 100 $ et peut-être ai-je perdu une occasion. Peut-être que je dis, tu sais, c'est -100 si |
| |
la personne aurait effectivement répondu, mais je ne leur ai pas envoyé l'offre. Alors peut-être que c'est une occasion manquée et parfois nous laissons ce blanc. Maintenant, si je l'utilise à la place, |
| |
J'ai quelques informations supplémentaires qui apparaissent, donc il reconnaît que j'ai une matrice de profit. Et maintenant, si je regarde les métriques, 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 neuronal boosté va me donner les meilleurs profits globaux. |
| |
Voici donc un aperçu de la projection 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. Notre objectif ici est donc 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 à l'aide de 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 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 choisi que la valeur par défaut, donc je peux adapter des modèles beaucoup plus sophistiqués que ce que j'en ai réellement. Il est très facile de sélectionner les modèles dominants, d'explorer les détails du modèle. Nous pouvons adapter de nouveaux modèles |
| |
des détails. Ce seuil de décision, si vous avez affaire à 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 n'importe quel 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 métriques de classification, je 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 Wikipédia contient de 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 le dépistage de modèles. Dans la communauté des utilisateurs JMP, il existe un nouveau chemin, Learn JMP, qui a accès aux vidéos, |
| |
Maîtriser les vidéos de la série JMP. Il y a 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 et 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 êtes nouveau dans la modélisation prédictive, notre cours en ligne gratuit, STIPS, qui est la pensée statistique pour la résolution de problèmes industriels, 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 souligner, 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 modèles dans ce livre. |
| |
Alors c'est tout ce que j'ai. N'hésitez pas à poster des commentaires sur ce post ou à poser des questions, et j'espère que vous apprécierez le reste de la conférence. Merci. |