Aufteilen von Bäumen in R: party vs. rpart


15

Es ist schon eine Weile her, dass ich mir das Teilen von Bäumen angesehen habe. Als ich das letzte Mal so etwas gemacht habe, mag ich Party in R (erstellt von Hothorn). Die Idee der bedingten Folgerung durch Stichproben ist für mich sinnvoll. Aber rpart hatte auch Anklang.

In der aktuellen Anwendung (ich kann keine Details angeben, aber es geht darum zu bestimmen, wer unter einer großen Stichprobe von Festgenommenen ins Gefängnis kommt) kann ich keine fortgeschrittenen Methoden wie zufällige Wälder, Absacken, Boosten usw. anwenden - ich brauche eine leicht erklärbare Regel.

Ich möchte auch eine manuelle Kontrolle darüber haben, welche Knoten aufgeteilt werden, wie in Zhang & Singer (2010) Recursive Partitioning and Applications empfohlen . Die mit diesem Buch gelieferte Freeware erlaubt dies, ist aber ansonsten eher primitiv in der Benutzereingabe.

Irgendwelche Empfehlungen oder Vorschläge?

Antworten:


8

Ich stimme @Iterator zu, dass die Methode für rpart einfacher zu erklären ist. Wenn Sie jedoch nach einfach zu erklärenden Regeln suchen, verliert die Partei (ohne eingesackte Bäume) nichts in Bezug auf die Erklärung der Vorhersage - Sie haben immer noch einen einzigen Baum. Wenn Sie auch Treiber für die Ergebnisvariable (nicht nur reine Vorhersagekraft) betrachten möchten, würde ich immer noch denken, dass diese Partei der richtige Weg ist - um zu erklären, dass ein Entscheidungsbaum (wie rpart) ziemlich voreingenommen sein kann, wie er welche auswählt Variablen sind wichtig und wie sie Splits erzeugen. Die Partei verwendet Permutationstests und ermittelt statistisch, welche Variablen am wichtigsten sind und wie die Aufteilung erfolgt. Anstatt sich voreingenommen auf kategoriale Variablen mit vielen Ebenen zu stützen, wie zum Beispiel rpart, verwendet party statistische Tests, um die beste Struktur zu finden.


1
Gute Antwort. Ich denke, dass Sie einen sehr guten Grund gefunden haben, warum Party für ein fortgeschrittenes Publikum besser ist und warum es eine gute Idee ist, das Publikum zu erziehen, um es dabei zu unterstützen, den Gebrauch von Party zu akzeptieren.
Iterator

4

[NB: Siehe Update 1 unten.] Ich finde, dass die Methodik für rpartviel einfacher zu erklären ist als party. Letzteres ist jedoch weitaus ausgefeilter und bietet wahrscheinlich bessere Modelle. Die Art, wie ich es manchmal erkläre, partyist, davon als Grundlage für die Herstellung lokaler linearer (oder GLM) Modelle zu sprechen. Ich baue darauf auf, indem ich darauf hinweise, dass die Ergebnisse für rpartalle Elemente, die in den Blattknoten fallen, dh die durch die Teilungen begrenzte Box / Region, konstant sind. Selbst wenn es Verbesserungen über lokale Modelle geben sollte, erhalten Sie nur eine konstante Vorhersage.

Im Gegensatz dazu werden partydie Splits entwickelt, um potenziell die Modelle für die Regionen zu optimieren. Tatsächlich werden andere Kriterien als die Modelloptimalität verwendet, aber Sie müssen Ihre eigene Fähigkeit zur Erklärung des Unterschieds messen, um zu bestimmen, ob Sie ihn gut erklären können. Die Papiere für sie recht zugänglich für Forscher sind, kann aber durchaus für jemanden nicht bereit , eine Herausforderung werden , zu prüfen , einfachere Methoden wie zufällige Wälder, die Förderung usw. Mathematisch denke ich , dass partyanspruchsvollere ist ... Trotzdem CART Modelle sind leichter zu Sowohl methodisch als auch in Bezug auf die Ergebnisse zu erläutern, und diese bieten einen guten Ansatz für die Einführung komplexerer baumbasierter Modelle.

Kurz gesagt, ich würde sagen, dass Sie rpartfür Klarheit partysorgen müssen und Sie können für Genauigkeit / Leistung verwenden, aber ich würde nicht vorstellen, partyohne einzuführen rpart.


Update 1. Ich habe meine Antwort auf mein Verständnis von partyvor ein oder zwei Jahren gestützt . Es ist ziemlich erwachsen geworden, aber ich würde meine Antwort dahingehend ändern, dass ich es rpartaufgrund seiner Kürze und seines Vermächtnisses immer noch empfehlen würde , sollte "unkonventionell" ein wichtiges Kriterium für Ihren Kunden / Mitarbeiter sein. Dennoch würde ich versuchen, mit mehr Funktionalität von zu migrieren party, nachdem ich jemanden vorgestellt habe rpart. Es ist besser, klein anzufangen, mit Verlustfunktionen, Aufteilungskriterien usw. in einem einfachen Kontext, bevor Sie ein Paket und eine Methodik einführen, die weitaus komplexere Konzepte beinhalten.


2
Ich denke, Sie sind ein wenig verwirrt darüber, was das partyPaket tun kann. Die reine partyFunktion macht gerade einen einzelnen einfachen Baum wie rpartmit Mehrheitsabstimmung in den Blättern. Die mobFunktion in partyist, was Bäume mit komplexeren Modellen in den Blättern baut (und die Teilungen basierend auf Parameterinstabilität auswählt.)
Shea Parkes

1
@SheaParkes Du hast recht. Es ist eine Weile her und ich bin mir nicht sicher, ob ich es nur verwendet habe moboder ob der Rest des Pakets ziemlich gewachsen ist - ich erinnere mich beispielsweise nicht, dass ich vorher zufällige Wälder gesehen habe. Ich werde meine Antwort überarbeiten ...
Iterator

2
Und eigentlich hatte ich auch ein bisschen vergessen. Es geht ctreedarum, einen einzelnen Baum cforestzu formen, einen zufälligen Wald mobzu formen und modellbasierte Blätter zu formen. Und fyi, Wald macht Spaß, ist aber fürchterlich langsam vorherzusagen.
Shea Parkes

Ich werde Mob untersuchen , ich glaube nicht, dass es existiert hat, als ich das letzte Mal Party gemacht habe . Die Forest-Anwendungen sind diesmal nichts für mich.
Peter Flom - Reinstate Monica

@PeterFlom Ich glaube, mobich war von Anfang an dabei oder ctreebin zumindest danach gekommen , nehme ich an. Es gibt es seit 2009 oder früher. Jedenfalls zeigt sich nur, dass wir alle auf SE etwas Neues lernen können. :)
Iterator
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.