| Lautsprecher |
Transkript |
| Mia Stephens |
Modellscreening. |
| |
Wenn Sie mit prädiktiver Modellierung arbeiten, werden Sie feststellen, dass die Modellprüfung Ihnen dabei hilft, Ihren prädiktiven Modellierungs-Workflow zu optimieren. |
| |
In diesem Vortrag werde ich einen Überblick über prädiktive Modellierung geben und über die verschiedenen Arten von prädiktiven Modellen sprechen, die wir in JMP verwenden können. |
| |
Wir sprechen über den Workflow der prädiktiven Modellierung im Rahmen des umfassenderen Analyse-Workflows und sehen, wie uns die Modellprüfung dabei helfen kann, diesen Workflow zu optimieren. |
| |
Ich werde über einige Metriken zum Vergleich konkurrierender Modelle mithilfe von Validierungsdaten sprechen und wir werden uns einige Beispiele in JMP Pro ansehen. |
| |
Lassen Sie uns zunächst ein wenig über prädiktive Modellierung sprechen und darüber, was prädiktive Modellierung ist. |
| |
Sie haben wahrscheinlich schon einmal mit Regressionsanalysen zu tun gehabt, und Regression ist ein Beispiel für erklärende Modellierung. Und bei der Regression geht es uns typischerweise darum, ein Modell zu erstellen |
| |
für eine Antwort (Y) als Funktion eines oder mehrerer X-Werte, und wir könnten unterschiedliche Modellierungsziele verfolgen. Wir könnten daran interessiert sein, wichtige Variablen zu identifizieren. Was sind also die wichtigsten X-Werte oder wichtigen Eingabevariablen? |
| |
beispielsweise in einer Problemlösungssituation, auf die wir uns konzentrieren könnten, um das Problem anzugehen? |
| |
Wir könnten daran interessiert sein zu verstehen, wie sich die Antwort im Durchschnitt als Funktion der Eingabevariablen ändert. |
| |
eine Änderung von X um eine Einheit ist mit einer Änderung von Y um fünf Einheiten verbunden. Dies ist also eine klassische erklärende Modellierung, und wenn Sie in der Schule Statistik hatten, haben Sie auf diese Weise wahrscheinlich etwas über Regression gelernt. |
| |
Im Gegensatz dazu verfolgt die prädiktive Modellierung ein etwas anderes Ziel. Bei der prädiktiven Modellierung besteht unser Ziel darin, zukünftige Ergebnisse genau vorherzusagen oder zu klassifizieren. |
| |
Wenn unsere Reaktion also kontinuierlich ist, möchten wir in der Lage sein, die nächste Beobachtung, das nächste Ergebnis, so präzise oder genau wie möglich vorherzusagen. |
| |
Und wenn unsere Antwort kategorisch ist, dann sind wir an einer Klassifizierung interessiert. Und wiederum sind wir daran interessiert, anhand aktueller Daten vorherzusagen, was auf individueller Ebene in der Zukunft passieren wird. |
| |
Und wir könnten viele verschiedene Modelle anpassen und vergleichen, und bei der prädiktiven Modellierung könnten wir auch einige fortgeschrittenere Modelle verwenden. Wir könnten einige Techniken des maschinellen Lernens wie neuronale Netzwerke verwenden. |
| |
Und einige dieser Modelle sind möglicherweise nicht so einfach zu interpretieren, und viele von ihnen verfügen über viele verschiedene Abstimmungsparameter, die wir festlegen können. Infolgedessen kann es bei der prädiktiven Modellierung zu einem Problem mit Überanpassung kommen. |
| |
Überanpassung bedeutet, dass wir ein Modell anpassen, das komplexer ist als nötig. |
| |
Bei der prädiktiven Modellierung verwenden wir im Allgemeinen eine Validierung und es gibt mehrere verschiedene Formen der Validierung, die wir verwenden können. |
| |
Wir verwenden die Validierung zum Vergleichen und Auswählen von Modellen. Sie schützt grundsätzlich vor Überanpassung, aber auch vor Unteranpassung. |
| |
Und Unteranpassung liegt vor, wenn wir ein Modell anpassen, das nicht so komplex ist, wie es sein müsste. Es erfasst die Struktur unserer Daten nicht wirklich. |
| |
Im Anhang am Ende der Folien habe ich einige Folien herausgesucht, die veranschaulichen, warum Validierung wichtig ist. Im Mittelpunkt dieses Vortrags werde ich jedoch lediglich die Validierung verwenden, wenn ich Vorhersagemodelle anpasse. |
| |
Es gibt viele verschiedene Modelltypen, die wir in JMP Pro integrieren können, und dies ist keineswegs eine vollständige Liste. |
| |
Wir können verschiedene Arten von Regressionsmodellen anpassen. Wenn wir eine kontinuierliche Antwort haben, können wir ein lineares Regressionsmodell anpassen. |
| |
Wenn unsere Antwort kategorisch ist, handelt es sich um ein logistisches Regressionsmodell. Wir können aber auch verallgemeinerte lineare Modelle anpassen und Regressionsmethoden bestrafen, und diese stammen alle von der Plattform zum Anpassen von Modellen. |
| |
Es gibt viele Optionen im Rahmen der prädiktiven Modellierungsplattform, also neuronale Netze, neuronale Netze mit Boosting und unterschiedliche Anzahlen von Schichten und Knoten, |
| |
Klassifizierungs- und Regressionsbäume sowie fortgeschrittenere baumbasierte Methoden und mehrere andere Techniken. |
| |
Und es gibt auch einige prädiktive Modellierungsoptionen von der Plattform für multivariate Methoden, also diskriminierende Analyse |
| |
und Partial Least Squares sind zwei verschiedene … zwei weitere Modelltypen, die wir für prädiktive Modellierung verwenden können. Und übrigens ist Partial Least Squares auch im Fit-Modell verfügbar. |
| |
Und warum haben wir so viele Modelle? |
| |
Bei der prädiktiven Modellierung werden Sie oft feststellen, dass kein Modell |
| |
oder Modellierungstyp funktioniert immer am besten. In bestimmten Situationen ist ein neuronales Netzwerk möglicherweise am besten geeignet, und neuronale Netzwerke sind im Allgemeinen ziemlich ... ziemlich leistungsfähig. |
| |
In anderen Fällen stellen Sie jedoch möglicherweise fest, dass ein einfacheres Modell tatsächlich die beste Leistung bringt. Der Modelltyp, der am besten zu Ihren Daten passt und die genauesten Vorhersagen liefert, hängt also größtenteils von Ihrer Antwort, aber auch von der Struktur Ihrer Daten ab. |
| |
Sie können also mehrere unterschiedliche Modelltypen anpassen und diese Modelle vergleichen, bevor Sie das Modell finden, das am genauesten passt oder die genauesten Vorhersagen liefert. |
| |
Im Rahmen des umfassenderen analytischen Arbeitsablaufs beginnen Sie mit einem Problem, das Sie lösen möchten, und Sie sammeln Daten, bereiten die Daten vor und untersuchen die Daten. |
| |
Bei der prädiktiven Modellierung geht es um die Analyse und Erstellung von Modellen. Der typische Workflow für die prädiktive Modellierung könnte etwa so aussehen: Sie passen ein Modell mit Validierung an. |
| |
Anschließend speichern Sie diese Formel in einer Datentabelle oder veröffentlichen sie im Formeldepot. |
| |
Und dann passen Sie ein anderes Modell an und wiederholen dies, sodass Sie möglicherweise mehrere verschiedene Modelle anpassen |
| |
und vergleichen Sie dann diese Modelle. In JMP Pro können Sie dazu die Modellvergleichsplattform verwenden. Sie vergleichen die Leistung der Modelle anhand der Validierungsdaten, wählen dann das beste Modell oder die beste Modellkombination aus und stellen das Modell bereit. |
| |
Und der Unterschied beim Modell-Screening besteht darin, dass die gesamte Modellanpassung und der Vergleich, diese Auswahl, auf einer Plattform erfolgen, der Modell-Screening-Plattform. |
| |
Wir verwenden ein Beispiel, das Ihnen vielleicht bekannt ist. In der Community gibt es einen Blog zum Thema Modellscreening unter Verwendung dieser Daten. Dabei handelt es sich um die Diabetesdaten. |
| |
Das Szenario besteht also darin, dass die Forscher die Geschwindigkeit des Krankheitsverlaufs ein Jahr nach dem Ausgangswert vorhersagen möchten. |
| |
Es gibt also mehrere Basismessungen und dann zwei verschiedene Arten von Antworten. |
| |
Die Antwort Y ist das quantitative Maß, ein kontinuierliches Maß, also die Geschwindigkeit des Krankheitsverlaufs, und dann gibt es eine zweite Antwort, Y Binär, die hoch oder niedrig ist. |
| |
Daher kann Y Binär eine hohe oder eine niedrige Progressionsrate darstellen. |
| |
Und das Ziel der prädiktiven Modellierung besteht darin, Patienten vorherzusagen, bei denen die Krankheit am wahrscheinlichsten fortschreitet, sodass die entsprechenden Korrekturmaßnahmen ergriffen werden können. |
| |
um dies zu verhindern. Wir werden uns also die Anpassung von Modellen in JMP Pro für beide Antworten ansehen und sehen, wie dieselben Modelle mithilfe der Modellprüfung angepasst werden. |
| |
Und bevor ich zu JMP komme, möchte ich kurz darüber sprechen, wie wir Vorhersagemodelle vergleichen. |
| |
Wir vergleichen Vorhersagemodelle mit dem Validierungs- oder Testsatz. Im Grunde passen wir also ein Modell an eine Teilmenge unserer Daten an, die als Trainingsdaten bezeichnet wird. |
| |
Und dann passen wir dieses Modell an zurückgehaltene Daten an (normalerweise nennen wir diese Daten Validierungsdaten), um zu sehen, wie gut das Modell funktioniert. |
| |
Und wenn wir kontinuierliche Antworten haben, können wir Fehlermaße verwenden, also den quadratischen Mittelwertfehler (RMSE) oder RASE, also den durchschnittlichen quadrierten Fehler der Route, also das Maß für den Vorhersagefehler. |
| |
AAE, MAD, MAE sind Maße für den durchschnittlichen Fehler und es gibt verschiedene R-Quadrat-Maße, die wir verwenden könnten. |
| |
Um kategorische Antworten zu erhalten, sind wir am häufigsten an Fehler- oder Fehlklassifizierungsmaßen interessiert. |
| |
Wir könnten auch daran interessiert sein, uns eine ROC-Kurve anzusehen, die AUC (Fläche unter der Kurve) oder die Sensitivität oder Spezifität sowie die Rate falsch positiver und falsch negativer Ergebnisse zu betrachten. |
| |
der F1-Score und MCC, der Matthews-Korrelationskoeffizient. |
| |
Lassen Sie mich also zu JMP wechseln. |
| |
Stecken Sie das weg und ich öffne die Diabetesdaten. |
| |
Und lassen Sie mich das groß machen, damit Sie es sehen können. |
| |
Das sind also die Daten. Es liegen Informationen zu 442 Patienten vor. Auch hier haben wir eine kontinuierliche Antwort Y, die den Grad der Krankheitsprogression nach einem Jahr angibt. Wir beginnen mit Y, haben aber auch die zweite Variable, Y binär. |
| |
Wir haben grundlegende Informationen. |
| |
Und es gibt eine Spaltenvalidierung. Also nochmal Validierung: Wenn wir Modelle anpassen, passen wir die Modelle nur anhand der Trainingsdaten an und verwenden die Validierungsdaten, um zu erfahren, wann wir mit der Modellerweiterung aufhören müssen und um zu messen, wie gut das Modell tatsächlich passt. |
| |
Um diese Spalte zu erstellen, gibt es unter der prädiktiven Modellierung ein Dienstprogramm namens „Modellvalidierungsspalte“. |
| |
Und dies gibt uns viele Optionen zum Erstellen einer Validierungsspalte, sodass wir Ihre Daten in eine Trainingsvalidierung und einen Testsatz unterteilen können. |
| |
Und in den meisten Fällen, wenn wir diese Art von Technik verwenden, um unsere Daten in Teilmengen zu unterteilen, |
| |
Es wird empfohlen, einen Testsatz zu verwenden. Mit einem Testsatz können Sie die Modellleistung anhand von Daten beurteilen, die nicht zum Erstellen der Modelle oder zum Stoppen des Modellwachstums verwendet wurden. Daher würde ich das empfehlen, auch wenn wir in diesem Fall keinen Testsatz haben. |
| |
Nehmen wir also an, ich möchte ein Modell finden, das die Antwort möglichst genau vorhersagt. Wie Sie gesehen haben, stehen viele verschiedene Modelle zur Auswahl. |
| |
Ich beginne mit dem Passformmodell. |
| |
Und das ist normalerweise ein guter Ausgangspunkt. |
| |
Ich werde also ein Regressionsmodell mit Y als Antwort und den X als Modelleffekten erstellen und an dieser Stelle nur die Haupteffekte einfügen. Außerdem werde ich eine Validierungsspalte hinzufügen. |
| |
Beim Anpassen des Modells wird hier standardmäßig die Methode der kleinsten Quadrate verwendet, es gibt jedoch viele verschiedene Arten von Modellen, die wir anpassen können. |
| |
Ich werde einfach das Kleinstquadrate-Modell ausführen. |
| |
Hier sind ein paar Dinge hervorzuheben. Beachten Sie die Markierung hier, V. |
| |
Denken Sie daran, dass wir unser Modell an die Trainingsdaten anpassen, aber wir möchten auch sehen, wie gut das Modell bei den Validierungsdaten funktioniert. Daher sind alle diese Markierungen mit einem V Beobachtungen im Validierungssatz. |
| |
Da wir über eine Validierung verfügen, gibt es hier einen Abschnitt zur Kreuzvalidierung, sodass wir uns R-Quadrat im Trainingssatz und auch im Validierungssatz und dann RASE ansehen können. |
| |
Und oft werden Sie feststellen, dass die Validierungsstatistiken etwas schlechter sind als die Trainingsstatistiken, und je weiter sie davon abweichen, desto deutlicher ist der Hinweis darauf, dass Ihr Modell über- oder unterangepasst ist. |
| |
Ich möchte hier noch auf eine weitere Sache hinweisen, die wirklich über den Rahmen dieses Vortrags hinausgeht, und zwar diesen Vorhersageprofiler. |
| |
Und der Vorhersageprofiler |
| |
ist tatsächlich einer der Gründe, warum ich angefangen habe, JMP zu verwenden. Es ist eine wirklich leistungsstarke Methode, Ihr Modell zu verstehen. |
| |
Und so kann ich die Werte jedes X ändern und sehen, was mit der vorhergesagten Antwort passiert, und das ist der Durchschnitt, also mit |
| |
Mit diesen Modellen prognostizieren wir den Durchschnitt. Beachten Sie jedoch, wie sich die Bänder für Gesamtcholesterin sowie LDL und HDL auffächern. Das liegt daran, dass uns für diese Bereiche keine Daten vorliegen. |
| |
Die neue Funktion, auf die ich kurz hinweisen möchte und die den Rahmen dieses Vortrags sprengen würde, ist die sogenannte Extrapolationskontrolle. Wenn ich eine Warnung aktiviere und ziehe |
| |
Gesamtcholesterin, beachten Sie, dass es mir sagt, dass es eine mögliche Extrapolation gibt. Dies sagt mir, dass ich versuche, in einem Bereich vorherzusagen, in dem ich wirklich keine Daten habe, und wenn ich |
| |
Beachten Sie, dass diese Extrapolationssteuerung diesen Balken bzw. diese Linie kürzt. Das bedeutet im Grunde, dass Sie in diesem Bereich keine Vorhersagen treffen können. Sie sollten dies also überprüfen, wenn Sie Modelle anpassen. Es ist ein wirklich mächtiges Werkzeug. |
| |
Nehmen wir also an, ich habe die gesamte Diagnosearbeit erledigt. Ich habe dieses Modell reduziert und möchte meine Ergebnisse speichern können. |
| |
Nun, es gibt mehrere Möglichkeiten, dies zu tun. Ich kann zur roten Spalte gehen, Spalten speichern und die Vorhersageformel speichern. |
| |
Dadurch wird das lineare Modell, das ich gerade erstellt habe, in der Datentabelle gespeichert. Sie können es hier im Hintergrund sehen. Wenn ich dieser Datentabelle dann neue Werte hinzufüge, wird die Antwort automatisch vorhergesagt. |
| |
Aber ich möchte das Modell vielleicht in einer anderen Form speichern, also könnte ich dazu veröffentlichen |
| |
diese Formel in das Formeldepot. Und das Formeldepot ist eigentlich unabhängig von meiner Datentabelle, aber was mir ermöglicht, ist, dass ich das Skript kopieren und in eine andere Datentabelle mit neuen Daten einfügen kann, um neue Daten zu bewerten. |
| |
Oder ich möchte Code in einer anderen Sprache generieren, um ihn in einer Art Produktionssystem bereitstellen zu können. |
| |
Ich werde das hier abschließen. Dies ist nur ein Modell. Ist es möglich, dass die Anpassung eines komplizierteren oder anspruchsvolleren Modells eine bessere Leistung bringt? |
| |
Ich könnte also ein anderes Modell anpassen. Ich könnte zum Beispiel ... ich drücke einfach auf "Erinnern". Ich könnte die Persönlichkeit von der Standardmethode der kleinsten Quadrate auf eine generalisierte Regression ändern. |
| |
Und das ermöglicht mir, verschiedene Antwortverteilungen anzugeben. Und ich bleibe einfach bei „Normal“ und klicke auf „Ausführen“. |
| |
Dies ermöglicht es mir, verschiedene bestrafte Methoden anzupassen und auch verschiedene Techniken zur Variablenauswahl zu verwenden. Und falls Sie sich die verallgemeinerte Regression noch nicht angesehen haben, |
| |
Es ist eine super leistungsstarke und super flexible moderne Modellierungsplattform. Ich klicke einfach auf „Los“. Und sagen wir, ich passe dieses Modell an |
| |
Und ich möchte dieses Modell mit dem bereits gespeicherten Modell vergleichen können. Daher speichere ich die Vorhersageformel in der Datentabelle. Dadurch habe ich nun eine weitere Spalte im Hintergrund in der Datentabelle. |
| |
Oder ich möchte das vielleicht noch einmal veröffentlichen |
| |
Zu |
| |
Die Formeldetails, also habe ich jetzt zwei verschiedene Modelle. Und ich kann weitermachen. Dies ist also nur ein Modell aus der generalisierten Regression. Ich kann auch verschiedene Arten von |
| |
Vorhersagemodelle aus dem Menü „Vorhersagemodellierung“, also beispielsweise neuronale Netzwerke oder Partition oder Bootstrap-Wald oder Boosted Trees. |
| |
Normalerweise müsste ich alle diese Modelle anpassen, die Ergebnisse entweder in der Datentabelle oder im Formeldepot speichern und wenn ich sie speichere in |
| |
Mit der Datentabelle kann ich diese Modellvergleichsplattform nutzen, um die verschiedenen konkurrierenden Modelle zu vergleichen. Und ich habe vielleicht viele Modelle, hier habe ich nur zwei. |
| |
Und ich muss nicht einmal angeben, um welche Modelle es sich handelt, ich muss nur die Validierung angeben. Und ich gebe die Validierung eigentlich gerne hier unten im Feld „Nach“ ein. |
| |
Dadurch erhalte ich meine Anpassungsstatistiken sowohl für den Trainingssatz als auch für den Validierungssatz. Ich werde mir nur die Statistiken für den Validierungsschritt ansehen. Dies würde mir also dabei helfen, das leistungsstärkste Modell auszuwählen. |
| |
Und was mich interessiert, ist ein höherer R-Quadrat-Wert, ein niedrigerer RASE-Wert (die Wurzel des durchschnittlichen quadrierten Fehlers) und ein niedrigerer durchschnittlicher absoluter Fehler. Und zwischen diesen beiden Modellen scheint dieses Regressionsmodell mit kleinsten Quadraten das beste zu sein. |
| |
Wenn ich nun alle möglichen Modelle anpassen müsste, könnte das ziemlich zeitaufwändig sein. Stattdessen gibt es in JMP Pro 16 eine neue Plattform namens „Modell-Screening“. |
| |
Und wenn ich die Modellprüfung starte, wird oben ein Dialog angezeigt, genau wie wir gesehen haben, also werde ich fortfahren und diesen ausfüllen. |
| |
Und ich werde eine Validierung hinzufügen, aber an der Seite sehen Sie, dass ich mehrere verschiedene Modelle auswählen und diese verschiedenen Modelle alle gleichzeitig anpassen kann. |
| |
Also Entscheidungsbaum, Bootstrap-Wald, Boosted Tree, K nächste Nachbarn, richtig, ich kann alle diese Modelle anpassen. |
| |
Und es werden keine Modelle ausgeführt, die keinen Sinn ergeben. Ich habe also eine kontinuierliche logistische Regression als eine meiner Optionen. Es wird kein logistisches Regressionsmodell ausgeführt. |
| |
mit einer kontinuierlichen Antwort. Beachten Sie, dass ich hier unten auch diese Option habe: XGBoost. |
| |
Der Grund dafür ist, dass es ein Add-In gibt, das Open-Source-Bibliotheken verwendet. Wenn Sie dieses Add-In installieren (es ist in unserer JMP-Benutzer-Community verfügbar), |
| |
es heißt XGBoost und funktioniert nur in JMP Pro), aber wenn Sie dieses Add-In installieren, wird es automatisch im Modell-Screening-Dialog angezeigt. |
| |
Ich klicke also einfach auf „OK“, und wenn ich auf „OK“ klicke, werden alle diese Plattformen gestartet. |
| |
Anschließend werden alle Ergebnisse in einem Fenster angezeigt. Ich habe also auf „OK“ geklickt. Da ich hier nicht viele Daten habe, geht das sehr schnell. |
| |
Unter den Details sind alle einzelnen Modelle aufgeführt, die angepasst wurden. Wenn ich einen dieser Dialoge öffne, kann ich die Ergebnisse sehen und habe Zugriff auf zusätzliche Optionen, die in diesem Menü verfügbar sind. |
| |
Ich werde die Details also ausblenden. Standardmäßig werden Statistiken für die Trainingsdaten gemeldet, aber es werden mir die Ergebnisse für die Validierungsdaten angezeigt, sodass ich R-Quadrat und RASE sehen kann. |
| |
Und standardmäßig wird in der Reihenfolge RASE sortiert, wobei der niedrigste Wert der beste ist. |
| |
Aber ich habe hier unten ein paar kleine Abkürzungsoptionen. Wenn ich also die besten Modelle finden möchte und es sein könnte, dass R-Quadrat für einige Modelle am besten ist, RASE jedoch für andere besser ist, klicke ich auf „Dominant auswählen“. |
| |
In diesem Fall wurde Neural Boosted ausgewählt. Das beste Modell ist also Neural Boosted. Wenn ich mir dieses Modell genauer ansehen möchte, kann ich mir die Details hier oben unter Neural ansehen. |
| |
oder ich kann einfach sagen: „Ausgewählt ausführen“. |
| |
Ich habe jetzt nicht darüber gesprochen, aber im Dialogfenster gibt es eine Option zum Festlegen eines Zufallsstartwerts. |
| |
Und wenn ich diesen Zufallsstartwert einstelle, sind die Ergebnisse, die hier angezeigt werden, identisch mit dem, was ich hier sehe. Das ist also ein... das ist ein |
| |
neuronales Modell mit drei Knoten unter Verwendung der TanH-Funktion, aber auch Boosting. Beim Entwurf dieser Plattform haben die Entwickler daher viele Simulationen durchgeführt, um den besten Ausgangspunkt und die besten Standardeinstellungen für die verschiedenen Modelle zu ermitteln. |
| |
Also, neuronal verstärkt ist das Beste. |
| |
Und |
| |
Wenn ich dieses Modell bereitstellen möchte, kann ich jetzt das Skript speichern |
| |
oder ich könnte es ausführen oder ich kann es in der tieferen Formel speichern. |
| |
Dies ist eine kontinuierliche Antwort. Unter dem roten Dreieck gibt es weitere Optionen. Was ist mit einer kategorischen Antwort? Für eine kategorische Antwort kann ich dieselbe Plattform verwenden. Ich gehe also erneut zum Modell-Screening. |
| |
Ich klicke auf „Abrufen“, verwende aber statt „Y“ „Y Binary“. |
| |
Und ich werde keine der Standardmethoden ändern. Ich werde einen Zufallsstartwert einfügen, zum Beispiel 12345. Ich nehme einfach eine Zufallszahl. |
| |
Und das gibt mir Wiederholbarkeit. Wenn ich also ein Modell in der Datentabelle oder im Formeldepot speichere, |
| |
Die Statistiken im Modell bleiben gleich, die Anpassung bleibt gleich. Hier gibt es noch ein paar weitere Optionen. Wir möchten vielleicht einige Dinge wie die Berichte deaktivieren. |
| |
Wir möchten möglicherweise eine andere Methode zur Kreuzvalidierung verwenden, daher umfasst diese Plattform eine K-fache Validierung, verwendet aber auch eine verschachtelte K-fache Kreuzvalidierung. |
| |
Und wir können das wiederholen. So wirklich schön. Manchmal ist die Aufteilung unserer Daten in Training, Validierung und Test nicht die beste Lösung und K-fach |
| |
könnte tatsächlich etwas besser sein. Und es gibt unten einige zusätzliche Optionen. Wir könnten also wechselseitige Interaktionen hinzufügen. Wir könnten quadratische Effekte hinzufügen. |
| |
Unter „Zusätzliche Methoden“ finden Sie weitere verallgemeinerte Regressionsmethoden. Ich klicke einfach auf „OK“. |
| |
OK. Es führt alle Modelle aus und es handelt sich wiederum um einen kleinen Datensatz. Es ist sehr schnell. |
| |
Richtig, das Erscheinungsbild ist gleich, aber die Statistiken sind anders. Ich habe also die Fehlklassifizierungsrate. Ich habe eine Fläche unter der Kurve. Ich habe auch einige R-Quadrat-Maße und dann die Wurzel des durchschnittlichen quadrierten Fehlers. |
| |
Ich klicke auf „Dominant auswählen“, und wieder ist die dominante Methode „Neural Boosted“. |
| |
Was ist, wenn ich einige dieser verschiedenen Modelle untersuchen möchte? Die Fehlklassifizierung ist hier deutlich geringer als bei der schrittweisen Vorgehensweise. |
| |
Die AUC ist ähnlich, insgesamt am niedrigsten, aber vielleicht nicht viel besser. Lassen Sie mich ein paar davon auswählen. Wenn ich auf ein paar davon klicke, wähle ich vielleicht diese vier, diese fünf aus. |
| |
Ich kann mir ROC-Kurven ansehen, wenn ich daran interessiert bin, mir ROC-Kurven anzusehen, um die Modelle zu vergleichen. |
| |
Und es gibt hier einige nette Steuerelemente, mit denen ich Modelle ausschalten und mich auf bestimmte Modelle konzentrieren kann. |
| |
Und eine neue Funktion, die mich wirklich begeistert, ist diese sogenannte Entscheidungsschwelle. |
| |
Und was die Entscheidungsschwelle uns ermöglicht zu betrachten, |
| |
und es beginnt mit der Betrachtung der Trainingsdaten, es gibt uns eine Momentaufnahme unserer Daten. |
| |
Die Fehlklassifizierungsrate basiert auf einem Cut-off von 0,5. Für jedes Modell werden mir die tatsächlichen Höchst- und Tiefstwerte angezeigt. Konzentrieren wir uns auf die Höchstwerte, werden die grünen Punkte korrekt als hoch klassifiziert. |
| |
Und die im roten Bereich wurden falsch klassifiziert, also zeigt es uns korrekte und falsche Klassifizierungen an und meldet dann alle Statistiken hier auf der Seite |
| |
Und weiter unten sehen wir mehrere verschiedene Metriken sowie zahlreiche Diagramme, die es uns ermöglichen, sowohl falsche als auch wahre Klassifizierungen zu betrachten. |
| |
Ich werde das schließen und mir die |
| |
Validierungsdaten. |
| |
Warum ist das also sinnvoll? Nun, Sie haben vielleicht ein bestimmtes Szenario, in dem Sie an der Maximierung der Sensibilität interessiert sind |
| |
unter Beibehaltung einer gewissen Spezifität. Und Sensitivität... und hier gibt es einige Definitionen. Sensitivität ist die wahre Positivrate; |
| |
Spezifität ist die wahre Negativrate. Dies ist ein Szenario, in dem wir den Krankheitsverlauf untersuchen wollen, also wollen wir sicherstellen, dass wir eine hohe Sensitivitätsrate aufrechterhalten. |
| |
und gleichzeitig sicherstellen, dass unsere Spezifität hoch ist. Was wir damit machen können, ist, dass es hier einen Schieberegler gibt, und wir können diesen Schieberegler greifen, |
| |
und wir können sehen, wie sich die Klassifizierungen ändern, wenn wir den Grenzwert für die Klassifizierung ändern. |
| |
Ich denke, dass dies ein wirklich leistungsfähiges Tool ist, wenn Sie konkurrierende Modelle betrachten, denn es gibt möglicherweise einige Modelle, die insgesamt einen Grenzwert von 0,5 haben und somit möglicherweise die beste Fehlklassifizierungsrate aufweisen. |
| |
Es kann aber auch vorkommen, dass verschiedene Modelle eine andere Leistung erbringen, wenn Sie den Klassifizierungsgrenzwert ändern. Wenn ich mich beispielsweise in einer bestimmten Region befinde, stelle ich möglicherweise fest, dass das schrittweise Modell tatsächlich besser ist. |
| |
Um dies weiter zu veranschaulichen, möchte ich nun ein anderes Beispiel anführen. |
| |
Und dieses Beispiel heißt Kreditkartenmarketing. |
| |
Und wenn ich zu meinen Folien zurückgehe, um dieses Szenario vorzustellen. |
| |
Dies ist ein Szenario, in dem |
| |
Wir verfügen über zahlreiche Daten aus Marktforschungen zur Akzeptanz von Kreditkartenangeboten. |
| |
Die Antwort lautet: Wurde das Angebot angenommen? Und in diesem Szenario wurden nur 5,5 % der Angebote in der Studie tatsächlich angenommen. |
| |
Es gibt Faktoren, die uns interessieren, und so werden verschiedene Arten von Belohnungen angeboten. |
| |
und es gibt verschiedene Mailer-Typen. Es handelt sich also um ein geplantes Experiment. Wir werden diesen Teil dieser Studie eigentlich ignorieren. |
| |
Und es gibt auch Finanzinformationen, also bleiben wir bei … bleiben wir in diesem Beispiel bei einem Ziel, und das ist das Ziel, Kunden zu identifizieren, die das Angebot am wahrscheinlichsten annehmen. |
| |
Und wenn wir die wahrscheinlichsten Kunden identifizieren können, könnten wir in diesem Szenario Angebote nur an die Teilmenge senden, die das Angebot eher annimmt, und den Rest ignorieren. So sieht also das Szenario hier aus. |
| |
Und ich werde diese Daten öffnen. |
| |
Ich habe 10.000 Beobachtungen und meine Antwort lautet: Angebot angenommen. |
| |
Und ich habe das Skript bereits in der Datentabelle gespeichert, sodass ich Flugmeilen, Mailer-Typ, Einkommensniveau, Kreditwürdigkeit und einige andere Finanzinformationen habe. |
| |
Es läuft durch... Ich habe ein Speicherskript ausgeführt. Es durchläuft alle Modelle. Und in diesem Fall wird der neuronale Prozess am längsten dauern, da er einen verstärkten neuronalen Prozess ausführt. |
| |
Es dauert noch ein paar Sekunden. Es werden Support Vector Machines ausgeführt. Support Vector Machines laufen nicht mehr, wenn ich mehr als 10.000 Beobachtungen habe. |
| |
Ich warte noch eine Sekunde. Ich verwende die Validierung, also die Standardvalidierung, bei der ich eine Validierungsspalte habe. In diesem Fall habe ich eine Spalte mit Nullen und Einsen. JMP erkennt die Nullen für die Trainingsdaten und die Einsen für die Validierungsdaten. |
| |
Okay. Da haben wir's. Okay, es lief, und wenn Sie mit einer großen Datentabelle arbeiten, gibt es einen... es gibt einen Bericht, den Sie ausführen können |
| |
um die verstrichenen Zeiten zu betrachten. Und in diesem Szenario benötigte die Support Vector Machine tatsächlich am längsten, und das ist der Grund, warum sie manchmal nicht ausgeführt wird, wenn wir mehr als 10.000 Beobachtungen haben. |
| |
Schauen wir uns diese also an. Unser bestes Modell, wenn ich „dominant“ auswähle, ist ein neuronal verstärkter Entscheidungsbaum. Ich möchte hier jedoch auf etwas hinweisen. Beachten Sie die Fehlklassifizierungsrate. |
| |
Die Fehlklassifizierungsrate ist für alle Modelle identisch, außer für Support Vector Machines. Und warum ist das so? Nun, wenn ich eine Verteilung von Angebot angenommen |
| |
(Ich mache das etwas größer, damit wir es sehen können) und konzentrieren Sie sich einfach auf die Validierungsdaten. Beachten Sie, dass 0,063 % unserer Beobachtungen „Ja“ lauteten. Das ist genau das, was unser Modell vorhergesagt hat. |
| |
Und warum macht es das? |
| |
Ich werde noch einmal nach der Entscheidungsschwelle fragen. |
| |
Und wenn wir uns auf dieses Diagramm hier konzentrieren, das viele Verwendungsmöglichkeiten hat, zeigt es uns, dass unser Grenzwert für die Klassifizierung 0,5 ist. |
| |
aber keine unserer angepassten Wahrscheinlichkeiten kam auch nur annähernd an diese Zahl heran. Das Modell klassifizierte die Neins also entweder korrekt als Neins |
| |
oder die Ja-Antworten als Nein-Antworten klassifiziert. Es wurde nie etwas als Ja klassifiziert, da keine der Wahrscheinlichkeiten größer als 0,5 war. Wenn ich diesen Kerl also ausdehne, |
| |
richtig, ich kann den Unterschied zwischen diesen beiden Modellen erkennen. Die höchste Wahrscheinlichkeit lag also bei etwa 0,25 für das neuronale Boosting und bei etwa 0,15 für den Entscheidungsbaum. |
| |
Beachten Sie, dass der Entscheidungsbaum im Grunde eine Reihe binärer Teilungen durchführt und ich im Grunde mehrere Vorhersagewerte habe, während mir eine neuronale Verstärkung ein schönes Zufallsmuster in den Punkten anzeigt. Lassen Sie mich das also auf etwa 0,12 ändern. |
| |
Richtig, und es wird bei 0,12 abgeschnitten. Wenn ich das hier verschiebe, fällt mir auf, dass ich, je weiter ich gehe, tatsächlich anfange (ich werde hier die Metriken einschalten), einige echte positive Werte zu bekommen. |
| |
Und ich bekomme einige Fehlalarme. Wenn ich das ziehe, können Sie es in der Leiste sehen, aber die Leiste ist ziemlich klein, richtig. Neuronal verstärkt, sehe ich nun einige echte und einige falsche Positivmeldungen. |
| |
Und jetzt fangen Sie an, sie zu sehen. Sobald ich diesen ersten Satz von Punkten hinter mir habe, beginne ich, sie für den Entscheidungsbaum zu sehen. |
| |
Daher ist die Verwendung eines Cut-offs von 0,5 für diese Daten nicht sinnvoll. Und ich könnte auch versuchen, einen Cut-off zu finden, der mir die höchste Sensitivität bietet und gleichzeitig ein angemessenes Maß an Spezifität beibehält. |
| |
In diesem Fall werde ich auf diese beiden anderen Statistiken hinweisen. |
| |
F1 ist der F1-Score und dieser ist wirklich ein Maß dafür, wie gut wir in der Lage sind, die wahren positiven Aspekte zu erfassen. |
| |
MCC ist der Matthews-Korrelationskoeffizient und ein gutes Maß dafür, wie gut die Klassifizierung innerhalb der vier Möglichkeiten erfolgt. Ich habe also ... |
| |
Ich kann ein falsch positives, ein falsch negatives, ein wahr positives oder ein wahr negatives Ergebnis haben. |
| |
Und ich habe das nicht wirklich den Kästchen hier entsprechend gesagt, aber ich habe vier verschiedene Optionen. MCC ist ein Korrelationskoeffizient, der zwischen minus eins und plus eins liegt und misst, wie meine Vorhersage in jedem der vier Kästchen ausfällt. |
| |
Ich möchte also den Cut-off untersuchen, der den maximalen F1-Wert oder den maximalen MCC-Wert liefert. Nehmen wir an, ich ziehe diesen Wert nach unten. Beachten Sie, dass |
| |
die Sensitivität steigt schnell an und die Spezifität beginnt zu sinken, also liegt sie vielleicht bei etwa 0,5, richtig, ich erreiche einen Punkt, an dem die Spezifität zu weit abfällt. |
| |
Ich finde vielleicht einen Grenzwert und unten gibt es die Option, eine Gewinnmatrix festzulegen. Wenn ich dies als meine Gewinnmatrix festlege, kann ich im Grunde genommen neue Daten anhand dieses Grenzwerts ermitteln. |
| |
Wenn ich dies hier einstelle und auf „OK“ klicke, wird dieser Grenzwert für alle zukünftigen Vorhersagen verwendet, die ich mache, wenn ich dies in der Datentabelle oder im Formeldepot speichere. |
| |
Und dies ist ein Szenario, in dem ich möglicherweise tatsächlich über einige Finanzinformationen verfüge, die ich in die Gewinnmatrix einbauen könnte. |
| |
Anstatt beispielsweise den Schieberegler zu verwenden, um den Grenzwert auszuwählen, kenne ich vielleicht den Dollarwert, der mit meinen Klassifizierungen verbunden ist. Und wenn die tatsächliche Antwort vielleicht Nein ist, |
| |
aber ich schicke ihnen ein Angebot, also gibt es ein „Ja“, ich denke, sie werden „Ja“ sagen, und ich schicke ihnen ein Angebot. Vielleicht kostet mich das 5 $, also habe ich dort einen negativen Wert. |
| |
Und vielleicht habe ich eine Vorstellung vom potenziellen Gewinn. Der potenzielle Gewinn in diesem Zeitraum beträgt 100 $, und vielleicht habe ich eine Chance verpasst. Vielleicht sage ich, wissen Sie, es sind -100 $, wenn |
| |
Die Person hätte eigentlich geantwortet, aber ich habe ihr das Angebot nicht geschickt. Vielleicht ist das eine verpasste Chance, und manchmal lassen wir dieses Feld leer. Wenn ich stattdessen Folgendes verwende, |
| |
Es werden einige zusätzliche Informationen angezeigt, sodass erkannt wird, dass ich eine Gewinnmatrix habe. Wenn ich mir nun die Kennzahlen ansehe, kann ich basierend auf diesem Gewinn Entscheidungen über mein bestes Modell treffen. |
| |
Ich lasse diese zusätzlichen Informationen also in die Entscheidungsfindung einfließen. Manchmal haben wir eine Gewinnmatrix, die wir direkt nutzen können, manchmal aber auch nicht. Und dies ist einer der Fälle, in denen ich sehe, dass das neuronal verstärkte Modell mir den besten Gesamtgewinn bescheren wird. |
| |
Dies ist also ein kleiner Vorgeschmack auf die Modellvorführung. Lassen Sie mich nun zu meinen Folien zurückkehren. |
| |
Und was haben wir hier gesehen? Nun, wir haben über prädiktive Modellierung gesprochen |
| |
und dass prädiktive Modellierung ein anderes Ziel verfolgt als erklärende Modellierung. Unser Ziel ist es, zukünftige Ergebnisse präzise vorherzusagen oder zu klassifizieren, also wollen wir zukünftige Beobachtungen bewerten. |
| |
Und wir werden typischerweise viele Modelle mithilfe der Validierung anpassen und vergleichen und das Modell oder die Modellkombination auswählen, die die beste Arbeit leistet und die genauesten Vorhersagen liefert. |
| |
Durch die Modellprüfung wird dieser Arbeitsablauf erheblich optimiert, sodass Sie viele verschiedene Modelle gleichzeitig mit einer Plattform ausstatten können. |
| |
Und ich habe wirklich nur die Standardeinstellung verwendet, sodass ich viel komplexere Modelle anpassen kann, als ich es tatsächlich getan habe. Es macht es wirklich einfach, die dominanten Modelle auszuwählen und die Modelldetails zu erkunden. Wir können neue Modelle anpassen |
| |
aus den Details. Diese Entscheidungsschwelle ermöglicht Ihnen, wenn Sie mit kategorialen Daten arbeiten, die Ermittlung von Grenzwerten für die Klassifizierung und integriert außerdem die Möglichkeit, eine Gewinnmatrix einzubeziehen. |
| |
Und für jedes ausgewählte Modell können wir das Modell im Formeldepot bereitstellen oder in der Datentabelle speichern. Also ein wirklich leistungsstarkes neues Tool. |
| |
Weitere Informationen: Die Klassifizierungsmetriken kannte ich, bevor ich den F1-Score und den Matthews-Korrelationskoeffizienten sah. Diese Statistiken waren relativ neu für mich. |
| |
Um Sensibilität und Spezifität zu verdeutlichen, enthält dieser Wikipedia-Beitrag einige wirklich sehr schöne Beispiele und eine wirklich nette Diskussion. |
| |
Es gibt auch einige wirklich nützliche Ressourcen für prädiktive Modellierung und Modell-Screening. In der JMP-Benutzer-Community gibt es einen neuen Pfad, „JMP lernen“, der Zugriff auf Videos bietet, |
| |
Videos zur Mastering-Serie „JMP“. Letztes Jahr gab es bei der JMP Discovery in Tucson einen wirklich netten Vortrag von Ruth Hummel und Mary Loveless zum Thema „Welches Modell wann?“. |
| |
Und hier wird gut über die verschiedenen Modellierungsziele gesprochen und darüber, wann Sie die einzelnen Modelle verwenden möchten. |
| |
Wenn Sie noch keine Erfahrung mit prädiktiver Modellierung haben, ist unser kostenloser Online-Kurs STIPS (Statistisches Denken zur Lösung industrieller Probleme, Modul 7) eine Einführung in die prädiktive Modellierung. |
| |
Ich kann das also empfehlen. Es gibt einen Blog zum Thema Modell-Screening, der die Diabetes-Daten verwendet, auf die ich hinweisen werde. Außerdem möchte ich darauf hinweisen, dass es eine zweite Ausgabe dieses Buches gibt: „Building Better Models with JMP Pro“. |
| |
das erscheint in den nächsten Monaten. Sie haben noch kein neues Cover, aber sie werden … sie werden ein Model-Screening in das Buch aufnehmen. |
| |
So, das ist alles, was ich zu sagen habe. Kommentieren Sie diesen Beitrag gerne und stellen Sie Fragen. Ich wünsche Ihnen viel Spaß bei der restlichen Konferenz. Vielen Dank. |