Wann sollten Sie Ihre Variablen protokollieren / erweitern, wenn Sie Modelle mit zufälligen Gesamtstrukturen verwenden?

13

Ich mache eine Regression mit Random Forests, um Preise basierend auf mehreren Attributen vorherzusagen. Code wird in Python mit Scikit-learn geschrieben.

Wie entscheiden Sie, ob Sie Ihre Variablen mit exp/ transformieren sollen, logbevor Sie sie für das Regressionsmodell verwenden? Ist es notwendig, einen Ensemble-Ansatz wie Random Forest zu verwenden?

Nyxynyx
quelle
3
Ich denke, dass dies aufgrund des zufälligen Wald- / Ensemble-Aspekts ein bisschen anders ist als diese Frage, aber die Frage könnte vielleicht umformuliert werden, nachdem Sie sich den anderen Beitrag angesehen haben.
Peter Flom - Wiedereinsetzung von Monica
@PeterFlom könntest du mir helfen, die Frage neu zu formulieren? Ich bin nicht kompetent genug in diesem Bereich :)
Nyxynyx
Die Art und Weise, wie die meisten Leute den Begriff "Ensemble" RF verwenden, ist nur ein möglicher Input für ein Ensemble.
Hack-R

Antworten:

16

Die Art und Weise, wie zufällige Wälder erstellt werden, ist für monotone Transformationen der unabhängigen Variablen nicht relevant. Splits werden völlig analog sein. Wenn Sie nur Genauigkeit anstreben, werden Sie keine Verbesserung feststellen. Da Random Forests komplexe nichtlineare (Warum nennt man diese lineare Regression?) Beziehungen und Variableninteraktionen im laufenden Betrieb finden kann, können Sie die Informationen, die dieser Algorithmus ermöglicht, glätten, wenn Sie Ihre unabhängigen Variablen transformieren das richtig.

Gelegentlich werden zufällige Wälder nicht als Black Box behandelt und für Schlussfolgerungen verwendet. Sie können beispielsweise die von ihr bereitgestellten Größen für die Variablenwichtigkeit interpretieren oder eine Art von Randeffekten Ihrer unabhängigen Variablen auf Ihre abhängige Variable berechnen. Dies wird normalerweise als partielle Abhängigkeitsdiagramme dargestellt. Ich bin mir ziemlich sicher, dass diese letzte Sache stark von der Größe der Variablen beeinflusst wird. Dies ist ein Problem, wenn Sie versuchen, Informationen von Random Forests zu erhalten, die aussagekräftiger sind. In diesem Fall kann es hilfreich sein, die Variablen zu transformieren (standardisieren), wodurch die partiellen Abhängigkeitsdiagramme vergleichbar werden können. Nicht ganz sicher, muss darüber nachdenken.

Vor nicht allzu langer Zeit habe ich versucht, die Anzahl der Daten mithilfe einer Zufallsstruktur vorherzusagen. Die Regression auf der Quadratwurzel und das natürliche Protokoll der abhängigen Variablen haben ein wenig geholfen, nicht viel und nicht genug, um das Modell beizubehalten.

Einige Pakete, in denen Sie zufällige Gesamtstrukturen verwenden können:

https://uc-r.github.io/lime

https://cran.r-project.org/web/packages/randomForestExplainer/index.html

https://pbiecek.github.io/DALEX_docs/2-2-useCaseApartmetns.html

JEquihua
quelle
6

Wenn Sie @JEquihua wiederholen, wird sich die Genauigkeit der Random Forest-Vorhersage nicht verbessern.

Beachten Sie auch, dass Sie Probleme verursachen können, wenn Sie sowohl den ursprünglichen Prädiktor als auch den transformierten Prädiktor beibehalten (wie dies bei der linearen Regression häufig der Fall ist). Dies liegt daran, dass RF zufällig eine Teilmenge der Variablen auswählt, um jeden Baum zu vergrößern, und Sie die transformierte Variable im Wesentlichen zweimal eingefügt haben. Wenn es sich um einen starken Prädiktor handelt, wird er verwendet, und Ihre zufälligen Wälder sind nicht so unkorreliert wie sie möglicherweise waren, was zu einer höheren Varianz führt.

Scott Kaiser
quelle
1
Es ist eine schreckliche Idee, sowohl einen transformierten als auch einen nicht transformierten Prädiktor in ein beliebiges Modell einzufügen . Sie sind perfekt kollinear und können mit Ihrem Modell nichts anfangen, egal ob es sich um eine zufällige Gesamtstruktur oder eine lineare Regression handelt.
mkt - Wiedereinsetzung von Monica