Antwortverteilungsabhängige Verzerrung bei der zufälligen Waldregression


9

Ich verwende das randomForest-Paket in R (R-Version 2.13.1, randomForest-Version 4.6-2) für die Regression und habe eine signifikante Verzerrung in meinen Ergebnissen festgestellt: Der Vorhersagefehler hängt vom Wert der Antwortvariablen ab. Hohe Werte werden unterprognostiziert und niedrige Werte werden überprognostiziert. Zuerst vermutete ich, dass dies eine Folge meiner Daten war, aber das folgende einfache Beispiel legt nahe, dass dies dem Algorithmus für zufällige Gesamtstrukturen inhärent ist:

n = 1000; 
x1 = rnorm(n, mean = 0, sd = 1)
response = x1
predictors = data.frame(x1=x1) 
rf = randomForest(x=predictors, y=response)
error = response-predict(rf, predictors)
plot(x1, error)

Ich vermute, dass die Verzerrung von der Verteilung der Antwort abhängt. Wenn sie x1beispielsweise gleichmäßig verteilt ist, gibt es keine Verzerrung. Wenn x1es exponentiell verteilt ist, ist die Vorspannung einseitig. Im Wesentlichen sind die Werte der Antwort an den Enden einer Normalverteilung Ausreißer. Es ist keine Überraschung, dass ein Modell Schwierigkeiten haben würde, Ausreißer vorherzusagen. Im Fall von randomForest ist es weniger wahrscheinlich, dass ein Antwortwert von extremer Größe vom Ende einer Verteilung in einem Endblatt landet, und seine Wirkung wird im Ensemble-Durchschnitt ausgewaschen.

Beachten Sie, dass ich versucht habe, diesen Effekt in einem vorherigen Beispiel zu erfassen: "RandomForest in R lineare Regressionsschwänze mtry". Dies war ein schlechtes Beispiel. Wenn die Vorspannung in dem obigen Beispiel dem Algorithmus wirklich inhärent ist, könnte eine Vorspannungskorrektur formuliert werden, wenn die Antwortverteilung gegeben ist, die vorhergesagt werden soll, was zu genaueren Vorhersagen führt.

Unterliegen baumbasierte Methoden wie zufällige Gesamtstrukturen einer Verzerrung der Antwortverteilung? Wenn ja, ist dies der Statistik-Community zuvor bekannt und wie wird es normalerweise korrigiert (z. B. ein zweites Modell, das die Residuen des voreingenommenen Modells als Eingabe verwendet)?

Die Korrektur einer antwortabhängigen Vorspannung ist schwierig, da die Antwort von Natur aus nicht bekannt ist. Leider hat die geschätzte / vorhergesagte Antwort nicht oft die gleiche Beziehung zur Verzerrung.


Ich habe fast 12 Monate lang über dieselbe Frage nachgedacht. Siehe stats.stackexchange.com/questions/21530/… und kaggle.com/forums/t/1106/random-forests-newbie-question . Ich stimme zu, dass das Problem darin zu bestehen scheint, dass Ausreißer durch die Durchschnittswerte, die an jedem Knoten als Vorhersage verwendet werden, nicht gut dargestellt werden. Vorhersageanpassung oder Modell im Knoten scheinen vernünftige Ansätze zu sein, sind sich jedoch nicht sicher, was der Standardansatz ist.
Redcalx

Antworten:


4

Es ist genau so, wie Sie vermuten - die Tatsache, dass Blattknoten Mittelwerte über eine Reihe von Objekten enthalten, macht jedes Regressionsbaummodell die Antwortverteilung enger und macht eine Extrapolation unmöglich. Das Ensemble hilft natürlich nicht dabei und verschlimmert die Situation.

Die naive Lösung (und gefährlich wegen Überanpassung) besteht darin, das Modell in eine Art klassische Regression zu verpacken, die die Reaktion auf die gewünschte Verteilung neu skaliert.

Die bessere Lösung ist eines der Modell-in-Blatt-Baummodelle, wie zum Beispiel MOB im Party-Paket. Die Idee hier ist, dass die Partitionierung des Merkmalsraums enden sollte, wenn das Problem nicht auf einen einfachen Wert (wie im regulären Baum), sondern auf eine einfache Beziehung (z. B. linear) zwischen der Antwort und einigen Prädiktoren vereinfacht wird. Eine solche Beziehung kann nun durch Anpassen eines einfachen Modells gelöst werden, das die Verteilung nicht stört oder Extremwerte trimmt und extrapolieren kann.


Warum würde eine Neuskalierung der Antwortverteilung zu einer Überanpassung führen? Die Ordnungsbeziehung zwischen zwei beliebigen Waldausgaben behält dieselbe Reihenfolge bei, nachdem sie durch eine Polynomanpassung verschoben wurde, um sie neu zu skalieren. Daher wird die Entscheidungsfindung aus dem Modell nicht beeinflusst, wenn Sie Ihre Entscheidung auf Quantile der Ausgabe stützen.
Jase

R2

3

Ich hatte genau das gleiche Problem mit Conditional RF, auf das über das Rasselpaket zugegriffen wurde. Ich schickte Graham Williams (Autor von Rattle) eine E-Mail darüber, der meine Anfrage freundlicherweise an die Autoren von cforest weiterleitete, die antworteten und vorschlugen, mit zwei Parametern zu spielen, auf die anscheinend nirgendwo in der CRF-Dokumentation verwiesen wird, die aber dennoch angesprochen zu werden schienen das Problem, nämlich minplit = 2 und minbucket = 1.


minsplitIch
nehme an

2

Sie sollten den optimalen Wert von mtry und sampsize schätzen, indem Sie den "Kreuzvalidierungsfehler" außerhalb der Stichprobe über ein Raster verschiedener mtry- und sampsize-Parameter für eine entsprechende Antwortvariable für einen festen Satz von Merkmalen minimieren und dann Schlussfolgerungen ziehen. in Bezug auf die Ergebnisse. Sie können eine Kombination der Rasterparameter mit expand.grid erstellen.


2
Dies ist ein guter Vorschlag für Gebäudemodelle. Im Allgemeinen liefern optimierte Parameter genauere Vorhersagen. In diesem Fall besteht die Verzerrung jedoch unabhängig von der Abstimmung, soweit ich das beurteilen kann. Es gibt nur einen Prädiktor, daher muss mtry 1 sein. Jede Stichprobengröße unter n dient nur zur Vergrößerung der Verzerrung, und die Knotengröße hat nur geringe Auswirkungen.
rumbleB
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.