Lautsprecher
|
Transkript
|
| Mia Stephens |
Modell-Screening. |
| |
Wenn Sie mit Vorhersagemodellen arbeiten, werden Sie feststellen, dass Ihnen das Modell-Screening dabei hilft, Ihren Workflow für Vorhersagemodelle 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 Vorhersagemodellierungs-Workflow innerhalb des breiteren Analyse-Workflows sprechen und sehen, wie das Modell-Screening uns helfen kann, diesen Workflow zu optimieren. |
| |
Ich werde über einige Metriken zum Vergleichen konkurrierender Modelle mit Validierungsdaten sprechen und einige Beispiele in JMP Pro sehen. |
| |
Lassen Sie uns zunächst ein wenig über die prädiktive Modellierung und die prädiktive Modellierung sprechen. |
| |
Sie waren wahrscheinlich einer Regressionsanalyse ausgesetzt, und die Regression ist ein Beispiel für eine erklärende Modellierung. Und in 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 haben möglicherweise unterschiedliche Modellierungsziele. Wir könnten daran interessiert sein, wichtige Variablen zu identifizieren. Also, was sind die Schlüssel Xs oder Schlüsseleingabevariablen, |
| |
Zum Beispiel in einer Problemlösungsumgebung, 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 in Abhängigkeit von den 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. Wenn Sie in der Schule Statistiken erstellt haben, lernen Sie wahrscheinlich auf diese Weise etwas über Regression. |
| |
Im Gegensatz dazu hat die prädiktive Modellierung ein etwas anderes Ziel. Bei der prädiktiven Modellierung ist es unser Ziel, zukünftige Ergebnisse genau vorherzusagen oder zu klassifizieren. |
| |
Wenn unsere Antwort kontinuierlich ist, möchten wir in der Lage sein, die nächste Beobachtung, das nächste Ergebnis, so genau oder genau wie möglich vorherzusagen. |
| |
Und wenn unsere Antwort kategorisch ist, sind wir an einer Klassifizierung interessiert. Auch hier sind wir daran interessiert, anhand aktueller Daten vorherzusagen, was in Zukunft auf individueller Ebene 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. |
| |
Einige dieser Modelle sind möglicherweise nicht so einfach zu interpretieren, und viele von ihnen haben viele verschiedene Abstimmungsparameter, die wir einstellen können. Infolgedessen können wir bei der prädiktiven Modellierung ein Problem mit der Überanpassung haben. |
| |
Überanpassung bedeutet, dass wir ein Modell anpassen, das komplexer ist als es sein muss. |
| |
Bei der prädiktiven Modellierung verwenden wir im Allgemeinen die Validierung, und es gibt verschiedene Arten der Validierung, die wir verwenden können. |
| |
Wir verwenden die Validierung für den Modellvergleich und die Auswahl und sie schützt grundsätzlich vor Über-, aber auch Unteranpassung. |
| |
Und Unteranpassung ist, wenn wir ein Modell anpassen, das nicht so komplex ist, wie es sein muss. Es erfasst nicht wirklich die Struktur in unseren Daten. |
| |
Nun, im Anhang am Ende der Folien habe ich einige Folien gezogen, 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 einbauen 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, ein logistisches Regressionsmodell, aber wir können auch verallgemeinerte lineare Modelle anpassen und Regressionsmethoden bestrafen, und diese stammen alle von der Plattform für Anpassungsmodelle. |
| |
Es gibt viele Optionen unter der Vorhersagemodellierungsplattform, also neuronale Netze, neuronale Netze mit Boosting und unterschiedliche Anzahlen von Schichten und Knoten. |
| |
Klassifizierungs- und Regressionsbäume sowie fortgeschrittenere baumbasierte Methoden und verschiedene andere Techniken. |
| |
Darüber hinaus gibt es einige Optionen für die prädiktive Modellierung auf der Plattform für multivariate Methoden, mit denen Sie die Analyse unterscheiden können |
| |
und partielle kleinste Quadrate sind zwei verschiedene ... zwei zusätzliche Modelltypen, die wir für die prädiktive Modellierung verwenden können. Übrigens sind teilweise kleinste Quadrate auch vom Fit-Modell erhältlich. |
| |
Und warum haben wir so viele Modelle? |
| |
Bei der prädiktiven Modellierung werden Sie häufig feststellen, dass niemand modelliert |
| |
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 gute Leistungsträger. |
| |
In anderen Fällen stellen Sie jedoch möglicherweise fest, dass ein einfacheres Modell tatsächlich die beste Leistung erbringt. Daher basiert der Modelltyp, der am besten zu Ihren Daten passt und am genauesten vorhersagt, weitgehend auf Ihrer Antwort, aber auch auf der Struktur Ihrer Daten. |
| |
Sie können also mehrere verschiedene Modelltypen anpassen und diese Modelle vergleichen, bevor Sie das Modell finden, das am genauesten passt oder am genauesten vorhersagt. |
| |
Innerhalb des umfassenderen analytischen Workflows, in dem Sie mit einem Problem beginnen, das Sie lösen möchten, und Daten zusammenstellen, bereiten Sie die Daten vor und untersuchen die Daten. |
| |
Die prädiktive Modellierung ist bei der Analyse und Erstellung von Modellen nicht ausreichend. Und der typische Workflow für die prädiktive Modellierung sieht möglicherweise so aus, wenn Sie ein Modell mit Validierung anpassen. |
| |
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 einsetzen können |
| |
und vergleichen Sie dann diese Modelle. In JMP Pro können Sie dazu die Modellvergleichsplattform verwenden und die Leistung der Modelle anhand der Validierungsdaten vergleichen. Anschließend wählen Sie das beste Modell oder die besten Kombinationsmodelle aus und stellen das Modell bereit. |
| |
Und was beim Modell-Screening anders ist, ist, dass die gesamte Modellanpassung und der Vergleich, diese Auswahl innerhalb einer Plattform, der Modell-Screening-Plattform, erfolgt. |
| |
Wir werden also ein Beispiel verwenden, mit dem Sie vielleicht vertraut sind, und es gibt einen Blog zum Modell-Screening mit diesen Daten, die in der Community veröffentlicht wurden, und dies sind die Diabetes-Daten. |
| |
Das Szenario ist also, dass Forscher die Geschwindigkeit des Fortschreitens der Krankheit ein Jahr nach Studienbeginn vorhersagen möchten. |
| |
Es gibt also mehrere Basislinienmessungen und dann zwei verschiedene Arten von Antworten. |
| |
Die Antwort Y ist das quantitative Maß, ein kontinuierliches Maß. Dies ist also die Geschwindigkeit des Fortschreitens der Krankheit, und dann gibt es eine zweite Antwort, Y Binary, die hoch oder niedrig ist. |
| |
Y Binary kann also eine hohe hohe Progressionsrate oder eine niedrige Progressionsrate darstellen. |
| |
Das Ziel der prädiktiven Modellierung besteht darin, Patienten vorherzusagen, bei denen die Wahrscheinlichkeit eines hohen Fortschreitens der Erkrankung am wahrscheinlichsten ist, damit die Korrekturmaßnahmen ergriffen werden können |
| |
um dies zu verhindern. Also werden wir ... wir werden uns die passenden Modelle in JMP Pro für diese beiden Antworten ansehen und sehen, wie dieselben Modelle mithilfe des Modell-Screenings angepasst werden. |
| |
Und bevor ich zu JMP gehe, möchte ich nur ein wenig darüber sprechen, wie wir Vorhersagemodelle vergleichen. |
| |
Wir vergleichen Vorhersagemodelle für den Validierungssatz oder den Testsatz. Im Grunde genommen passen wir ein Modell an eine Teilmenge unserer Daten an, die als Trainingsdaten bezeichnet wird. |
| |
Und dann passen wir dieses Modell an Daten an, die gehalten wurden (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 bedeutet Wurzel quadratischen Fehler (RMSE) oder RASE, was der durchschnittliche Quadratfehler der Route ist. Dies ist also das Maß für den Vorhersagefehler. |
| |
AAE, MAD, MAE, dies 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 Fehlern oder Fehlklassifizierungen interessiert. |
| |
Wir könnten auch daran interessiert sein, eine ROC-Kurve, eine AUC (Fläche unter der Kurve) oder eine Empfindlichkeit oder Spezifität, falsch positive, falsch negative Rate zu betrachten. |
| |
der F1-Score und MCC, der Matthews-Korrelationskoeffizient ist. |
| |
Lassen Sie mich also zu JMP wechseln. |
| |
Verstauen Sie das und ich werde die Diabetesdaten öffnen. |
| |
Und lassen Sie mich das groß machen, damit Sie es sehen können. |
| |
Das sind also die Daten. Es gibt ... es gibt Informationen über 442 Patienten, und wieder haben wir eine Antwort Y, die kontinuierlich ist und dies ist das Ausmaß des Fortschreitens der Krankheit nach einem Jahr. Und wir werden uns zuerst Y ansehen, aber dann haben wir auch die zweite Variable, Y Binary. |
| |
Wir haben Basisinformationen. |
| |
Und es gibt eine Spaltenvalidierung. Wenn wir also Modelle anpassen, passen wir die Modelle nur anhand der Trainingsdaten an und verwenden die Validierungsdaten, um uns mitzuteilen, wann das Modell nicht mehr wachsen soll, und um zu messen, wie gut das Modell ist Modell passt tatsächlich. |
| |
Um diese Spalte zu erstellen, gibt es ein Dienstprogramm unter Vorhersagemodellierung, das als Modellvalidierungsspalte bezeichnet wird. |
| |
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 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 hier 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, stehen viele verschiedene Modelle zur Auswahl. |
| |
Ich werde mit fit Modell beginnen. |
| |
Und dies ist normalerweise ein guter Ausgangspunkt. |
| |
Also werde ich ein Regressionsmodell mit Y als Antwort erstellen, die Xs als Modelleffekte, und ich werde an dieser Stelle nur die Haupteffekte einfügen. Und ich werde eine Validierungsspalte hinzufügen. |
| |
Ab dem Anpassungsmodell werden hier standardmäßig die kleinsten Standardquadrate verwendet, aber es gibt viele verschiedene Modelltypen, die wir anpassen können. |
| |
Ich werde einfach das Modell der kleinsten Quadrate ausführen. |
| |
Ein paar Dinge, auf die hier hingewiesen werden muss. 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 mit den Validierungsdaten abschneidet, sodass alle diese Marker mit einem V Beobachtungen im Validierungssatz sind. |
| |
Da wir eine Validierung haben, gibt es hier einen Kreuzvalidierungsabschnitt, sodass wir das R-Quadrat auf dem Trainingssatz und auch auf dem Validierungssatz und dann auf RASE betrachten können. |
| |
Und oft werden Sie feststellen, dass die Validierungsstatistik etwas schlechter ist als die Trainingsstatistik. Je weiter sie entfernt ist, desto besser ist der Hinweis darauf, dass Ihr Modell über- oder unterangepasst ist. |
| |
Ich möchte hier auf eine andere Sache hinweisen, die wirklich den Rahmen dieses Vortrags sprengt, und das ist dieser Vorhersageprofiler. |
| |
Und der Vorhersageprofiler |
| |
ist eigentlich einer der Gründe, warum ich JMP zum ersten Mal verwendet habe. Es ist eine wirklich mächtige Art, Ihr Modell zu verstehen. |
| |
Und so kann ich die Werte jedes X ändern und sehen, was mit der vorhergesagten Antwort passiert, und dies ist der Durchschnitt, also mit |
| |
Mit diesen Modellen prognostizieren wir den Durchschnitt. Beachten Sie jedoch, wie diese Bänder für Gesamtcholesterin und LDL, HDL, richtig auffächern. Und das liegt daran, dass wir in diesen Regionen keine Daten haben. |
| |
Damit die neue Funktion, auf die ich sehr schnell und wieder hinweisen möchte, den Rahmen dieses Vortrags sprengt, wird diese Sache als Extrapolationssteuerung bezeichnet. Und wenn ich eine Warnung einschalte und ziehe |
| |
Gesamtcholesterin, beachten Sie, dass es mir sagt, dass es eine mögliche Extrapolation gibt. Dies 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 dieser Extrapolationssteuerung dieser Balken und diese Zeile abgeschnitten werden. Sie sagen also im Grunde, dass Sie in dieser Region keine Vorhersagen treffen können. Es ist also etwas, das Sie überprüfen möchten, wenn Sie Modelle montieren. 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 verschiedene Möglichkeiten, dies zu tun. Ich kann zur roten Spalte gehen, Spalten speichern, die Vorhersageformel speichern. |
| |
Dies speichert also das lineare Modell, das ich gerade erstellt habe, in der Datentabelle. Sie können es also hier im Hintergrund sehen. Wenn ich dann dieser Datentabelle neue Werte hinzufüge, wird die Antwort automatisch vorhergesagt. |
| |
Möglicherweise möchte ich das Modell jedoch in einer anderen Form speichern. Zu diesem Zweck kann ich es veröffentlichen |
| |
Diese Formel wird an das Formeldepot weitergeleitet. Das Formeldepot ist tatsächlich unabhängig von meiner Datentabelle. Auf diese Weise kann ich das Skript kopieren und in eine andere Datentabelle mit neuen Daten einfügen, um neue Daten zu erhalten. |
| |
Oder ich möchte 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 ein besseres oder anspruchsvolleres Modell eine bessere Leistung erzielt? |
| |
Also könnte ich ein anderes Modell passen. So könnte ich zum Beispiel ... Ich werde nur auf Rückruf klicken. Ich könnte die Persönlichkeit von den kleinsten Standardquadraten ändern, um die Regression zu verallgemeinern. |
| |
Dadurch kann ich unterschiedliche Antwortverteilungen festlegen. Und ich bleibe einfach beim Normalen und klicke auf Ausführen. |
| |
Auf diese Weise kann ich verschiedene Methoden zur Bestrafung anwenden und auch verschiedene Techniken zur Variablenauswahl anwenden. Und wenn Sie die generalisierte Regression nicht überprüft haben, |
| |
Es ist eine super leistungsstarke und super flexible moderne Modellierungsplattform. Ich werde einfach auf Los klicken. Und lassen Sie uns sagen, dass ich zu diesem Modell passe |
| |
und ich möchte dieses Modell mit dem Modell vergleichen können, das ich bereits gespeichert habe. Also könnte ich die Vorhersageformel in der Datentabelle speichern. Jetzt habe ich eine weitere Spalte im Hintergrund in der Datentabelle. |
| |
Oder ich möchte dies erneut veröffentlichen |
| |
zu |
| |
das Formeldetail, also habe ich jetzt zwei verschiedene Modelle hier. Und ich kann weitermachen. Dies ist also nur ein Modell aus der generalisierten Regression. Ich kann auch verschiedene Arten von passen |
| |
Vorhersagemodelle aus dem Menü "Vorhersagemodellierung", z. B. neuronale Netze oder Partitions- oder Bootstrap-Gesamtstrukturen oder verstärkte Bäume. |
| |
Normalerweise müsste ich jetzt alle diese Modelle anpassen, die Ergebnisse entweder in der Datentabelle oder im Formeldepot speichern und wenn ich sie speichere |
| |
In der Datentabelle kann ich diese Modellvergleichsplattform verwenden, um die verschiedenen konkurrierenden Modelle zu vergleichen. Und ich könnte viele Modelle haben, hier habe ich nur zwei. |
| |
Und ich muss nicht einmal angeben, was die Modelle sind, ich muss nur die Validierung angeben. Und ich mag es tatsächlich, die Validierung hier im Feld "Nach" zu vermerken. |
| |
Dies gibt mir meine Anpassungsstatistik sowohl für den Trainingssatz als auch für den Validierungssatz, und ich werde nur die Statistiken für den Validierungsschritt betrachten. Ich würde dies also nutzen, um das Modell mit der besten Leistung auszuwählen. |
| |
Und was mich interessiert, ist ein höherer Wert des R-Quadrats, ein niedrigerer Wert von RASE (der quadratische Durchschnittsfehler) und ein niedrigerer durchschnittlicher absoluter Fehler. Und zwischen diesen beiden Modellen scheint dieses Regressionsmodell für kleinste Quadrate das beste zu sein. |
| |
Wenn ich nun alle möglichen Modelle einbauen würde, könnte dies ... dies kann ziemlich zeitaufwändig sein. Stattdessen ist in JMP Pro 16 eine Plattform namens Model Screening neu. |
| |
Und wenn ich das Modell-Screening starte, hat es oben einen Dialog, genau wie wir es gesehen haben, also werde ich fortfahren und diesen füllen. |
| |
Und ich werde eine Validierung hinzufügen, 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 all diese Modelle anpassen. |
| |
Und es werden keine Modelle ausgeführt, die keinen Sinn ergeben. Daher habe ich eine kontinuierliche logistische Antwortregression als eine meiner Optionen. Es wird kein logistisches Regressionsmodell ausgeführt |
| |
mit einer kontinuierlichen Antwort. Beachten Sie, dass ich diese Option auch hier unten habe, XGBoost. |
| |
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-Benutzergemeinschaft verfügbar). |
| |
Es heißt XGBoost und funktioniert nur in JMP Pro. Wenn Sie dieses Add-In installieren, wird es automatisch im Modellüberprüfungsdialog angezeigt. |
| |
Also klicke ich einfach auf OK, und wenn ich auf OK klicke, geht es raus und startet jede dieser Plattformen. |
| |
Und dann werden alle Ergebnisse in einem Fenster zusammengefasst. Also habe ich auf OK geklickt. Ich habe hier nicht viele Daten, daher ist es sehr schnell. |
| |
Und unter den Details sind dies alle einzelnen Modelle, die fit waren. Wenn ich einen dieser Dialoge öffne, kann ich die Ergebnisse sehen und habe Zugriff auf zusätzliche Optionen, die über dieses Menü verfügbar sind. |
| |
Also werde ich die Details wegstecken. Standardmäßig werden Statistiken für die Trainingsdaten gemeldet, aber die Ergebnisse für die Validierungsdaten werden angezeigt, sodass ich das R-Quadrat und RASE sehen kann. |
| |
Standardmäßig wird nach RASE sortiert, wobei der niedrigste Wert der beste ist. |
| |
Aber ich habe hier unten ein paar kleine Verknüpfungsoptionen. Wenn ich also die besten Modelle finden wollte und es sein könnte, dass das R-Quadrat für einige Modelle am besten ist, aber RASE für andere besser, klicke ich auf Dominante auswählen . |
| |
In diesem Fall wurde die neuronale Verstärkung ausgewählt, sodass für alle diese Modelle die neuronale Verstärkung das beste Modell ist. Und wenn ich mir dieses Modell genauer ansehen möchte, kann ich mir entweder die Details hier oben unter Neural ansehen |
| |
oder, ich kann einfach sagen, ausgewählt ausführen. |
| |
Jetzt habe ich nicht darüber gesprochen, aber im Dialogfenster gibt es eine Option, um einen zufälligen Startwert festzulegen. |
| |
Und wenn ich diesen zufälligen Startwert setze, sind die Ergebnisse, die hier veröffentlicht werden, 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. Bei der Entwicklung dieser Plattform haben die Entwickler viele Simulationen durchgeführt, um den besten Ausgangspunkt und die besten Standardeinstellungen für die verschiedenen Modelle zu ermitteln. |
| |
Also so neuronale Verstärkung 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 tiefer in der Formel speichern. |
| |
Dies geschieht also mit einer kontinuierlichen Antwort und es gibt einige andere Optionen unter dem roten Dreieck. Was ist, wenn ich eine kategorische Antwort habe? Für eine kategorische Antwort kann ich dieselbe Plattform verwenden. Also gehe ich noch einmal zum Modell-Screening. |
| |
Ich klicke auf Rückruf, aber anstatt Y zu verwenden, verwende ich Y Binary. |
| |
Und ich werde keine der Standardmethoden ändern. Ich werde einen zufälligen Startwert eingeben, also greife ich zum Beispiel 12345 nur nach einer Zufallszahl. |
| |
Und das wird mir Wiederholbarkeit geben. Wenn ich also ein Modell in der Datentabelle oder im Formeldepot speichere, |
| |
Die Statistiken sind im Modell gleich, die Anpassung ist gleich. Ein paar andere Optionen hier. Wir möchten vielleicht einige Dinge wie die Berichte ausschalten. |
| |
Möglicherweise möchten wir eine andere Kreuzvalidierungsmethode verwenden, daher umfasst diese Plattform die K-fache Validierung, verwendet jedoch auch die verschachtelte K-fache Kreuzvalidierung. |
| |
Und das können wir wiederholen. Also so wirklich schön. Manchmal ist die Aufteilung unserer Daten in Trainingsvalidierung und -test nicht die beste und K-fache |
| |
kann eigentlich ein bisschen besser sein. Und unten gibt es einige zusätzliche Optionen. Daher möchten wir möglicherweise wechselseitige Interaktionen hinzufügen. Wir möchten vielleicht quadratische Effekte hinzufügen. |
| |
Unter zusätzlichen Methoden passt dies zu zusätzlichen verallgemeinerten Regressionsmethoden. Also werde ich einfach weitermachen und auf OK klicken. |
| |
OK. Es werden alle Modelle ausgeführt, und dies ist wieder ein kleiner Datensatz. Es ist sehr schnell. |
| |
Richtig, das Erscheinungsbild ist das gleiche, aber jetzt sind die Statistiken unterschiedlich. Ich habe also die Fehlklassifizierungsrate. Ich habe einen Bereich unter der Kurve. Ich habe auch einige R-Quadrat-Maße und dann den quadratischen Durchschnittsfehler. |
| |
Ich werde auf Dominante auswählen klicken, und wieder wird die dominante Methode neuronal verstärkt. |
| |
Was ist nun, wenn ich einige dieser verschiedenen Modelle erkunden möchte? Diese Fehlklassifizierung ist hier also um einiges geringer als bei einer schrittweisen Klassifizierung. |
| |
Die AUC ist ähnlich, sie ist insgesamt am niedrigsten, aber vielleicht nicht viel besser. Und lassen Sie mich ein paar davon nehmen. Wenn ich also auf einige davon klicke, werde ich vielleicht ... vielleicht werde ich diese vier, diese fünf auswählen. |
| |
Ich kann ROC-Kurven betrachten, wenn ich ROC-Kurven betrachten möchte, um die Modelle zu vergleichen. |
| |
Und hier gibt es einige nette Steuerelemente, mit denen ich Modelle ausschalten und mich auf bestimmte Modelle konzentrieren kann. |
| |
Und eine neue Funktion, über die ich mich sehr freue, ist die sogenannte Entscheidungsschwelle. |
| |
Und was die Entscheidungsschwelle uns erlaubt zu betrachten, |
| |
und es beginnt mit dem Betrachten der Trainingsdaten, gibt uns einen Schnappschuss unserer Daten. |
| |
Die Fehlklassifizierungsrate basiert auf einem Grenzwert von 0,5 für die Klassifizierung. Für jedes Modell zeigt es mir die Punkte, 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 die im roten Bereich wurden falsch klassifiziert, so dass es uns korrekte Klassifizierungen und falsche Klassifizierungen anzeigt und dann alle Statistiken hier nebenbei meldet |
| |
Und dann sehen wir unten verschiedene Metriken sowie viele Diagramme, mit denen wir falsche Klassifikationen und auch wahre Klassifikationen betrachten können. |
| |
Ich werde das schließen und mir das ansehen |
| |
Validierungsdaten. |
| |
Warum ist das so nützlich? Möglicherweise haben Sie ein bestimmtes Szenario, in dem Sie die Empfindlichkeit maximieren möchten |
| |
unter Beibehaltung einer bestimmten Spezifität. Und Sensibilität ... und hier gibt es einige Definitionen. Die Empfindlichkeit ist die wahre positive Rate; |
| |
Spezifität ist die wahre negative Rate. Dies ist ein ... dies ist ein Szenario, in dem wir das Fortschreiten der Krankheit untersuchen wollen, also wollen wir sicherstellen, dass wir ... wir behalten eine hohe Sensitivitätsrate bei |
| |
und gleichzeitig sicherstellen, dass unsere Spezifität hoch ist, in Ordnung. 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. |
| |
Daher denke ich, dass dies ein wirklich leistungsfähiges Werkzeug ist, wenn Sie sich konkurrierende Modelle ansehen, da Sie möglicherweise einige Modelle haben, die den Gesamtwert mit einem Cut-off von 0,5 haben und möglicherweise die beste Fehlklassifizierungsrate aufweisen. |
| |
Es kann aber auch Szenarien geben, in denen verschiedene Modelle unterschiedliche Leistungen erbringen, wenn Sie den Grenzwert für die Klassifizierung ändern. Wenn ich mich zum Beispiel in einer bestimmten Region befinde, kann ich feststellen, dass das schrittweise Modell tatsächlich besser ist. |
| |
Um dies weiter zu veranschaulichen, möchte ich ein anderes Beispiel eröffnen. |
| |
Und dieses Beispiel heißt Kreditkartenmarketing. |
| |
Und wenn ich zu meinen Folien zurückkehre, um dieses Szenario vorzustellen. |
| |
Dies ist ein Szenario, in dem |
| |
Wir haben viele Daten, die auf Marktforschungen zur Akzeptanz von Kreditkartenangeboten basieren. |
| |
Die Antwort ist, wurde das Angebot angenommen. In diesem Szenario wurden nur 5,5% der Angebote in der Studie tatsächlich angenommen. |
| |
Nun gibt es Faktoren, die uns interessieren, also gibt es verschiedene Arten von Belohnungen, die angeboten werden. |
| |
und es gibt verschiedene Mailertypen. Das ist also eigentlich ein geplantes Experiment. Wir werden diesen Teil ... diesen Aspekt dieser Studie wirklich irgendwie ignorieren. |
| |
Und es gibt auch Finanzinformationen, also bleiben wir bei ... bleiben Sie bei einem Ziel in diesem Beispiel, und das ist das Ziel, Kunden zu identifizieren, die das Angebot am wahrscheinlichsten annehmen. |
| |
Und wenn wir Kunden identifizieren können, die am wahrscheinlichsten sind, senden wir in diesem Szenario möglicherweise Angebote nur an die Teilmenge, die das Angebot eher annimmt und den Rest ignoriert. Das ist hier also das Szenario. |
| |
Und ich werde diese Daten öffnen. |
| |
Ich habe 10.000 Beobachtungen und meine Antwort lautet, dass das Angebot angenommen wird. |
| |
Und ich habe das Skript bereits in der Datentabelle gespeichert, sodass ich Flugmeilen, Mailertyp, Einkommensniveau, Bonität und einige andere Finanzinformationen habe. |
| |
Es geht durch ... Ich habe ein Speicherskript ausgeführt. Es werden alle Modelle ausgeführt. Und neuronale Daten werden in diesem Fall die meiste Zeit in Anspruch nehmen, da sie eine verstärkte neuronale Funktion ausführen. |
| |
Es dauert noch einige Sekunden. Es werden Support-Vektor-Maschinen ausgeführt. Support-Vektor-Maschinen haben eine Zeitüberschreitung und werden tatsächlich nicht ausgeführt, wenn ich mehr als 10.000 Beobachtungen habe. |
| |
Ich werde es noch eine Sekunde geben. Ich verwende die Validierung, daher verwende ich hierfür die Standardvalidierung, in der ich eine Validierungsspalte habe. 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. Dann gehen wir. Okay, es lief, und wenn Sie es mit einer großen Datentabelle zu tun haben, gibt es einen ... es gibt einen Bericht, den Sie ausführen können |
| |
verstrichene Zeiten betrachten. In diesem Szenario hat die Support-Vektor-Maschine tatsächlich die längste Zeit in Anspruch genommen. Aus diesem Grund wird sie manchmal nicht ausgeführt, wenn mehr als 10.000 Beobachtungen vorliegen. |
| |
Schauen wir uns diese an. Wenn ich also dominant wähle, ist unser bestes Modell ein neuronaler Boosted- und ein Entscheidungsbaum, aber ich möchte hier auf etwas hinweisen. Beachten Sie die Fehlklassifizierungsrate. |
| |
Die Fehlklassifizierungsrate ist für alle Modelle mit Ausnahme der Support-Vektor-Maschinen identisch. Und warum ist das so? Nun, wenn ich eine Verteilung des angenommenen Angebots durchführe |
| |
(Lassen Sie mich dies etwas größer machen, damit wir es sehen können) und konzentrieren Sie sich nur auf die Validierungsdaten. Beachten Sie, dass Punkt .063% unserer Beobachtungen Ja waren. Genau das hat unser Modell vorhergesagt. |
| |
Und warum macht es das? |
| |
Ich werde noch einmal nach der Entscheidungsschwelle fragen. |
| |
Wenn wir uns hier auf dieses Diagramm konzentrieren, hat dieses Diagramm viele Verwendungszwecke, und in diesem Fall zeigt es uns, dass unser Grenzwert für die Klassifizierung 0,5 beträgt |
| |
aber keine unserer angepassten Wahrscheinlichkeiten war auch nur annähernd so, richtig. Infolgedessen klassifizierte das Modell die Nein-Werte entweder korrekt als Nein-Werte |
| |
oder klassifizierte die Ja als Nein. Es wurde nie etwas als Ja eingestuft, da keine der Wahrscheinlichkeiten größer als 0,5 war. Also, wenn ich diesen Kerl ausstrecke, |
| |
Richtig, ich kann den Unterschied zwischen diesen beiden Modellen erkennen. Damit lag die höchste Wahrscheinlichkeit für den neuronalen Boost bei etwa 0,25 und für den Entscheidungsbaum bei etwa 0,15. |
| |
Und beachten Sie, dass der Entscheidungsbaum für den Entscheidungsbaum im Grunde genommen eine Reihe von binären Teilungen ausführt und ich im Grunde genommen mehrere Vorhersagewerte habe, während ein neuronaler Boost mir ein schönes zufälliges Muster in den Punkten zeigt. Lassen Sie mich dies in etwas wie .12 ändern. |
| |
Richtig, und es wird bei .12 abgeschnitten. Wenn ich dies herumschiebe, stelle ich fest, dass ich mit zunehmendem Wert tatsächlich (ich werde hier die Metriken einschalten) einige echte positive Ergebnisse erhalte. |
| |
Und ich bekomme ein paar Fehlalarme. Wenn ich das ziehe, können Sie es in der Leiste sehen, aber die Leiste ist ziemlich klein, richtig. Neural verstärkt, sehe ich einige echte und einige falsche positive Ergebnisse. |
| |
Und jetzt siehst du sie. Sobald ich diese ersten Punkte überwunden habe, sehe ich sie als Entscheidungsbaum. |
| |
Die Verwendung eines Cut-Offs von 0,5 ist für diese Daten also nicht sinnvoll, und ich könnte erneut versuchen, einen Cut-Off zu finden, der mir die höchste Empfindlichkeit bietet und gleichzeitig ein angemessenes Maß an Spezifität beibehält. |
| |
In diesem Fall werde ich auf diese beiden anderen Statistiken hinweisen. |
| |
F1 ist die F1-Punktzahl, und dies ist wirklich ein Maß dafür, wie gut wir in der Lage sind, die wahren Positiven zu erfassen. |
| |
MCC ist der Matthews-Korrelationskoeffizient, und dies ist ein gutes Maß dafür, wie gut er innerhalb jeder der vier Möglichkeiten klassifiziert ist. Also habe ich ... |
| |
Ich kann ein falsches Positiv, ein falsches Negativ, ein wahres Positiv, ein wahres Negativ haben. |
| |
Und das habe ich eigentlich nicht gesagt, was den Kästchen hier entspricht, aber ich habe vier verschiedene Optionen. MCC ist ein Korrelationskoeffizient, der zwischen minus eins und plus eins liegt und der misst, wie ich in jedem dieser vier Kästchen ... in jedem dieser vier Felder vorhersagen werde. |
| |
Vielleicht möchte ich den Cutoff untersuchen, der Ihnen den maximalen F1-Wert oder den maximalen MCC-Wert gibt. Und lassen Sie uns sagen, dass ich diesen Weg nach unten ziehe. Beachten Sie das |
| |
Die Sensitivität wächst schnell und die Spezifität beginnt zu sinken, also vielleicht um 0,5, richtig, ich erreiche einen Punkt, an dem ich anfange, in der Spezifität zu weit abzufallen. |
| |
Ich könnte einen Cut-Off finden und unten gibt es diese Option, um eine Gewinnmatrix festzulegen. Wenn ich dies als meine Gewinnmatrix festlege, kann ich im Grunde genommen neue Daten mit diesem Grenzwert bewerten. |
| |
Wenn ich dies hier einstelle und auf OK klicke, verwenden alle zukünftigen Vorhersagen, die ich mache, wenn ich dies in der Datentabelle oder im Formeldepot speichere, diesen Grenzwert. |
| |
Und dies ist ein Szenario, in dem ich möglicherweise tatsächlich einige Finanzinformationen habe, die ich in die Gewinnmatrix einbauen könnte. |
| |
Anstatt zum Beispiel den Schieberegler zu verwenden, um den Cutoff auszuwählen, habe ich möglicherweise einige Kenntnisse über den Dollarwert, der mit meinen Klassifizierungen verbunden ist. Und vielleicht, wenn die eigentliche Antwort ein Nein ist, |
| |
aber ich sende ihnen ein Angebot, also gibt es ein Ja, ich denke, sie werden ja sein und ich sende ihnen ein Angebot. Vielleicht kostet mich das 5 Dollar, richtig, also habe ich dort einen negativen Wert. |
| |
Und vielleicht habe ich eine Vorstellung vom potenziellen Gewinn, also vielleicht vom Gewinn ... der potenzielle Gewinn in diesem Zeitraum beträgt 100 US-Dollar, und vielleicht habe ich eine verpasste Chance. Vielleicht sage ich, weißt du, es ist -100 wenn |
| |
Die Person hätte tatsächlich geantwortet, aber ich habe ihnen das Angebot nicht gesendet. Vielleicht ist dies eine verpasste Gelegenheit und manchmal lassen wir diese Lücke. Wenn ich dies stattdessen benutze, |
| |
Ich habe einige zusätzliche Informationen, die angezeigt werden, sodass erkannt wird, dass ich eine Gewinnmatrix habe. Und jetzt, wenn ich mir die Metriken anschaue, kann ich basierend auf diesem Gewinn Entscheidungen über mein bestes Modell treffen. |
| |
Ich bringe diese zusätzlichen Informationen in die Entscheidungsfindung ein, und manchmal haben wir eine Gewinnmatrix, die wir direkt verwenden können, und manchmal nicht. Und dies ist einer der Fälle, in denen ich sehe, dass das neuronale Boosted-Modell mir die besten Gesamtgewinne bringen wird. |
| |
Dies ist also ein kleiner Einblick in das Modell-Screening und ich möchte zu meinen Folien zurückkehren. |
| |
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. Daher möchten wir zukünftige Beobachtungen bewerten. |
| |
In der Regel werden wir viele Modelle mithilfe der Validierung anpassen und vergleichen und das Modell oder die Kombination von Modellen auswählen, die die beste Arbeit leisten und die am genauesten vorhersagen. |
| |
Das Modell-Screening rationalisiert diesen Workflow wirklich, sodass Sie viele verschiedene Modelle gleichzeitig auf einer Plattform unterbringen können. |
| |
Und ich habe mich wirklich nur für die Standardeinstellung entschieden, sodass ich viel anspruchsvollere Modelle einsetzen kann, als ich dort tatsächlich passe. Es macht es wirklich einfach, die dominanten Modelle auszuwählen und die Modelldetails zu erkunden. Wir können neue Modelle montieren |
| |
von den Details. Diese Entscheidungsschwelle, wenn Sie mit kategorialen Daten arbeiten, ermöglicht es Ihnen, Grenzwerte für die Klassifizierung zu untersuchen und integriert auch die Möglichkeit, eine Gewinnmatrix einzuschließen. |
| |
Und für jedes ausgewählte Modell können wir das Modell im Formeldepot bereitstellen oder in der Datentabelle speichern. Also ein wirklich mächtiges neues neues Tool. |
| |
Für mehr Informationen. Die Klassifizierungsmetriken, die ich kenne, bevor ich den F1-Score und den Matthews-Korrelationskoeffizienten gesehen habe, waren für mich relativ neu. |
| |
Um die Sensibilität und Spezifität zu verstehen, enthält dieser Wikipedia-Beitrag einige wirklich, wirklich schöne Beispiele und eine wirklich schöne Diskussion. |
| |
Es gibt auch einige wirklich nette Ressourcen für die prädiktive Modellierung und das Modell-Screening. In der JMP-Benutzergemeinschaft gibt es einen neuen Pfad, Learn JMP, der Zugriff auf Videos hat. |
| |
Mastering von Videos der JMP-Serie. Letztes Jahr gab es auf der JMP Discovery in Tucson einen wirklich schönen Vortrag von Ruth Hummel und Mary Loveless, auf welchem Modell wann. |
| |
Und dies macht einen guten Job, wenn es darum geht, über verschiedene Modellierungsziele zu sprechen und wann Sie jedes der Modelle verwenden möchten. |
| |
Wenn Sie neu in der prädiktiven Modellierung sind, ist unser kostenloser Online-Kurs STIPS (Statistisches Denken zur industriellen Problemlösung), Modul 7, eine Einführung in die prädiktive Modellierung. |
| |
Also 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 Ausgabe dieses Buches gibt: Bessere Modelle mit JMP Pro erstellen, |
| |
Das kommt in den nächsten paar Monaten heraus. Sie haben noch kein neues Cover, aber sie werden ... sie nehmen Model Screening in dieses Buch auf. |
| |
Das ist alles was ich habe. Bitte zögern Sie nicht, Kommentare zu diesem Beitrag zu schreiben oder Fragen zu stellen, und ich hoffe, Sie genießen den Rest der Konferenz. Danke. |