Lautsprecher
|
Transkript
|
| Mia Stephens |
Model-Screening. |
| |
Wenn Sie mit prädiktiver Modellierung arbeiten, werden Sie feststellen, dass Ihnen das Modellscreening dabei hilft, Ihren prädiktiven Modellierungs-Workflow zu optimieren. |
| |
In diesem Vortrag werde ich einen Überblick über die Vorhersagemodellierung geben und über die verschiedenen Arten von Vorhersagemodellen sprechen, die wir in JMP verwenden können. |
| |
Wir werden über den Arbeitsablauf für die prädiktive Modellierung im Rahmen des umfassenderen Analyse-Arbeitsablaufs sprechen und sehen, wie uns das Modell-Screening dabei helfen kann, diesen Arbeitsablauf zu optimieren. |
| |
Ich werde über einige Metriken zum Vergleich konkurrierender Modelle mithilfe von Validierungsdaten sprechen und wir werden einige Beispiele in JMP Pro sehen. |
| |
Lassen Sie uns zunächst ein wenig über prädiktive Modellierung und darüber sprechen, was prädiktive Modellierung ist. |
| |
Sie waren wahrscheinlich schon mit der Regressionsanalyse vertraut, und Regression ist ein Beispiel für erklärende Modellierung. Und bei der Regression sind wir normalerweise daran interessiert, ein Modell zu erstellen |
| |
für eine Antwort oder Y als Funktion eines oder mehrerer Xs, und wir könnten unterschiedliche Modellierungsziele haben. Es könnte für uns von Interesse sein, wichtige Variablen zu identifizieren. Was sind also die Schlüssel-Xs oder Schlüsseleingabevariablen? |
| |
Zum Beispiel in einer Problemlösungsumgebung, auf die wir uns konzentrieren könnten, um das Problem anzugehen? |
| |
Es könnte für uns von Interesse 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. Das ist also die klassische erklärende Modellierung, und wenn Sie sich in der Schule mit Statistik beschäftigt haben, lernen Sie wahrscheinlich auf diese Weise etwas über Regression. |
| |
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 und genau wie möglich vorherzusagen. |
| |
Und wenn unsere Antwort kategorisch ist, dann sind wir an einer Klassifizierung interessiert. Und wieder geht es uns darum, anhand aktueller Daten vorherzusagen, was auf individueller Ebene in Zukunft passieren wird. |
| |
Und wir könnten viele verschiedene Modelle anpassen und vergleichen, und bei der Vorhersagemodellierung könnten wir auch einige fortgeschrittenere Modelle verwenden. Wir könnten einige Techniken des maschinellen Lernens wie neuronale Netze 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 einstellen können. Infolgedessen kann es bei der prädiktiven Modellierung zu Problemen mit der Überanpassung kommen. |
| |
Überanpassung bedeutet, dass wir ein Modell anpassen, das komplexer ist, als es sein muss. |
| |
Daher verwenden wir bei der Vorhersagemodellierung im Allgemeinen die Validierung und es gibt verschiedene Formen der Validierung, die wir verwenden können. |
| |
Wir nutzen die Validierung für den Modellvergleich und die Modellauswahl, und grundsätzlich schützt sie vor Überanpassung, aber auch Unteranpassung. |
| |
Und von Unteranpassung spricht man, wenn wir ein Modell anpassen, das nicht so komplex ist, wie es sein müsste. Es erfasst nicht wirklich die Struktur in unseren Daten. |
| |
Nun habe ich im Anhang am Ende der Folien einige Folien zusammengestellt, die veranschaulichen, warum Validierung wichtig ist, aber für den Schwerpunkt dieses Vortrags werde ich einfach die Validierung verwenden, wenn ich Vorhersagemodelle anpasse. |
| |
Es gibt viele verschiedene Arten von Modellen, die wir in JMP Pro integrieren können, und dies ist keineswegs eine erschöpfende 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, ein logistisches Regressionsmodell, können wir aber auch verallgemeinerte lineare Modelle anpassen und Regressionsmethoden bestrafen, und diese stammen alle von der Anpassungsmodellplattform. |
| |
Es gibt viele Optionen unter der prädiktiven Modellierungsplattform, also neuronale Netze, neuronale Netze mit Boosting und eine unterschiedliche Anzahl von Schichten und Knoten. |
| |
Klassifizierungs- und Regressionsbäume sowie fortgeschrittenere baumbasierte Methoden und verschiedene andere Techniken. |
| |
Und es gibt auch ein paar prädiktive Modellierungsoptionen aus der multivariaten Methodenplattform, also die diskriminierende Analyse |
| |
und partielle kleinste Quadrate sind zwei verschiedene Arten von Modellen, die wir für die Vorhersagemodellierung verwenden können. Und übrigens ist auch die Methode der partiellen kleinsten Quadrate im Fit-Modell verfügbar. |
| |
Und warum haben wir so viele Modelle? |
| |
Bei der prädiktiven Modellierung werden Sie oft feststellen, dass niemand modelliert |
| |
oder Modellierungstyp funktioniert immer am besten. In bestimmten Situationen könnte ein neuronales Netzwerk am besten geeignet sein, und neuronale Netzwerke sind im Allgemeinen ziemlich ... ziemlich leistungsstark. |
| |
In anderen Fällen stellen Sie jedoch möglicherweise fest, dass ein einfacheres Modell tatsächlich die beste Leistung erbringt. Daher hängt der Modelltyp, der am besten zu Ihren Daten passt und die genauesten Vorhersagen liefert, weitgehend von Ihrer Antwort, aber auch von der Struktur Ihrer Daten ab. |
| |
Daher können Sie mehrere unterschiedliche Modelltypen anpassen und diese Modelle vergleichen, bevor Sie das Modell finden, das am genauesten passt oder die genauesten Vorhersagen macht. |
| |
Innerhalb des umfassenderen Analyse-Workflows, bei dem Sie mit einem Problem beginnen, das Sie lösen möchten, und Daten zusammenstellen, die Daten vorbereiten und die Daten untersuchen, |
| |
Die prädiktive Modellierung ist in der Analyse und Erstellung von Modellen nicht mehr verfügbar. Und der typische Workflow für die prädiktive Modellierung könnte etwa so aussehen, dass Sie ein Modell mit Validierung anpassen. |
| |
Anschließend speichern Sie diese Formel in einer Datentabelle oder veröffentlichen sie im Formeldepot. |
| |
Und dann montieren Sie ein anderes Modell und wiederholen dies, sodass Sie möglicherweise mehrere verschiedene Modelle montieren |
| |
und vergleichen Sie dann diese Modelle. Und in JMP Pro können Sie dazu die Modellvergleichsplattform nutzen, die Leistung der Modelle anhand der Validierungsdaten vergleichen, dann das beste Modell oder die besten Kombinationsmodelle auswählen und dann das Modell bereitstellen. |
| |
Und der Unterschied beim Model-Screening besteht darin, dass die gesamte Modellanpassung und der Modellvergleich, diese Auswahl innerhalb einer Plattform, der Model-Screening-Plattform, erfolgt. |
| |
Wir verwenden also ein Beispiel, das Ihnen vielleicht bekannt ist, und es gibt einen Blog über Model-Screening unter Verwendung dieser Daten, der in der Community veröffentlicht wird, und das sind die Diabetes-Daten. |
| |
Das Szenario sieht also so aus, dass Forscher die Geschwindigkeit des Fortschreitens der Krankheit ein Jahr nach Studienbeginn vorhersagen wollen. |
| |
Es gibt also mehrere Basismessungen und dann gibt es zwei verschiedene Arten von Antworten. |
| |
Die Reaktion Y ist das quantitative Maß, ein kontinuierliches Maß, also die Rate des Fortschreitens der Krankheit, und dann gibt es eine zweite Reaktion, Y Binär, die hoch oder niedrig ist. |
| |
Y-Binär kann also eine hohe Progressionsrate oder eine niedrige Progressionsrate darstellen. |
| |
Und das Ziel der prädiktiven Modellierung besteht hier darin, Patienten vorherzusagen, bei denen die Krankheitsprogression am wahrscheinlichsten ist, damit Korrekturmaßnahmen ergriffen werden können |
| |
um dies zu verhindern. Also werden wir uns die Anpassung von Modellen in JMP Pro für beide Antworten ansehen und sehen, wie man dieselben Modelle mithilfe des Modell-Screenings anpasst. |
| |
Und bevor ich zu JMP gehe, möchte ich nur ein wenig darüber sprechen, wie wir Vorhersagemodelle vergleichen. |
| |
Wir vergleichen Vorhersagemodelle auf dem Validierungssatz oder Testsatz. Im Grunde genommen passen wir also ein Modell an eine Teilmenge unserer Daten an, die wir unsere Trainingsdaten nennen. |
| |
Und dann passen wir dieses Modell an die zurückgehaltenen Daten an (normalerweise nennen wir diese Validierungsdaten), um zu sehen, wie gut das Modell funktioniert. |
| |
Und wenn wir kontinuierliche Antworten haben, können wir Fehlermaße verwenden, also Root Means Square Error (RMSE) oder RASE, was der durchschnittliche quadratische Routenfehler ist, also das Maß für den Vorhersagefehler. |
| |
AAE, MAD, MAE, das 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, eine ROC-Kurve, einen Blick auf die AUC (Fläche unter der Kurve) oder die Sensitivität oder Spezifität sowie die Falsch-Positiv- und Falsch-Negativ-Rate zu betrachten. |
| |
der F1-Score und MCC, der Matthews-Korrelationskoeffizient. |
| |
Lassen Sie mich also auf JMP umsteigen. |
| |
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 gibt ... es liegen Informationen zu 442 Patienten vor, und auch hier haben wir eine Reaktion Y, die kontinuierlich ist und das Ausmaß des Krankheitsverlaufs nach einem Jahr angibt. Und wir beginnen mit Y, aber dann haben wir auch die zweite Variable, Y Binary. |
| |
Wir haben grundlegende Informationen. |
| |
Und es gibt eine Spaltenvalidierung. Also nochmal Validierung: Wenn wir Modelle anpassen, passen wir die Modelle nur mithilfe der Trainingsdaten an und verwenden die Validierungsdaten, um uns mitzuteilen, wann wir mit der Erweiterung des Modells aufhören müssen, und um uns Messungen darüber zu geben, wie gut das Modell ist Modell passt tatsächlich. |
| |
Um diese Spalte zu erstellen, gibt es unter der Vorhersagemodellierung ein Dienstprogramm namens Modellvalidierungsspalte. |
| |
Und das gibt uns viele Möglichkeiten zum Aufbau einer Validierungsspalte, sodass wir Ihre Daten in Trainingsvalidierung und einen Testsatz unterteilen können. |
| |
Und wenn wir in den meisten Fällen diese Art der Aufteilung unserer Daten in Teilmengen verwenden, |
| |
Es wird empfohlen, einen Testsatz zu haben. Mit einem Testsatz können Sie die Modellleistung anhand von Daten bewerten, die nicht zum Erstellen der Modelle oder zum Stoppen des Modellwachstums verwendet wurden. Daher würde ich dies empfehlen, auch wenn wir hierfür keinen Testsatz haben Fall. |
| |
Nehmen wir also an, ich möchte ... ich möchte ein Modell finden, das die Reaktion am genauesten vorhersagt. Wie Sie gesehen haben, gibt es viele verschiedene Modelle zur Auswahl. |
| |
Ich beginne mit dem passenden Modell. |
| |
Und das ist normalerweise ein guter Ausgangspunkt. |
| |
Deshalb werde ich ein Regressionsmodell mit Y als Antwort und den X als Modelleffekten erstellen und an dieser Stelle nur die Haupteffekte einbeziehen. Und ich werde eine Validierungsspalte hinzufügen. |
| |
Bei der Modellanpassung 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 Modell der kleinsten Quadrate anwenden. |
| |
Hier gibt es ein paar Dinge, auf die ich hinweisen sollte. Beachten Sie hier die Markierung, V. |
| |
Denken Sie daran, dass wir unser Modell an die Trainingsdaten anpassen, aber wir möchten auch sehen, wie gut das Modell mit den Validierungsdaten abschneidet, daher sind alle diese Marker mit einem V Beobachtungen im Validierungssatz. |
| |
Da wir über eine Validierung verfügen, gibt es hier einen Abschnitt zur Kreuzvalidierung, sodass wir uns das R-Quadrat des Trainingssatzes und auch des Validierungssatzes und dann RASE ansehen können. |
| |
Und oft werden Sie feststellen, dass die Validierungsstatistiken etwas schlechter sind als die Trainingsstatistiken, und je weiter sie entfernt sind, desto besser ist der Hinweis darauf, dass Ihr Modell über- oder unterpasst. |
| |
Ich möchte hier auf eine weitere Sache hinweisen, die wirklich den Rahmen dieses Vortrags sprengen würde, und das ist dieser Vorhersageprofiler. |
| |
Und der Vorhersageprofiler |
| |
ist tatsächlich einer der Gründe, warum ich angefangen habe, JMP zu verwenden. Es ist eine wirklich wirkungsvolle Möglichkeit, Ihr Modell zu verstehen. |
| |
Und so kann ich die Werte jedes X ändern und sehen, was mit der vorhergesagten Reaktion passiert, und das ist der Durchschnitt, also mit |
| |
Bei diesen Modellen prognostizieren wir den Durchschnitt. Aber beachten Sie, wie sich diese Banden für Gesamtcholesterin und LDL, HDL, richtig auffächern. Und das liegt daran, dass wir in diesen Regionen keine Daten haben. |
| |
Die neue Funktion, auf die ich ganz kurz hinweisen möchte und die den Rahmen dieses Vortrags sprengen würde, ist die sogenannte Extrapolationskontrolle. Und wenn ich eine Warnung einschalte und ziehe |
| |
Gesamtcholesterin, beachten Sie, dass es mir sagt, dass es eine mögliche Extrapolation gibt. Das sagt mir, dass ich versuche, in einer Region vorherzusagen, in der ich wirklich keine Daten habe, und wenn ich mich umdrehe |
| |
Beachten Sie, dass bei aktivierter Extrapolationssteuerung dieser Balken, diese Linie, abgeschnitten wird, was im Grunde bedeutet, dass Sie in diesem Bereich keine Vorhersagen treffen können. Es ist also etwas, das Sie vielleicht ausprobieren sollten, wenn Sie Models anprobieren. Es ist ein wirklich mächtiges Werkzeug. |
| |
Nehmen wir also an, dass ich die gesamte Diagnosearbeit erledigt habe. 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. So können Sie es hier im Hintergrund sehen. Und wenn ich dieser Datentabelle dann neue Werte hinzufüge, wird die Antwort automatisch vorhergesagt. |
| |
Aber vielleicht möchte ich das Modell in einer anderen Form speichern, also könnte ich es veröffentlichen |
| |
diese Formel an das Formeldepot aus. Und das Formeldepot ist eigentlich unabhängig von meiner Datentabelle, aber dadurch kann ich das Skript kopieren und in eine andere Datentabelle mit neuen Daten einfügen, um neue Daten zu bewerten. |
| |
Oder ich möchte möglicherweise Code in einer anderen Sprache generieren, damit ich ihn in einer Art Produktionssystem bereitstellen kann. |
| |
Ich werde weitermachen und das schließen. Dies ist nur ein Modell. Ist es nun möglich, dass die Leistung besser wird, wenn ich ein komplizierteres oder anspruchsvolleres Modell einbaue? |
| |
Also könnte ich ein anderes Modell einbauen. So könnte ich zum Beispiel ... Ich werde einfach auf „Rückruf“ klicken. Ich könnte die Persönlichkeit von der Standardmethode der kleinsten Quadrate ändern, um die Regression zu verallgemeinern. |
| |
Dadurch kann ich unterschiedliche Antwortverteilungen festlegen. Und ich bleibe einfach bei Normal und klicke auf „Ausführen“. |
| |
Dadurch kann ich verschiedene bestrafte Methoden anpassen und auch verschiedene Techniken zur Variablenauswahl anwenden. Und wenn Sie sich die generalisierte Regression noch nicht angesehen haben, |
| |
Es ist eine superleistungsfähige und superflexible moderne Modellierungsplattform. Ich klicke einfach auf Los. Und nehmen wir an, dass ich zu diesem Modell passe |
| |
und ich möchte dieses Modell mit dem bereits gespeicherten Modell vergleichen können. Daher speichere ich die Vorhersageformel möglicherweise in der Datentabelle. Jetzt habe ich also eine weitere Spalte im Hintergrund in der Datentabelle. |
| |
Oder ich möchte das vielleicht noch einmal veröffentlichen |
| |
Zu |
| |
das Formeldetail, also habe ich hier jetzt zwei verschiedene Modelle. Und ich kann weitermachen. Dies ist also nur ein Modell der generalisierten Regression. Ich kann auch verschiedene Arten von anpassen |
| |
Vorhersagemodelle aus dem Vorhersagemodellierungsmenü, also zum Beispiel neuronale Netze oder Partitions- oder Bootstrap-Forest oder Boosted Trees. |
| |
Normalerweise müsste ich nun alle diese Modelle anpassen, die Ergebnisse entweder in der Datentabelle oder im Formeldepot speichern und, wenn ich sie speichere, dort speichern |
| |
Anhand 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 eigentlich füge ich die Validierung hier gerne in das Feld „Nach“ ein. |
| |
Dadurch erhalte ich meine Anpassungsstatistiken sowohl für den Trainingssatz als auch für den Validierungssatz, und ich werde mir nur die Statistiken für den Validierungsschritt ansehen. Daher würde ich dies als Hilfe bei der Auswahl des Modells mit der besten Leistung nutzen. |
| |
Und was mich interessiert, ist ein höherer Wert von R-Quadrat, ein niedrigerer Wert von RASE (der quadratische Durchschnittsfehler) und ein niedrigerer durchschnittlicher absoluter Fehler. Und zwischen diesen beiden Modellen scheint dieses Regressionsmodell der kleinsten Quadrate das beste zu sein. |
| |
Wenn ich nun alle möglichen Modelle einbauen würde, kann das ... das kann ziemlich zeitaufwändig sein. Anstatt dies zu tun, gibt es in JMP Pro 16 eine neue Plattform namens Model Screening. |
| |
Und wenn ich das Model-Screening starte, wird oben ein Dialog angezeigt, genau wie wir gesehen haben, also werde ich fortfahren und diesen füllen. |
| |
Und ich füge eine Validierung hinzu, aber nebenbei sehen Sie, dass ich mehrere verschiedene Modelle auswählen und diese verschiedenen Modelle 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. Daher ist eine meiner Optionen eine kontinuierliche logistische Regression. Es wird kein logistisches Regressionsmodell ausgeführt |
| |
mit einer kontinuierlichen Reaktion. Beachten Sie, dass ich hier unten auch diese Option habe, XGBoost. |
| |
Und der Grund dafür ist, dass es ein Add-In gibt, das tatsächlich 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. Wenn Sie dieses Add-In installieren, wird es jedoch automatisch im Modellüberprüfungsdialog angezeigt. |
| |
Also klicke ich einfach auf „OK“, und wenn ich auf „OK“ klicke, wird jede dieser Plattformen gestartet. |
| |
Und dann werden alle Ergebnisse in einem Fenster angezeigt. Also habe ich auf „Okay“ geklickt. Ich habe hier nicht viele Daten, daher ist es sehr schnell. |
| |
Und unter den Details finden Sie alle einzelnen Modelle, die gepasst haben. Und 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. |
| |
Deshalb werde ich die Details verheimlichen. Standardmäßig werden Statistiken für die Trainingsdaten gemeldet, mir werden jedoch 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 am besten ist. |
| |
Aber ich habe hier unten ein paar kleine Verknüpfungsoptionen. 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, klicke ich auf „Dominant auswählen“. . |
| |
Und in diesem Fall wurde „Neural Boosted“ ausgewählt, sodass bei all diesen Modellen das beste Modell „Neural Boosted“ ist. Und wenn ich mir dieses Modell genauer ansehen möchte, kann ich mir die Details entweder hier oben unter Neural ansehen |
| |
oder ich kann einfach sagen: „Ausgewählt ausführen“. |
| |
Ich habe nicht darüber gesprochen, aber im Dialogfenster gibt es die Möglichkeit, einen zufälligen Startwert festzulegen. |
| |
Und wenn ich diesen zufälligen Startwert festlege, sind die hier angezeigten Ergebnisse identisch mit denen, die ich hier sehe. Das ist also ein...das ist ein |
| |
neuronales Modell mit drei Knoten, das die TanH-Funktion verwendet, aber auch Boosting verwendet. Daher führten die Entwickler beim Entwurf dieser Plattform zahlreiche Simulationen durch, um den besten Ausgangspunkt und die besten Standardeinstellungen für die verschiedenen Modelle zu ermitteln. |
| |
Daher ist die neuronale Verstärkung 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 gilt also für eine kontinuierliche Reaktion und es gibt einige andere Optionen unter dem roten Dreieck. Was passiert, wenn ich eine kategorische Antwort habe? Für eine kategorische Antwort kann ich dieselbe Plattform verwenden. Also werde ich noch einmal zum Model-Screening gehen. |
| |
Ich klicke auf „Rückrufen“, verwende aber statt „Y“ „Y Binary“. |
| |
Und ich werde keine der Standardmethoden ändern. Ich werde einen zufälligen Startwert eingeben, also zum Beispiel 12345, ich nehme nur eine Zufallszahl. |
| |
Und das wird mir Wiederholbarkeit geben. Wenn ich also ein Modell in der Datentabelle oder im Formeldepot speichere, |
| |
Die Statistiken werden im Modell gleich sein, die Anpassung wird gleich sein. Ein paar andere Optionen hier. Möglicherweise möchten wir einige Dinge wie die Berichte deaktivieren. |
| |
Möglicherweise möchten wir eine andere Kreuzvalidierungsmethode verwenden, daher umfasst diese Plattform eine K-Falt-Validierung, verwendet aber auch eine verschachtelte K-Falt-Kreuzvalidierung. |
| |
Und das können wir wiederholen. Also wirklich schön. Manchmal ist die Aufteilung unserer Daten in Trainingsvalidierung und -test nicht die beste Lösung |
| |
kann tatsächlich noch ein bisschen besser sein. Und unten gibt es einige zusätzliche Optionen. Daher möchten wir möglicherweise Zwei-Wege-Interaktionen hinzufügen. Vielleicht möchten wir quadratische Effekte hinzufügen. |
| |
Unter zusätzlichen Methoden passt dies zu weiteren verallgemeinerten Regressionsmethoden. Also mache ich einfach weiter und klicke auf „OK“. |
| |
OK. Es führt alle Modelle aus und auch hier handelt es sich um einen kleinen Datensatz. Es geht sehr schnell. |
| |
Richtig, das Erscheinungsbild ist gleich, aber die Statistiken sind jetzt anders. Ich habe also die Fehlklassifizierungsrate. Ich habe eine Fläche unter der Kurve. Ich habe auch einige R-Quadrat-Maße und dann den quadratischen Durchschnittsfehler. |
| |
Ich werde auf „Dominant auswählen“ klicken, und auch hier ist die dominante Methode neuronal verstärkt. |
| |
Was wäre nun, wenn ich einige dieser verschiedenen Modelle erkunden möchte? Die Fehlklassifizierung ist hier also deutlich geringer als bei der schrittweisen Klassifizierung. |
| |
Die AUC ist ziemlich ähnlich, sie ist insgesamt die niedrigste, aber vielleicht nicht viel besser. Und lassen Sie mich ein paar davon ergattern. Wenn ich also auf ein paar davon klicke, wähle ich vielleicht... vielleicht wähle ich 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, die es mir ermöglichen, Modelle auszuschalten und mich auf bestimmte Modelle zu konzentrieren. |
| |
Und eine neue Funktion, die mich wirklich begeistert, ist die sogenannte Entscheidungsschwelle. |
| |
Und was uns die Entscheidungsschwelle erlaubt, zu betrachten, |
| |
Und es beginnt mit der Betrachtung der Trainingsdaten, damit wir einen Schnappschuss unserer Daten erhalten. |
| |
Und die Fehlklassifizierungsrate basiert auf einem Grenzwert von 0,5 für die Klassifizierung. Für jedes Modell werden mir also die Punkte angezeigt, die tatsächlich hoch und niedrig waren. Und wenn wir uns auf das Hoch konzentrieren, wurden die grünen Punkte korrekt als hoch eingestuft. |
| |
Und diejenigen im roten Bereich wurden falsch klassifiziert, daher werden uns korrekte und falsche Klassifizierungen angezeigt, und dann werden hier nebenbei alle Statistiken gemeldet |
| |
Und unten sehen wir mehrere verschiedene Metriken sowie viele Grafiken, die es uns ermöglichen, falsche und auch echte Klassifizierungen zu betrachten. |
| |
Ich werde dies schließen und mir das ansehen |
| |
Validierungsdaten. |
| |
Warum ist das also nützlich? Nun, vielleicht haben Sie ein bestimmtes Szenario, in dem Sie an einer Maximierung der Empfindlichkeit interessiert sind |
| |
unter Beibehaltung einer gewissen Spezifität. Und Sensibilität ... und hier gibt es einige Definitionen. Die Sensitivität ist die wahre positive Rate; |
| |
Spezifität ist die wahre Negativrate. Dies ist ein ... dies ist ein Szenario, in dem wir den Krankheitsverlauf untersuchen wollen, also möchten wir sicherstellen, dass wir ... eine hohe Sensitivitätsrate aufrechterhalten |
| |
und stellen gleichzeitig sicher, dass unsere Spezifität hoch ist, in Ordnung. Was wir also damit machen können, ist, dass es hier einen Schieberegler gibt, und wir können diesen Schieberegler nehmen, |
| |
und wir können sehen, wie sich die Klassifizierungen ändern, wenn wir den Grenzwert für die Klassifizierung ändern. |
| |
Ich denke also, dass dies ein wirklich leistungsstarkes Tool ist, wenn man sich konkurrierende Modelle ansieht, denn es gibt vielleicht einige Modelle, deren Gesamtwert mit einem Grenzwert von 0,5 die beste Fehlklassifizierungsrate aufweist. |
| |
Möglicherweise gibt es aber auch Szenarien, in denen unterschiedliche Modelle eine unterschiedliche Leistung erbringen, wenn Sie den Klassifizierungsgrenzwert ändern. Wenn ich mich beispielsweise in einer bestimmten Region befinde, könnte es sein, dass das schrittweise Modell tatsächlich besser ist. |
| |
Um dies weiter zu veranschaulichen, möchte ich ein anderes Beispiel eröffnen. |
| |
Und dieses Beispiel nennt man Kreditkartenmarketing. |
| |
Und wenn ich zu meinen Folien zurückkehre, nur um dieses Szenario vorzustellen. |
| |
Dies ist ein Szenario, in dem |
| |
Wir verfügen über zahlreiche Daten aus Marktforschung zur Akzeptanz von Kreditkartenangeboten. |
| |
Die Antwort lautet: Wurde das Angebot angenommen? Und das ist ein Szenario, in dem nur 5,5 % der Angebote in der Studie tatsächlich angenommen wurden. |
| |
Da es Faktoren gibt, die uns interessieren, werden verschiedene Arten von Belohnungen angeboten. |
| |
und es gibt verschiedene Mailer-Typen. Es handelt sich also tatsächlich um ein geplantes Experiment. Wir werden diesen Teil ... diesen Aspekt dieser Studie irgendwie, wirklich, irgendwie ignorieren. |
| |
Und es gibt auch Finanzinformationen, also bleiben wir dabei ... in diesem Beispiel bleiben wir 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, senden wir in diesem Szenario Angebote möglicherweise nur an die Untergruppe, die das Angebot mit größerer Wahrscheinlichkeit annimmt, und ignorieren den Rest. Das ist also das Szenario hier. |
| |
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 über Flugmeilen, Versandart, Einkommensniveau, Bonität und einige andere Finanzinformationen verfüge. |
| |
Es läuft ... Ich habe ein Speicherskript ausgeführt. Es werden alle Modelle durchlaufen. Und Neural wird in diesem Fall die meiste Zeit in Anspruch nehmen, da es einen verstärkten Neural ausführt. |
| |
Es wird noch ein paar Sekunden dauern. Es werden Support-Vektor-Maschinen ausgeführt. Bei Support-Vektor-Maschinen kommt es zu einer Zeitüberschreitung und sie werden tatsächlich nicht ausgeführt, wenn ich mehr als 10.000 Beobachtungen habe. |
| |
Ich werde es noch eine Sekunde warten lassen. Ich verwende die Validierung, daher verwende ich hierfür die Standardvalidierung, in der ich eine Validierungsspalte habe. Und in diesem Fall habe ich eine Spalte mit Nullen und Einsen und JMP erkennt die Nullen für die Trainingsdaten und die Einsen für die Validierungsdaten. |
| |
Okay. Los geht's. Okay, es ist also gelaufen, und wenn Sie es mit einer großen Datentabelle zu tun haben, gibt es einen ... gibt es einen Bericht, den Sie ausführen können |
| |
sich die verstrichenen Zeiten ansehen. Und für dieses Szenario benötigte die Support-Vektor-Maschine tatsächlich die längste Zeit, 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. Wenn ich also „Dominant“ auswähle, ist unser bestes Modell ein neuronaler Boost und ein Entscheidungsbaum, aber ich möchte hier auf etwas hinweisen. Beachten Sie die Fehlklassifizierungsrate. |
| |
Die Fehlklassifizierungsrate ist für alle Modelle identisch, mit Ausnahme von Support-Vektor-Maschinen. Und warum ist das so? Nun, wenn ich eine Verteilung des Angebots durchführe, nehme ich es an |
| |
(Lassen Sie mich das etwas größer machen, damit wir es sehen können) und konzentrieren Sie sich einfach auf die Validierungsdaten. Beachten Sie, dass 0,063 % unserer Beobachtungen „Ja“ waren. Genau das hat unser Modell vorhergesagt. |
| |
Und warum tut es das? |
| |
Ich werde noch einmal nach der Entscheidungsschwelle fragen. |
| |
Wenn wir uns hier auf dieses Diagramm konzentrieren, hat dieses Diagramm viele Verwendungsmöglichkeiten, und in diesem Fall zeigt es uns, dass unser Grenzwert für die Klassifizierung bei 0,5 liegt |
| |
Aber keine unserer angepassten Wahrscheinlichkeiten war auch nur annähernd so groß, richtig. Infolgedessen klassifizierte das Modell die Neins entweder korrekt als Neins |
| |
oder stufte die Jas als Neins ein. Es wurde nie etwas als „Ja“ eingestuft, da keine der Wahrscheinlichkeiten größer als 0,5 war. Wenn ich diesen Kerl also ausstrecke, |
| |
Richtig, ich kann den Unterschied zwischen diesen beiden Modellen erkennen. Damit lag die Höchstwahrscheinlichkeit für den neuronalen Boost bei etwa 0,25 und für den Entscheidungsbaum bei etwa 0,15. |
| |
Und beachten Sie, dass der Entscheidungsbaum im Grunde genommen eine Reihe binärer Teilungen durchführt und ich im Grunde mehrere Vorhersagewerte habe, während ein neuronaler Boost mir ein schönes Zufallsmuster in den Punkten zeigt. Lassen Sie mich dies also in etwa .12 ändern. |
| |
Richtig, und es wurde bei 0,12 abgeschnitten. Wenn ich das hier verschiebe, merke ich, dass ich, je tiefer ich komme, tatsächlich anfange (ich werde die Metriken hier einschalten) einige wirklich positive Ergebnisse zu bekommen. |
| |
Und ich fange an, einige Fehlalarme zu bekommen. Während ich das ziehe, können Sie es in der Leiste sehen, aber die Leiste ist ziemlich klein, richtig. Dank der neuronalen Verstärkung fange ich an, einige echte Positive und einige falsche Positive zu erkennen. |
| |
Und jetzt fängt man an, sie zu sehen. Sobald ich diese ersten Punkte hinter mir habe, sehe ich sie als Entscheidungsbaum. |
| |
Die Verwendung eines Grenzwerts von 0,5 macht für diese Daten also keinen Sinn, und ich könnte auch hier versuchen, einen Grenzwert zu finden, der mir die größte 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 das ist wirklich ein Maß dafür, wie gut wir in der Lage sind, die wirklich positiven Aspekte zu erfassen. |
| |
MCC ist der Matthews-Korrelationskoeffizient und ein gutes Maß dafür, wie gut er sich in jede der vier Möglichkeiten einordnen lässt. Also ich habe... |
| |
Ich kann falsch positiv, falsch negativ, wahr positiv, wahr negativ sein. |
| |
Und das habe ich nicht wirklich entsprechend den Kästchen hier gesagt, aber ich habe vier verschiedene Optionen. MCC ist ein Korrelationskoeffizient, der zwischen minus eins und plus eins liegt und misst, wie ich in jedem dieser vier Felder vorhersagen werde. |
| |
Deshalb möchte ich vielleicht einen Grenzwert untersuchen, der Ihnen den maximalen F1-Wert oder den maximalen MCC-Wert liefert. Nehmen wir an, ich ziehe diesen Weg nach unten. Beachten Sie es |
| |
Die Empfindlichkeit nimmt schnell zu und die Spezifität beginnt zu sinken, also liegt sie vielleicht bei etwa 0,5, richtig, ich erreiche einen Punkt, an dem ich anfange, in der Spezifität zu stark abzufallen. |
| |
Ich finde vielleicht einen Cut-off und unten gibt es diese Option zum Festlegen einer Gewinnmatrix. Wenn ich dies als meine Gewinnmatrix festlege, ermöglicht es mir im Grunde, mit diesem Grenzwert neue Daten zu bewerten. |
| |
Wenn ich das also hier einstelle und auf „Okay, richtig“ klicke, verwenden alle zukünftigen Vorhersagen, die ich mache, wenn ich dies in der Datentabelle oder im Formeldepot speichere, diesen Cutoff. |
| |
Und das 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 festzulegen, weiß ich vielleicht etwas über den Dollarwert, der mit meinen Klassifizierungen verbunden ist. Und wenn die tatsächliche Antwort vielleicht ein Nein ist, |
| |
Aber ich schicke ihnen ein Angebot, also gibt es ein Ja, ich denke, sie werden ja sein und ich schicke ihnen ein Angebot. Vielleicht kostet mich das 5 $, richtig, also habe ich dort einen negativen Wert. |
| |
Und vielleicht habe ich eine Vorstellung vom potenziellen Gewinn, also vielleicht beträgt der Gewinn ... der potenzielle Gewinn in diesem Zeitraum beträgt 100 US-Dollar, und vielleicht habe ich eine Chance verpasst. Vielleicht sage ich, wissen Sie, es ist -100, wenn |
| |
Die Person hätte tatsächlich geantwortet, aber ich habe ihr das Angebot nicht geschickt. Vielleicht ist dies also eine verpasste Gelegenheit und manchmal lassen wir dieses Feld leer. Wenn ich stattdessen dies verwende, |
| |
Ich habe einige zusätzliche Informationen, die angezeigt werden, sodass erkannt wird, dass ich eine Gewinnmatrix habe. Und wenn ich mir jetzt die Kennzahlen ansehe, kann ich auf der Grundlage dieses Gewinns Entscheidungen für mein bestes Modell treffen. |
| |
Deshalb bringe ich diese zusätzlichen Informationen in die Entscheidungsfindung ein, und manchmal haben wir eine Gewinnmatrix, die wir direkt nutzen können, manchmal aber auch nicht. Und dies ist einer dieser Fälle, in denen ich sehen kann, dass das neuronale Boosting-Modell mir insgesamt die besten Gewinne bescheren wird. |
| |
Dies ist also ein kleiner Vorgeschmack auf das Model-Screening und ich kehre zu meinen Folien zurück. |
| |
Und was haben wir hier gesehen? Nun, wir haben über prädiktive Modellierung gesprochen |
| |
und wie prädiktive Modellierung ein anderes Ziel hat als erklärende Modellierung. Unser Ziel hier ist es also, zukünftige Ergebnisse genau vorherzusagen oder zu klassifizieren, also möchten wir zukünftige Beobachtungen bewerten. |
| |
Und normalerweise werden wir viele Modelle mithilfe der Validierung anpassen und vergleichen und das Modell oder die Kombination von Modellen auswählen, das die beste Leistung erbringt und die genauesten Vorhersagen macht. |
| |
Das Modell-Screening rationalisiert diesen Arbeitsablauf erheblich, sodass Sie viele verschiedene Modelle gleichzeitig mit einer Plattform anpassen können. |
| |
Und ich habe mich wirklich nur für die Standardeinstellung entschieden, sodass ich viel anspruchsvollere Modelle unterbringen kann, als ich dort tatsächlich unterbringe. Es macht es wirklich einfach, die wichtigsten Modelle auszuwählen und die Modelldetails zu erkunden. Wir können neue Modelle einbauen |
| |
aus den Details. Dieser Entscheidungsschwellenwert ermöglicht Ihnen, wenn Sie mit kategorialen Daten arbeiten, die Erkundung von Grenzwerten für die Klassifizierung und integriert auch 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 neues Tool. |
| |
Für mehr Informationen. Die Klassifizierungsmetriken, das wusste ich, bevor ich den F1-Score und den Matthews-Korrelationskoeffizienten gesehen habe, diese Statistiken waren für mich relativ neu. |
| |
Um die Sensibilität und Spezifität zu verstehen, 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 die prädiktive Modellierung und das Modell-Screening. In der JMP-Benutzer-Community gibt es einen neuen Pfad, Learn JMP, der Zugriff auf Videos bietet, |
| |
Videos der JMP-Serie meistern. Letztes Jahr gab es auf der JMP Discovery in Tucson einen wirklich netten Vortrag von Ruth Hummel und Mary Loveless darüber, welches Modell wann. |
| |
Und das ist eine gute Möglichkeit, über verschiedene Modellierungsziele zu sprechen und darüber, wann Sie die einzelnen Modelle verwenden möchten. |
| |
Wenn Sie neu in der prädiktiven Modellierung sind, bietet Ihnen unser kostenloser Online-Kurs STIPS (Statistisches Denken zur industriellen Problemlösung, Modul 7) eine Einführung in die prädiktive Modellierung. |
| |
Daher würde ich das empfehlen. Es gibt einen Modell-Screening-Blog, der die Diabetes-Daten verwendet, auf die ich hinweisen werde, und ich möchte auch darauf hinweisen, dass es eine zweite Auflage dieses Buches gibt, „Building Better Models with JMP Pro“. |
| |
Das wird in den nächsten paar Monaten herauskommen. Sie haben noch kein neues Cover, aber sie werden ... sie werden eine Modelvorführung in das Buch aufnehmen. |
| |
Das ist also alles, was ich habe. Bitte zögern Sie nicht, Kommentare zu diesem Beitrag zu hinterlassen oder Fragen zu stellen. Ich hoffe, dass Ihnen der Rest der Konferenz gefällt. Danke schön. |