Willkommen zurück bei Analytics with Confidence. In dieser Serie erkunde ich den Schlüssel zum Erfolg moderner Datenanalysen: Validierung. Im Erste Und zweite In diesen Beiträgen haben wir die Generalisierbarkeit diskutiert und gesehen, wie man problematische Modelle erstellt, die nicht generalisieren. In diesem Beitrag fahren wir mit der Fallstudie zu Reaktionsrezepten fort und stellen die Holdback-Validierung als einfaches Werkzeug zum Erstellen von Modellen vor, denen Sie vertrauen können.
Denken Sie daran, dass wir uns in dieser Fallstudie mit Rezepten für die Herstellung eines hochwertigen chemischen Produkts befassen [1]. Es gibt 4.608 mögliche Variationen der Zutatenauswahl (4 Elektrophile x 3 Nukleophile x 12 Liganden x 8 Basen x 4 Lösungsmittel). Wir wollen die Daten von nur 150 der möglichen Rezepte nutzen, um ein Modell zu erstellen, um den Ertrag jedes Rezepts vorherzusagen und die besten Zutatenkombinationen zu finden.
Das Partitionsmodell, das wir letztes Mal erstellt haben, sah auf den ersten Blick großartig aus, mit einem RSquare von 0,985 und einem tatsächlichen versus vorhergesagten Diagramm, das eine hervorragende Übereinstimmung mit den Daten zeigte. Aber dann haben wir uns angesehen, wie die Modellvorhersagen mit den tatsächlichen Erträgen für alle 4.458 Rezepte verglichen wurden, die nicht in den Trainingsdaten enthalten waren. Das Modell prognostizierte Ausbeuten von nahezu 100 % für mehrere Rezepte, deren Ausbeuten tatsächlich näher bei 0 lagen!
Actual versus Predicted plots for the data that was used to train the model (left) and the data for all the other recipes that were not used to train the model (right). This is an example of an "overfit" model that does not generalize.Tatsächliche versus vorhergesagte Diagramme für die Daten, die zum Trainieren des Modells verwendet wurden (links) und die Daten für alle anderen Rezepte, die nicht zum Trainieren des Modells verwendet wurden (rechts). Dies ist ein Beispiel für ein „Overfit“-Modell, das nicht verallgemeinert werden kann.
Wie können wir vermeiden, Modelle zu erstellen, die auf den Trainingsdaten gut aussehen, nur um dann festzustellen, dass sie sich nicht verallgemeinern lassen, wenn sie mit ungesehenen Daten getestet werden? Und wie stellen wir sicher, dass unsere Modelle nicht unnötig komplex werden?
Eine Idee, die Ihnen vielleicht in den Sinn gekommen wäre, wäre, das Modell in jedem Schritt des Erstellungsprozesses anhand unsichtbarer Daten zu validieren. Wir hätten nach jeder Teilung im Entscheidungsbaum anhalten können, um den tatsächlichen Vergleich mit dem vorhergesagten Wert (und dem RSquadrat) für die 4.458 Rezepte zu überprüfen, die nicht zum Trainieren des Modells verwendet wurden. Wir könnten das beste Modell auswählen, bei dem die Anpassung an die unsichtbaren Daten am besten ist. Und wir wüssten, wie gut wir davon ausgehen können, dass es funktioniert.
Natürlich handelt es sich dabei um eine künstliche Situation. Wenn wir die Daten für alle möglichen Rezepte hätten, würden wir den Großteil davon nicht zurückhalten, um das Modell zu validieren. Können wir die gleiche Idee nutzen, indem wir nur die Daten für die 150 Rezepte verwenden?
Wir stellen vor: Validierungsspalte erstellen
Ja, dafür gibt es ein Tool. „Validierungsspalte erstellen“ in JMP Pro markiert einen Teil der Zeilen in Ihrer Datentabelle, der zurückgehalten und bei jedem Schritt des Modellerstellungsprozesses als Validierung verwendet werden soll. Es gibt verschiedene nützliche Optionen, die wir in späteren Beiträgen untersuchen werden, aber in diesem Beispiel werden wir es einfach halten und uns an die Standardeinstellungen halten.
The Make Validation Column tool in JMP Pro (Analyze > Predictive Modeling). In this example, we stick with the defaults to make a Random Validation Column and click OK.Das Werkzeug „Validierungsspalte erstellen“ in JMP Pro (Analysieren > Vorhersagemodellierung). In diesem Beispiel bleiben wir bei den Standardeinstellungen, erstellen eine zufällige Validierungsspalte und klicken auf „OK“.
Wir werden uns für den empfohlenen Wert von 0,75/0,25 entscheiden Aufteilung zwischen Training und Validierung, was bedeutet, dass 37 der 150 Datenzeilen zur Validierung zurückgehalten werden.
The default 0.75/0.25 training/validation split in Make Validation Column. Enter “1234” as the Random Seed if you want to follow along in JMP Pro and get the same results.Die standardmäßige Trainings-/Validierungsaufteilung von 0,75/0,25 in der Spalte „Validierung erstellen“. Geben Sie „1234“ als Zufallsstartwert ein, wenn Sie in JMP Pro mitmachen und die gleichen Ergebnisse erhalten möchten.
Wir haben jetzt eine Validierungsspalte in unserer Datentabelle, die 37 der Zeilen für die Validierung und die anderen für das Training markiert:
Validation column in our data table that marks 37 of the rows for validation and the others for trainingValidierungsspalte in unserer Datentabelle, die 37 der Zeilen für die Validierung und die anderen für das Training markiert
Wiederholen wir nun das Partitionsmodell, das wir in Beitrag Nr. 2 erstellt haben, jedoch mit Validierung. Der wichtigste Schritt hier besteht darin, die Spalte „Validierung“ in der Validierungsrolle hinzuzufügen, wenn Sie Partition starten.
Partition model with validationPartitionsmodell mit Validierung
Die erste Aufteilung ist die gleiche wie für unser Modell ohne Validierung. Aber jetzt können wir den RSquare sowohl für die Trainingsdaten als auch für die Validierungsdaten sehen. Die Anpassung an die Validierungsdaten ist für die Trainingsdaten nicht so gut (RSquare = 0,133 vs. 0,224).

Wir können „Los“ drücken und der Algorithmus untersucht eine Reihe von Aufteilungen und schneidet dann auf den Baum zurück, der den maximalen Validierungs-RSquare hatte, d. h. das Modell, das die von uns zurückgehaltenen Daten am besten vorhersagt. In diesem Fall erreichte Validation RSquare (in Rot) seinen Höhepunkt bei fünf Teilungen. Ab diesem Zeitpunkt wurde das Modell komplexer und passte besser zu den Trainingsdaten, passte sich jedoch zu stark an das Rauschen an, anstatt Muster zu finden, die sich auf unsichtbare Daten übertragen ließen. Wir können sogar auf vier Teilungen zurückgreifen, da der Validierungs-RSquare derselbe und das Modell einfacher ist.

Was ist mit anderen Modellen?
Es gibt eine Vielzahl anderer statistischer und maschineller Lernmodelltypen, die wir verwenden könnten. Ein weiterer Vorteil der Holdback-Validierung besteht darin, dass wir validierte Modelle schnell erstellen und vergleichen und herausfinden können, welche die beste Leistung erbringen. Die Model Screening-Plattform in JMP Pro macht dies sehr einfach. In diesem Fall stellen wir fest, dass ein Boosted Tree-Modell den höchsten Validierungs-RSquare aufweist:
Model Screening report showing the Boosted Tree has a slightly better Validation RSquare than the Decision Tree and the other statistical and machine learning methods.Der Modell-Screening-Bericht zeigt, dass der Boosted Tree einen etwas besseren Validierungs-RSquare aufweist als der Decision Tree und die anderen statistischen und maschinellen Lernmethoden.
Wenn wir uns nun die Leistung dieses Booted Tree-Modells ansehen, stellen wir fest, dass eine viel bessere Übereinstimmung zwischen den Vorhersagen und den tatsächlichen Erträgen der 4.458 Rezepte besteht, die nicht zum Trainieren oder Validieren des Modells verwendet wurden:

In späteren Beiträgen werden wir verschiedene Fälle und die Optionen für einen sorgfältigeren Einsatz der Validierung untersuchen und sicherstellen, dass wir unser Verständnis darüber nutzen, wie die Daten generiert wurden. Aber hier haben Sie gesehen, wie einfach es sein kann, viele verschiedene Modellierungsmethoden zu erkunden, ein Modell zu finden, dem Sie vertrauen können, und Analysen mit der Validierung in JMP Pro sicher anzuwenden.
[1] Daten von Perera D, Tucker JW, Brahmbhatt S, Helal CJ, Chong A, Farrell W, Richardson P, Sach NW. Eine Plattform für automatisiertes Reaktionsscreening im Nanomolmaßstab und Synthese im Mikromolmaßstab im Fluss. Wissenschaft. 26. Januar 2018;359(6374):429-434. doi: 10.1126/science.aap9112. PMID: 29371464.Die erfassten und vollständigen Datensätze werden als JMP-Datentabellen angehängt.
Tolle Erklärung, Phil! Ich habe gerade ab August als erste Person bei Arla Foods Zugriff auf die PRO-Version erhalten 
Ich freue mich wirklich darauf, mit der Validierung der von mir erstellten Modelle zu beginnen.
Ich habe zwei Folgefragen zu Ihrem Beitrag: Angenommen, ich habe mit der App ein benutzerdefiniertes DoE-Design erstellt. 20-30 Läufe.
Funktionieren das Training, die Validierung und das Testen des Modells noch oder sind mehr als 100 Durchläufe erforderlich, um tatsächlich etwas daraus zu machen?
Wenn Sie dann anfangen, dasselbe Design auf neuen Ebenen zu erweitern (dieselben Faktoren zu testen)? Würde JMP diese Läufe dann wieder sowohl als Training als auch als Validierung verteilen?
Danke schön.
Beste grüße
Kristian Bertelsen