Optimierungsparameter für die Bootstrap-Gesamtstruktur, Anzahl der Teilungen und VorhersageformelLiebe JMP & Community,
(W10 Enterprise, JMP Pro 15.0.0)
Ich bin gespannt, welche Optimierungsparameter für die Bootstrap-Forest-Modellierung die Anzahl der Teilungen für jeden Faktor beeinflussen. Ich bin damit vertraut, wie man eine Abstimmungstabelle usw. verwendet, um die Anpassung zu optimieren, um die Anpassung zu maximieren, z. B. R^2 für den Validierungssatz. Welcher der sechs unten hervorgehobenen Parameter kann sich auf die Anzahl der Teilungen (von Spaltenbeiträgen) auswirken?

Wenn Sie sich die Berichtsausgabe von Bootstrap Forest ansehen, gibt es in den Spaltenbeiträgen eine Spalte mit dem Namen „Anzahl der Teilungen“. Wenn Sie diese Teilungen zusammenfassen, erhalten Sie die Gesamtzahl der Teilungen in der Gesamtstruktur. Für sich genommen handelt es sich hierbei um die Häufigkeit, mit der das Modell bei einem bestimmten Parameter geteilt wurde.

Wenn Sie sich dann die Formel, die Sie in der Datentabelle speichern können, genauer ansehen, kann es manchmal zu Unterschieden zwischen der Häufigkeit, mit der der Parameter in einer Formel gezählt wird, und der Anzahl der Teilungen für diesen Parameter kommen.
Wenn ein Parameter beispielsweise 1.000 Teilungen hat, sollte er in der Formel insgesamt 2.000 Mal zweimal auftauchen, was sinnvoll ist. Dies geschieht jedoch nicht immer. Ich vermute, dass es an einem der Tuning-Parameter liegt, bin mir aber nicht sicher. Wenn nicht, was könnte dies sonst noch beeinflussen?
Um ein konkretes Beispiel zu geben, sehen Sie unten einen Screenshot der Spaltenbeiträge einer Anpassung und einen Vergleich mit 2*Anzahl der Teilungen und der Häufigkeit, mit der dieser Parameter in der Formel gezählt wird. Wie man sieht, stimmt die Häufigkeit, mit der der Parameter in der Formel auftaucht (z. B. 12626 für X_1), nicht mit 2*Anzahl der Teilungen (12636 für X_1) überein. Manchmal liegt es nahe beieinander, manchmal ist es ziemlich groß (siehe Spalte „Unterschied“). Interessant ist auch, dass sich die Differenzen auf Null summieren. Was auch immer diese Unterschiede verursacht, wird so „gewichtet“, dass es nicht die Gesamtzahl der Aufteilungen ändert, sondern nur die Art und Weise, wie sie zugewiesen werden.

Ich finde es sehr interessant, dass in der Formel der Parameter X_11 276-mal häufiger vorkommt als 2*Anzahl der Teilungen. Für mich deutet dies darauf hin, dass bei manchen Splits nicht gleichmäßig über X_11, sondern über einen anderen Parameter entschieden wird. Und zwar so, dass die Gesamtzahl der Teilungen konstant bleibt. Könnte es mit den pro Split erfassten Begriffen oder der minimalen Splitgröße zusammenhängen? Ich habe einige manuelle Tests ausprobiert und konnte nicht feststellen, wie sich einer dieser Tests auf die Anzahl der Teilungen auswirkt.
Übrigens kopiere ich die Formel in Word und zähle einfach die Parameter X_1, Was verursacht das? Leider ist mir keine Möglichkeit bekannt, die Formel mit dem Text Explorer oder ähnlichem in JMP auszuwerten.
Wir freuen uns über jedes Feedback von JMP-Entwicklern oder Modellierern in der Community.
Danke,
DS
Betreff: Bootstrap-Forest-Tuning-Parameter, Anzahl der Teilungen und VorhersageformelHallo @Byron_JMP ,
Ja, ich verstehe, dass die Anzahl der Teilungen die Häufigkeit ist, mit der der Algorithmus einen Baum anhand dieser bestimmten Variablen teilt. Wenn Sie etwas tiefer in die Formel eintauchen, die in die Spalte geschrieben wird, ist die Anzahl der Aufteilungen, die in den Spaltenbeiträgen gemeldet wird, nicht immer genau die Hälfte der Anzahl, die mit dem X-Faktor in der Formel gezählt wird.
Sie könnten sich vorstellen, dass eine Baumentscheidung etwa so aussehen könnte (nur als Beispiel):
If(Fehlt(X_1) | X_1 <=32, 41, 35)
Wenn das bei jeder Entscheidung der Fall ist, dann würden Sie davon ausgehen, dass die Häufigkeit, mit der
Wenn der Entscheidungsbaum jedoch stattdessen eher wie folgt aussieht:
If(Fehlt(X_1) | X_3 > 16, 20, 18)
Dann könnte es vorkommen, dass die Häufigkeit, mit der ein Baum für diese Variable geteilt wird, von der Häufigkeit abweicht, mit der er in der Formel erscheint. Was könnte das antreiben, wenn die Entscheidungsbäume erstellt werden?
In der besonderen Situation des ursprünglichen Beitrags können Sie sehen, dass sich die Faktoren X_1, X_2 und X_7 gegenseitig ausgleichen, sodass die Summe der Werte in der Spalte „Differenz“ 0 ergibt. Das Gleiche gilt für alle anderen X-Faktoren, wenn ihre Differenzen addiert werden.
In diesem Fall wird der Faktor Ebenso werden sie für X_2 und X_7 124-mal MEHR bzw. 119-mal WENIGER in der Formel verwendet. Wenn man diese addiert: 5 + (-124) + 119 = 0.
Könnte es sein, dass es an Informationen fehlt? Das ist meiner Meinung nach zu „perfekt“, um ein Zufall zu sein. Ich kann einfach nicht herausfinden, welcher Teil des Tuning-Prozesses dafür verantwortlich ist.
Was deine Fragen betrifft:
1. Ich verwende die DOE-Option „Uniform“, um einen großen Satz von mindestens 60 Läufen zu generieren (das Zehnfache der Anzahl der Faktoren, die ich ändere). Dann repliziere ich das DOE ein paar hundert Mal und führe es aus – ich mache es über Skripte, damit es nicht meinen gesamten RAM verbraucht. Die Ausführung kann einige Tage dauern.
2. Ich nehme meine ursprüngliche Datentabelle und teile sie im Verhältnis 80/20 zum Trainings-/Testdatensatz auf. Anschließend teile ich die ursprüngliche Datentabelle in reine Trainings- und reine Testtabellen auf. Ich verwende die Trainingstabelle und verwende einen zufälligen Holdout zwischen etwa 0,18 und 0,25 des Datensatzes, um die Modellanpassung zu validieren. Auch dies erledige ich mithilfe von Skripten, damit ich die optimalen Werte für die Optimierung finden und als Validierungsteil verwenden kann. Ich finde oft, dass eine exakte 80/20-Aufteilung zwischen Training und Validierung nicht so optimal ist wie etwas, das leicht davon abweicht, sagen wir 0,79/0,21. Mit dem Validierungssatz können Sie oft ein etwas besseres R^2 erreichen.
Danke,
DS
Betreff: Bootstrap-Forest-Tuning-Parameter, Anzahl der Teilungen und VorhersageformelDies ist möglicherweise keine sehr zufriedenstellende Antwort, aber die Anzahl der Teilungen ist lediglich eine Zählung dafür, wie oft die Variable der beste Ort zum Teilen eines Zweigs war.
Es gibt keine wirkliche Kontrolle darüber, wie oft eine Variable geteilt werden kann.
Vielleicht noch ein paar Fragen an Sie:
1. Wie bauen Sie Ihren Drehtisch und wie viele Läufe verwenden Sie?
2. Tun Sie bei der Optimierung den gesamten Datensatz oder eine zufällige Teilmenge?
-Welchen Anteil der Daten verwenden Sie in einer Teilmenge (falls Sie dies tun)
Ihre Beobachtungen zu Parameternamen, die in Formeln verwendet werden, sind interessant. Ich könnte mir das mal ein wenig anschauen.