Die PLS-Plattform wird ohne Validierung umgerüstet. Wie verwende ich den Bootstrap?Hallo,
1) Ich mache ein PLS, ich habe 42 Beobachtungen. Die Anzahl der möglichen Prädiktoren reicht von 24 über 79 bis 240, je nachdem, wie viele Variablen ich vorab auswähle. Mein Y ist kategorisch, entweder 2 oder 3. Nachdem ich den Plattformstart ausgeführt habe, komme ich zum NIPALS/SIMPLS-Teil, und egal, welche Art von Validierung ich verwende (Kfold, Leave On, E Holdout) oder wie viele Faktoren ich auswähle – ich erhalte immer die Fehlermeldung „Das beste Modell hat.“ 0 Faktoren, Umrüstung ohne Validierung".Irgendein Vorschlag, was ich tun kann, um das Problem zu lösen? Ich möchte PLS unbedingt verwenden, aber die Modellierung ohne Validierung ist einfach überpassend ...
2) Sobald das Ergebnis vorliegt, habe ich die Vorhersageformel. Wie würde man es booten? Ich habe große Unsicherheit hinsichtlich der Vorgehensweise zum Bootstrapping der Ergebnisse. Ich wünschte, JMP würde das Bootstrapping bereits in den Validierungsprozess einführen. Ich gehe davon aus, dass ich die Bootstrapping-Koeffizienten mitteln müsste, würde aber beim Bootstrapping dieser Tabelle das gesamte Modell inkl. k-fache Validierung (falls es funktioniert hat)? Wenn ja, sollte ich die zentrierten und skalierten Daten oder die Originalkoeffizienten verwenden? Ich müsste die Ergebnisse manuell als Formel eingeben, also gehe ich davon aus, dass ich die ursprünglichen Koeffizienten booten sollte, aber würde das das Modell mit den zentrierten skalierten Daten ausführen und die ursprünglichen Koeffizienten liefern oder das Modell mit den ursprünglichen Koeffizienten ausführen? ? Aus Prozesssicht ist mir das ganze Vorgehen recht unklar, also was Schritt für Schritt passiert, um zu dem gewünschten Ergebnis zu kommen; Jede Hilfe/Einsicht wäre dankbar!
Danke,
Uriel.
Prädiktive Modellierung und maschinelles LernenBetreff: PLS-Plattform wird ohne Validierung umgerüstet + Wie verwende ich den Bootstrap?Hallo @utkcito ,
Jetzt verstehe ich, was Sie ursprünglich mit „Bootstrap“ gemeint haben – das Ausführen der Bootstrap-Plattform ist ein guter Ansatz, aber Sie möchten auch Vorhersagemodelle mit dem neuronalen Netz, GenReg, Boosted Trees ausführen und sogar das XGBoost-Add-on erhalten. in, um die verschiedenen Vorhersageformeln in einem Validierungstestsatz zu vergleichen. Dabei sollten Sie auf Nummer sicher gehen und Ihre Einstellungen so anpassen, dass Sie die beste Anpassung erhalten – die Standardanpassungen sind nicht immer so gut.
Das Schöne am Baumansatz ist jedoch, dass es sich um einen aggregierten Ansatz handelt, der viele verschiedene Entscheidungsbäume verwendet, um ein Modell zu erstellen. Wenn die Faktoren in ihrem Beitrag nicht sehr wichtig sind, werden sie automatisch nach unten verschoben und es wird nicht angezeigt, dass sie einen hohen Beitrag zum Gesamtmodell leisten. Dennoch sind die Ansätze „Bootstrap Forest“ und „Boosted Trees“ aufgrund der zufälligen Starts und Entscheidungsprozesse nicht besonders stabil – wenn Sie dieselben Einstellungen viele hundert Mal ausführen, werden Sie feststellen, dass Sie tatsächlich leicht unterschiedliche Antworten und Formeln erhalten. Aus diesem Grund ist es sinnvoll, den „SS“ oder „Anteil“ im Ausgabebericht zu booten (z. B. im Bootstrap-Forest), um besser abschätzen zu können, wie stark dieser Faktor im Modell wirklich ist.
Allerdings sollten Sie sicherstellen, dass Sie Kreuzvalidierungsmethoden verwenden, um sicherzustellen, dass Sie nicht überpassen. Und bei einer relativ kurzen Datentabelle (nicht so viele Messungen) wird es schwierig sein, dies ohne einen Weglassungsansatz zu erreichen, es sei denn, Sie verwenden die automatische Validierungsmethode, die ich in der vorherigen Antwort erwähnt habe. Eine K-fache Kreuzvalidierung könnte auch ein guter Ansatz für Sie sein.
Ich bin mir nicht sicher, wie Ihre Eingabedaten aussehen, aber es klingt fast so, als wären es das, was JMP als „funktionale Daten“ bezeichnet, wie Spektren oder andere regelmäßig verteilte Daten, bei denen jede Wellenlänge (oder jeder x-Wert) mit ihrem Nachbarn korreliert. Möglicherweise möchten Sie den Funktionsdaten-Explorer verwenden, um eine bessere Teilmenge von Prädiktoren zu generieren. Oder PCA ist auch ein guter Ansatz, um die Dimensionalität Ihrer Prädiktoren zu reduzieren und einen kleineren Satz orthogonaler Vektoren zum Modellieren Ihrer Daten zu verwenden.
Zu deinen Punkten:
1) Gibt es einen theoretischen (biologischen, chemischen, physikalischen) Grund, so viele verschiedene Kreuzbegriffe aus dem *2-faktoriellen Ansatz einzubeziehen? Wenn Sie keinen theoretischen Grund haben, sie einzubeziehen, ist dies nicht sehr aussagekräftig und Sie führen möglicherweise einen falschen Prädiktor ein.
2) In der PLS-Plattform ist es wichtig, auch die kumulative Y-Antwort unter „Erklärte prozentuale Variation“ im Bericht zu betrachten. Wenn die linearen Kombinationen Ihrer Prädiktoren nicht viel von der Antwort in Y erklären, wird Ihre erklärte prozentuale Variation ziemlich niedrig sein, was darauf hindeutet, dass Ihre Prädiktoren als lineare Kombination zur Erklärung der Variation in Y keine besonders gute Arbeit leisten und eine andere Plattform wird wahrscheinlich besser funktionieren. Bei so wenigen Antwortmessungen wird der Versuch, eine so große Anzahl von Prädiktoren anzupassen, wahrscheinlich zu einer Überanpassung führen, weil nicht genügend Freiheitsgrade vorhanden sind. Neben PLS sollten Sie auch einen Blick auf die Plattform „Faktoranalyse“ unter „Multivariate Analyse“ werfen. Ich denke, dass Ihre Zytokinvariablen möglicherweise zu viele sind und Sie Ihre Freiheitsgrade verlieren. Stellen Sie sich vor, Sie haben zwei Punkte und passen eine Gerade an, oder drei und passen eine Parabel an – Sie erhalten eine perfekte Anpassung, weil das genau die Mindestanzahl an Punkten ist, die zum Anpassen dieser Polynome erforderlich ist, aber Sie verlieren jegliche Freiheitsgrade und können Fehler nicht mehr abschätzen oder Passformqualität. Ich denke, das passiert auf der PLS-Plattform.
3) Die Community-Seiten sind die besten. Ich überprüfe sie ständig, insbesondere auf JSL-Skripte, während ich in JMP programmiere. Fast immer gibt es einen Codeausschnitt, den jemand anderes gelöst hat und der genau das ist, was ich für meine Arbeit brauche. Es macht mir auch Spaß, die Fragen durchzugehen und zu sehen, womit ich helfen kann, besonders wenn ich etwas Neues lerne.
Viel Glück!,
DS
Betreff: PLS-Plattform wird ohne Validierung umgerüstet + Wie verwende ich den Bootstrap?Hallo DS,
1) Der Grund, warum ich 24 bis 237 Variablen habe, liegt genau darin, dass es davon abhängt, wie viele Variablen ich auswähle. 24 ist nach Bootstrap Forrest, und dann kann ich die Fakultät *2 machen. 237 ist der gesamte Satz an Zytokinen.
2) " Prädiktoren müssen auch mit der Antwort kovariieren, andernfalls erhalten Sie diesen Fehler – was bedeutet, dass es keine linearen Kombinationen Ihrer Prädiktoren gibt, die die Variation in Ihrer Antwort erklären. Können Sie das etwas näher erläutern? Ich dachte, dass die Kovarianz untereinander besteht, also multikolinear ist, und dass PLS diese Kovarianz zwischen den Variablen nutzt, indem es die Faktoren erstellt, die dieser Kovarianz zugrunde liegen. Ich bin mir nicht sicher, ob ich verstehe, was Sie meinen, wenn Sie sagen, dass sie mit dem kovariieren müssen Antwort . Ich kann mir kaum vorstellen, dass von den 24, 79 oder 237 Zytokinvariablen (es handelt sich tatsächlich um den Mittelwert, den Median und den IQR von Längsschnittmessungen) keine lineare Kombination irgendeine Variation der Reaktion erklären kann (kritische Erkrankung auf der Intensivstation); Es wurde tatsächlich bereits festgestellt, dass sie dies auch in anderen Umgebungen tun, daher verstehe ich nicht, warum JMP das tut.
3) Vielen Dank für die Erklärung, wie man Bootstrapping operationell macht. Es macht viel mehr Sinn und ich habe es ausprobiert und es funktioniert. Ich bin immer wieder überrascht, wie wenig die formale Dokumentation von JMP hilft, wie wenig Details darüber, wie es funktioniert und wie man es zum Laufen bringt, vorhanden sind und wie viel die Foren, Tutorials usw. tatsächlich helfen.
Vielen Dank!
Uriel.
Betreff: PLS-Plattform wird ohne Validierung umgerüstet + Wie verwende ich den Bootstrap?Hallo @utkcito ,
Zunächst einmal ist PLS möglicherweise nicht die beste Plattform für Ihre Daten. Möglicherweise ist es besser, dies als GenReg oder schrittweise auszuführen, um zu sehen, welche Prädiktoren in Ihrem Modell tatsächlich wichtig sind. Ich finde es sehr seltsam, dass Ihre Anzahl der Prädiktoren zwischen 24 und 240 liegt. Bei so wenigen Beobachtungen im Verhältnis zu Ihrer möglichen Anzahl an Prädiktoren sollten Sie unbedingt ein Prädiktor-Screening durchführen, um sicherzustellen, dass Sie nicht zu viele unnötige Faktoren in Ihr Modell aufnehmen. PLS kann damit umgehen, aber die Prädiktoren müssen auch mit der Antwort kovariieren, andernfalls erhalten Sie diesen Fehler – was bedeutet, dass es keine linearen Kombinationen Ihrer Prädiktoren gibt, die die Variation in Ihrer Antwort erklären. Wenn Sie jedoch PLS verwenden müssen und keine andere Option haben, sollten Sie Ihre Antwort von kategorial (2 oder 3) auf ordinal (2 oder 3) ändern. Es könnte in der Lage sein, eine bessere numerische Lösung zu finden. Ich empfehle außerdem dringend, sich mit dem zu befassen und ihn zu verwenden Autovalidierung Ansatz zur Überprüfung Ihrer großen Liste von Prädiktoren.
Zweitens: Wenn JMP eine Anpassung durchführt, verwendet es meiner Meinung nach im Hintergrund immer zentrierte und skalierte Daten, um bessere Werte der Schätzungen zu erhalten, und berechnet dann die tatsächlichen Schätzungen zurück. Es spielt also keine Rolle, was Sie am Ende booten, aber es könnte sinnvoller oder einfacher sein, die tatsächlichen geschätzten Bootstraps zu interpretieren als die zentrierten und skalierten Daten. Und ja, durch das Bootstrapping der Schätzungen wird die Anpassung mit der von Ihnen durchgeführten Validierung erneut ausgeführt.
Zum Schluss klicken Sie zum Bootstrapping der Schätzungen mit der rechten Maustaste auf die Spaltenschätzungen im JMP-Bericht und wählen dann Bootstrapping aus. Wenn es schnell ist, geben Sie vielleicht 5000 ein, aber wenn es langsam ist, belassen Sie es bei 2500. Stellen Sie sicher, dass Sie das Kontrollkästchen „Teilgewichte“ aktivieren. Die Anpassung wird mehrmals wiederholt und Sie erhalten dann eine Werteverteilung für jeden Koeffizienten der Prädiktoren (führen Sie einfach das Skript „Verteilung“ in der Ausgabedatentabelle aus). Wenn dann die Verteilung und Statistiken angezeigt werden, können Sie mit der rechten Maustaste auf die zusammenfassenden Statistiken klicken und „In kombinierte Datentabelle umwandeln“ auswählen. Stellen Sie sicher, dass Sie auch die zusammenfassenden Statistiken anpassen, um den Anteil ungleich Null anzuzeigen.
Die kombinierte Datentabelle enthält den Mittelwert und den Anteil ungleich Null für Ihre Schätzungen. Dort können Sie sehen, wie hoch der Mittelwert (typischer Wert) ist und wie oft (prozentual) diese Schätzung ungleich Null ist – wenn diese Zahl klein ist, ist die Schätzung oft Null. Wenn es groß ist, ist es meistens ungleich Null. Dies ist eine gute Methode, um zu bestimmen, welche Begriffe und gemischten Begriffe Sie in Ihrem Modell benötigen oder nicht benötigen.
Hoffe das hilft,
DS