Entscheidungsbäume (CART)

Distanzmaße, Diskriminanzanalyse, graphische Analysen etc.

Entscheidungsbäume (CART)

Beitragvon IrPe » Mi 20. Jan 2016, 21:40

Hallo zusammen.

ich muss im Rahmen meiner Bachelorarbeit am Lehrstuhl für Statistik mittels der CART-Methode (Classification and Regression trees) eine Auswertung machen. Es geht um die regressionsbäume. Nun habe ich meine abhängige metrische Variable und viele unabhängige Variablen (sind unterschiedlich skaliert, sowohl nominale als auch ordinale). Ein wesentlicher Nachteil von CART liegt daran, dass mittels der Methode nur binäre Splits im Bäume generiert werden können. Ich habe aber in meinem Datensatz mehrere nominale Variablen (die ich als unabhängige in meine Auswertung mitnehmen will), die z.B. 17 oder 10 Ausprägungen haben. Wenn ich diese in die Berechnung mit rein nehme, dann werden doch die Ergebnisse sehr wohl verfälscht, da es nur binäre Splits gibt. Was passiert, wenn man bei den Variablen keinen genauen Trennwert finden kann, bei dem sich genau 2 heterogene Gruppen bilden lassen? Z.B. die nominale Variable mit 17 Ausprägungen lässt sich nicht durch einen Trennwert in 2 heterogene Gruppen hinsichtlich der abhängigen Variable aufteilen, sondern in 4, 5 oder 6 Gruppen. Wie kann man dann ein möglichst gutes CART-Modell bekommen? Mir fehlt nur noch ein, diese Variable mit vielen Ausprägungen in mehrere Dummy-Variablen umzucodieren. Was ist aber dann mit nominalen unabhängigen Variablen mit 3 oder 4 Ausprägungen? In der Literatur steht, dass die Methode sowohl für nominale als auch ordinale und metrische Variablen, egal ob als Response oder als erklärende Variablen, geeignet ist. Es steht niergendswo, dass man nur binäre Variablen benutzen soll. Vielleicht ist die Erklärung dafür sehr einfachIch aber ich stehe da gerade auf dem Schlauch. wäre um jede Hilfe Dankbar.

Mit freundlichen Grüßen
IrPe
Beobachter
Beobachter
 
Beiträge: 11
Registriert: Do 29. Okt 2015, 15:11
Danke gegeben: 4
Danke bekommen: 0 mal in 0 Post

Re: Entscheidungsbäume (CART)

Beitragvon bele » Do 21. Jan 2016, 16:42

IrPe hat geschrieben: Z.B. die nominale Variable mit 17 Ausprägungen lässt sich nicht durch einen Trennwert in 2 heterogene Gruppen hinsichtlich der abhängigen Variable aufteilen, sondern in 4, 5 oder 6 Gruppen. Wie kann man dann ein möglichst gutes CART-Modell bekommen?


Hallo,

ich bin nicht sicher, ob ich das Problem ganz verstanden habe. Mit einer binären Verzweigung kann man natürlich keine 4 oder 5 Gruppen unterscheiden. Mit mehreren hintereinander geschalteten Verzweigungen aber doch mühelos.

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5748
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1343 mal in 1330 Posts

folgende User möchten sich bei bele bedanken:
IrPe

Re: Entscheidungsbäume (CART)

Beitragvon IrPe » Do 21. Jan 2016, 22:22

IrPe hat geschrieben:ich bin nicht sicher, ob ich das Problem ganz verstanden habe. Mit einer binären Verzweigung kann man natürlich keine 4 oder 5 Gruppen unterscheiden. Mit mehreren hintereinander geschalteten Verzweigungen aber doch mühelos.

Sorry, ich habe das Problem nicht ganz verständlich beschrieben. Ja, das stimmt, die Gruppen kann man so unterscheiden. Ich versuche es das Problem genauer zu erklären.
Anhand des CART-Algorithmus kann man die Wichtigkeit der Variablen, die einen Einfluß auf die abhängige Variable haben, abbilden. Im Baum wird das wichtigste Kriterium in der ersten Verzweigung angezeigt, die zweit-wichtigste in der 2. Verzweigung und so weiter. Außerdem wird in der Verzweigung ein Trennwert angezeigt. Z.B. eine Verzweigung mit dem Kriterium X1 mit einem Trennwert <=3. Und es wird immer nur ein Trennwert auf einer Ebene angezeigt. Es kann aber sein, dass es mehrere Trennwerte auf einer Ebene gibt (Z.B. 2 oder 3 oder 4). Der CART-Algorithmus kann das aber so nicht abbilden. D.h., dass die Ergebnisse verfälscht werden, richtig?

Viele Grüße
IrPe
Beobachter
Beobachter
 
Beiträge: 11
Registriert: Do 29. Okt 2015, 15:11
Danke gegeben: 4
Danke bekommen: 0 mal in 0 Post

Re: Entscheidungsbäume (CART)

Beitragvon bele » Fr 22. Jan 2016, 16:55

Hallo,

vielleicht verstehe ich Dich besser mit einem konkreten Beispiel. Ich habe da mal was in R gebastelt: Ein Datensatz aus 6 nominalen Gruppen "A" bis "F", zu jeder der Gruppen eine normalverteilte Stichprobe von 20 Werten um verschiedene Mittelwerte:
http://rpubs.com/bele/rpartexample

Diese Implementierung von CART zeigt doch sehr schön, dass es am wichtigsten ist, erstmal zwischen den Gruppen A, B, C, E} und {D, F} zu unterscheiden und in jeder der beiden Gruppen folgt dann die weitere nächst-informative Unterteilung. So ist es in rpart in R gelöst. Welche Lösung würde Dir denn vorschweben?

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5748
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1343 mal in 1330 Posts

folgende User möchten sich bei bele bedanken:
IrPe

Re: Entscheidungsbäume (CART)

Beitragvon IrPe » Fr 22. Jan 2016, 18:09

Hallo,

vielen vielen Dank für das Beispiel. Ich wusste das nicht, dass CART es ermöglicht anhand der nominalen Größe auch so die Gruppen zu trennen. Das Beispiel hat mein Problem sehr gut gelöst. Ich werde meine Auswertungen in SPSS machen und kriege SPSS erst ab Februar. Deshalb konnte ich die Methode noch gar nicht ausprobieren (und mit R kenne ich mich nicht aus). Ich habe mir aber mehrere Ausgaben von CART-Bäumen im Internet angeschaut und es sah immer so aus, als ob der Trennwert immer <= ein Wert war. Deswegen hat mich das sehr verwirrt. Könntest du mir vielleicht ein gutes Buch dazu empfehlen?
Du hast mir auf jeden Fall weiter geholfen. Ich freue mich sehr darüber.

Viele Grüße
IrPe
Beobachter
Beobachter
 
Beiträge: 11
Registriert: Do 29. Okt 2015, 15:11
Danke gegeben: 4
Danke bekommen: 0 mal in 0 Post

Re: Entscheidungsbäume (CART)

Beitragvon bele » Fr 22. Jan 2016, 20:44

IrPe hat geschrieben:Ich werde meine Auswertungen in SPSS machen und kriege SPSS erst ab Februar. Deshalb konnte ich die Methode noch gar nicht ausprobieren


Ja, das scheint mir ein typisches Problem mit SPSS zu sein - man macht sich solange Gedanken über die Verfügbarkeit, dass man zwischendurch auch den Einstieg in R finden könnte, das dann ein Leben lang immer verfügbar bliebe.
Buchtipp kann ich Dir keinen geben. Was ich bisher gebraucht habe habe ich online aus R-nahen Quellen gefunden (googlen nach Zeileis und Hothorn...). An einem Lehrstuhl für Statistik wird man es aber wohl genauer wissen wollen.

Viel Glück,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5748
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1343 mal in 1330 Posts

Re: Entscheidungsbäume (CART)

Beitragvon IrPe » Mi 3. Feb 2016, 14:39

Hallo,

nun habe ich endlich SPSS da :) Habe jetzt die CART -Methode für den Regressionsbaum verwendet. Es erscheint bei mir leider ein viel zu hoher Risiko Schätzer (689,72). Und meine Gesamtvarianz beträgt 775,78, d.h., dass der Anteil der erklärten Varianz nur (1 - 689,72/775,78)= 11,09% beträgt. Die Darstellung der Ergebnisse im Baum scheinen aber aus meiner Sicht logisch zu sein. Die Frage ist, kann ich so ein Modell mit so einer geringen Erklärungsvarianz benutzen? Und wenn ja, wie ist es zu erklären, dass der Anteil der erklärenden Varianz so gering ist.

Ein zweites Problem: SPSS nimmt alle Werte in die Berechnung mit rein, auch die Fehlenden Werte der unabhängigen Variablen.Wie könnte ich das Problem lösen? Kann ich einfach alle Objekte mit fehlenden Werten aussschließen (einfach händisch diese Objekte lösche)?

Dann habe ich noch ein Problem mit der Kreuzvalidierung, die ich im Rahmen meiner BA durchführen muss. Leider Funktioniert es nicht, da in der Ausgabe immer so eine Warnung kommt

"Das Wichtigkeitsdiagramm ignoriert die PLOT INCREMENT-Spezifikation.
MCCodes_kAT_CROSSVALIDATION_FAILED_CHECK_TREE.
Die Ausführung dieses Befehls wurde unterbrochen"


Wäre sehr dankbar für jede Hilfe.

Viele Grüße,
Irina
IrPe
Beobachter
Beobachter
 
Beiträge: 11
Registriert: Do 29. Okt 2015, 15:11
Danke gegeben: 4
Danke bekommen: 0 mal in 0 Post

Re: Entscheidungsbäume (CART)

Beitragvon bele » Do 4. Feb 2016, 15:47

Hallo Irina,

das ist schade. Ich dachte, die handliche und einigermaßen intuitive Benutzeroberfläche sei einer der beiden Stärken von SPSS. Für den Nicht-Eingeweihten klingt die Fehlermeldung nicht besonders hilfreich. Es gibt aber bei Google einige Treffer, wenn man die Fehlermeldung eintippt. Vielleicht ist da ja was dabei?

Drücke die Daumen,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5748
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1343 mal in 1330 Posts

Re: Entscheidungsbäume (CART)

Beitragvon IrPe » Fr 26. Feb 2016, 16:53

Hallo,
Danke für den Hinweis. Ich habe die Fehlermeldung in einem Forum gefunden und die Erklärung dafür war folgende: in SPSS geht leider das Pruning und die Kreuzvalidierung gleichzeitig nicht, man muss sich immer für eins entscheiden.

Ich habe noch eine Frage zu einem anderen Problem: wie kann man in SPSS die Mehrfachantworten (leider keine Dichotomien, sonst wäre es kein Problem, sondern die Kategorien) für den CRT-Algorithmus als unabhängige Variablen bei der Auswertung mit einbeziehen? Ich habe schon im Internet ziemlich lange gesucht und habe die Vorgehensweise für die Auswertungen der Mehrfachantworten nur für ganz normale Häufigkeiten gefunden. Für CRT gibt es leider nichts. Diese einzelne Variablen kann ich leider auch nicht dichotomisieren, da diese Kategorial kodiert sind.

Wäre für jede Hilfe echt sehr dankbar.

Viele Grüße,
Irina
IrPe
Beobachter
Beobachter
 
Beiträge: 11
Registriert: Do 29. Okt 2015, 15:11
Danke gegeben: 4
Danke bekommen: 0 mal in 0 Post


Zurück zu weitere Verfahren

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast