Dies ist der vierte einer Reihe von Beiträgen darüber, wie man stückweise stetige Funktionen an Datensätze anpasst. Ich beginne jeden Beitrag gerne mit Links zu allen anderen vorherigen Beiträgen der Reihe:
Weiter zu Teil 4...
Einführung
In früheren Beiträgen dieser Reihe haben wir an dem in der folgenden Grafik dargestellten Datensatz gearbeitet:
Figure 1: Sample Data Set.Abbildung 1: Beispieldatensatz.
Bisher haben wir die Segmentierung der Datenbereiche und die Definition der mit jedem Bereich verknüpften Kurven besprochen, einschließlich:
- Eliminieren einiger Koeffizienten der segmentierten Gleichungen aufgrund der Kontinuität an den Endpunkten.
- Benutzen JMP Formeleditor mit unbekannten Parametern und mehreren Gleichungen in einer Formel, als Vorbereitung für die Lösung der Unbekannten.
Jetzt können wir die nichtlineare Plattform von JMP verwenden, um die unbekannten Parameter zu finden und ein am besten geeignetes Modell zu erstellen. Jetzt besprechen wir:
- So lösen Sie die stückweisen Gleichungen mit der nichtlinearen Plattform von JMP
- Modelle zur Konvergenz bringen durch:
- Optionale Konvergenzalgorithmen
- Parametergrenzen festlegen
- Konvergenzziele
Lass uns genauer hinschauen.
Die nichtlineare Plattform von JMP
Die nichtlineare Plattform verwendet einen von mehreren vom Benutzer wählbaren iterativen Schätzprozessen, um nach den im Formeleditor beschriebenen unbekannten Parametern zu suchen. Um die stückweisen Gleichungen, wie in früheren Blogbeiträgen beschrieben, zu lösen, gehen wir zunächst zu Analysieren -> Spezialisierte Modellierung -> Nichtlinear. Es öffnet sich folgende Benutzeroberfläche:
Figure 2: The Nonlinear Input InterfaceAbbildung 2: Die nichtlineare Eingabeschnittstelle
In Abbildung 2 haben wir die Eingaben bereits ausgefüllt.
- „Y, Response“ sind die ursprünglichen (gemessenen) Daten.
- „X, Prädiktorformel“ ist die im vorherigen Blogbeitrag definierte Formelspalte.
- Beachten Sie, dass die X-Werte, bei denen Y-Werte gemessen wurden, nicht direkt in die GUI eingegeben werden, sondern über Referenzen in der Formelspalte enthalten sind.
- Beachten Sie, dass die Parameter aus der Formelspalte (zusammen mit ihren Startwerten) im Abschnitt „Optionen/Vorhersage“ angezeigt werden. JMP füllt dies automatisch für uns aus.
Nachdem Sie auf OK geklickt haben, erscheint das folgende Fenster:
Figure 3: Nonlinear platform, ready to fitAbbildung 3: Nichtlineare Plattform, bereit zum Einbau
Hier sehen wir eine Zusammenfassung des bisherigen Modells mit Startwerten für jeden unbekannten Parameter. Wir sehen auch das Konvergenzkriterium (später besprochen). Wir sehen die Originaldaten (schwarze Punkte) und die aktuelle Anpassung (dünne schwarze Linie, resultierend aus der Verwendung von Parameter-Startwerten).
Wir haben auch vier Knöpfe:
- Go: Startet den iterativen Solver-Prozess.
- Stopp: Stoppt den Prozess (wenn der Löser nicht konvergiert).
- Schritt: Führen Sie manuell jeweils einen Iterationsschritt aus, um zu beobachten, wie sich das Konvergenzkriterium und die Anpassungsdarstellung ändern.
- Zurücksetzen: Setzt die Parameter auf ihre Startwerte zurück.
Wenn wir ein paar Mal auf die Schaltfläche „Schritt“ klicken, können wir sehen, wie der Konvergenzalgorithmus funktioniert:
Figure 4: Convergence In ActionAbbildung 4: Konvergenz in Aktion
Beachten Sie in den Unterdiagrammen von Abbildung 4, dass die dünne schwarze Linie beim Erhöhen der Schritte definitiv in Richtung der gemessenen Daten konvergiert. Darüber hinaus ändern sich die Parameter und auch die Konvergenzkriterien schrumpfen.
Durch Klicken auf die Schaltfläche „Los“ gelangen wir automatisch zu den endgültigen konvergierten Werten, wie unten gezeigt:
Figure 5: Final Converged ModelAbbildung 5: Endgültiges konvergentes Modell
In Abbildung 5 sehen wir oben in der Ausgabe eine Warnmeldung mit der Aufschrift „Fehlgeschlagen: Maximale Anzahl an Iterationen überschritten.“ Wir werden später in diesem Beitrag darüber sprechen. Wenn man sich jedoch die Darstellung ansieht, wird klar, dass wir bereits eine gute Konvergenz des Modells mit den beobachteten Daten erreicht haben.
Einige Beobachtungen zu den Parametern:
- Erinnern Sie sich an Abbildung 1, dass X1, X2, X3 und X4 die Schnittpunkte der stückweisen Funktionen waren. Diese haben sich entsprechend von ihren geschätzten Startwerten verschoben, um gute Endpunkte für jede der stückweisen Funktionen zu ergeben.
- Die übrigen Parameter haben alle Bedeutung für die einzelnen Kurvenstücke. Beispielsweise stellt a0 den durchschnittlichen Y-Pegel dar, bevor sich Testdaten bei X1=24,8 anzusammeln beginnen.
Was passiert, wenn wir keine Konvergenz haben?
Optionen für den Fall, dass die Lösung nicht konvergiert
Wie oben erwähnt, konvergierte diese spezielle Lösung (technisch) nicht. Dies bedeutet, dass der Standard-Konvergenzalgorithmus seine Konvergenzkriterien, wie im Bedienfeld „Nichtlineare Anpassung“ definiert, nicht erfüllt hat. Tatsächlich lässt uns JMP ohne Konvergenz nicht viel mit den Ergebnissen anfangen (z. B. die neuen Parameter speichern).
Also was können wir tun?Es gibt mehrere Möglichkeiten:
Ändern Sie die Konvergenzkriterien
Im Abschnitt „Kriterien“ von Abbildung 5 können wir sehen, was die aktuellen Konvergenzkriterien sind und wie nah wir an ihrer Erfüllung sind. Beispielsweise hat JMP im vorherigen Beispiel 60 Iterationsschritte durchlaufen und keine Konvergenz erreicht. Daher möchten wir möglicherweise die „Stoppgrenze“ erhöhen, um mehr Schritte auszuprobieren (auf Kosten einer längeren Konvergenzdauer).
Oder wir möchten entweder „Obj Change“, „Relative Gradient“ oder „Gradient“ ändern. Konvergenz wird erreicht, wenn eines der drei Kriterien unter das „Stop-Limit“ fällt.
Ändern Sie den iterativen Schätzalgorithmus
Das rote Dreieck neben „Nichtlineare Anpassung“ (siehe Abbildung 3) bietet mehrere Optionen, einschließlich „Iterationsoptionen“. Hier stehen uns drei verschiedene Iterationsalgorithmen zur Auswahl:
- Newton (Standard)
Quasi-Newton BFGS
Quasi-Newton SR1
Einige dieser Optionen ermöglichen auch die Berechnung „Nur numerischer Ableitungen“. Pro JMP-Hilfe Es besteht kein Konsens darüber, welcher dieser Algorithmen am besten zu verwenden ist, da dies von den jeweiligen Daten und der passenden Gleichung abhängt.
Sie können die Algorithmen kombinieren. In unserem Testfall konvergierte beispielsweise die Newton-Methode nicht. Sie können jedoch die mit der Newton-Methode ermittelten Werte beibehalten, einfach den Iterationsalgorithmus ändern und dann auf die Schaltfläche „Los“ klicken, um mit der Konvergenz ab dem durch den Newton-Algorithmus erreichten Endpunkt fortzufahren. Warum funktioniert das? Weil wir mit besseren Schätzungen der Parameter beginnen.
Das bringt mich zu meiner nächsten Option zur Verbesserung der Konvergenz ...
Festlegen von Parametergrenzen
Wenn ein iterativer Algorithmus einen Parameter anpasst, kann er manchmal in die falsche Richtung „abheben“ oder in einem lokalen Minimum stecken bleiben usw. In diesem Fall kann es von Vorteil sein, die Bereiche zu begrenzen, die die Parameter annehmen können.
In unserem Beispielproblem wissen wir vielleicht, dass der X1-Grenzwert einen Wert von etwa 20 haben sollte. Möglicherweise möchten wir JMP mitteilen, dass X1 nicht außerhalb des Bereichs 15–25 liegen darf. Dadurch wird verhindert, dass der iterative Algorithmus bei seiner Arbeit „verloren geht“.
Parametergrenzen finden Sie unter demselben roten Dreieck für die nichtlineare Anpassung. Nach der Aktivierung erscheint unten im Bericht eine Tabelle, in der Sie Schätzungen und Bereiche für jede Variable eingeben können. Beachten Sie auch, dass Sie die Schieberegler in dieser Tabelle als eine Art Profiler verwenden können, um die Auswirkungen der Änderung jedes Parameters auf die im Diagramm angezeigte Gesamtanpassung zu untersuchen.
Abbildung 6 zeigt ein Beispiel der Tabelle „Parametergrenzen“:
Figure 6: Parameter Bounds TableAbbildung 6: Parametergrenzentabelle
Sobald wir Konvergenz erreicht haben
Wenn Sie im Formeleditor eine korrekte Gleichung erstellt und mit den oben beschriebenen Optionen Konvergenz erreicht haben, sollte die nichtlineare Plattform von JMP die besten Schätzungen aller unbekannten Parameter geliefert haben. Oben im Bericht sehen Sie einen Hinweis zum Effekt „Konvergiert im Gradienten“ und unten im Bericht sehen Sie einen Abschnitt für „Lösung“, der die endgültigen Schätzungen aller unbekannten Parameter zeigt:
Figure 7: Converged Parameter EstimatesAbbildung 7: Konvergente Parameterschätzungen
Direkt über dem Diagramm der gemessenen Daten und der Best-Fit-Funktion sollte sich jetzt außerdem eine Schaltfläche zum Speichern von Schätzungen befinden. Durch Klicken auf diese Schaltfläche werden die aktuellen Parameterwerte in der Formel durch die neuen, am besten geeigneten Werte ersetzt.
Nächster Blogbeitrag (Letzter der Reihe)
In diesem Beitrag wird erläutert, wie Sie mit der nichtlinearen Plattform eine beliebige Funktion (und insbesondere eine stückweise Funktion) lösen können. Die nichtlineare Plattform verfügt jedoch auch über eine spezielle „Modellbibliothek“, die einen eigenen Blogbeitrag verdient.
Und so wird im letzten Blogbeitrag der Piecewise-Reihe darüber gesprochen, wie Sie möglicherweise andere „vorgefertigte“ Modelle anpassen möchten, die in die nichtlineare Plattform integriert sind. Ich hoffe, Sie werden es sich ansehen!