Variablenauswahl mit Caret

Faktorenanalyse, Clusteranalyse, Diskriminanzanalyse und weitere multivariate Verfahren mit R.

Variablenauswahl mit Caret

Beitragvon diejulla » Do 27. Apr 2017, 09:32

Hallo,
ich beschäftige mich gerade mit der Variablenauswahl mit dem Package "Caret". Ich kenne bisher die manuelle Vorwärtsselektion und Rückwärtseliminierung und habe da auch grundsätzlich das Prinzip verstanden. Zum Caret-Package finde ich nun ganz wenig Literatur und für die, die ich finde (auch die R Hilfe), habe ich zu wenig Grundwissen, um sie zu verstehen. Ich möchte aber nicht nur Skripte abarbeiten, sondern auch wissen, was der Unterschied ist und was dahinter steckt.

Was ich gefunden habe, ist ein Beispiel-Skript mit 2 Arbeitsweisen. Zum einen kann man die Variable mit der höchsten Korrelation finden (um sie dann, warum auch immer, auszuschließen). Dazu werden die Funktionen cor bzw. findcorrelation benutzt. Mit print wird mir dann im Beispiel-Datensatz [1] 8 ausgespuckt. Aber was heißt das für mich?


Dann kann man mit dem Befehl traincontrol ein Training Scheme vorbereiten.Was heißt das? Also was macht dieser Befehl mit meinen Daten?

Ich würde mich sehr freuen, wenn ihr mir hier ein bisschen Licht ins Dunkel bringen könntet, da ich definitiv zu den Ökologen zähle, die eher für die Datenerhebung leben und für die die statistische Auswertung ein (großes) notwendiges Übel ist :(

Viele Grüße!

Julla

Ps: Wenn ihr bzgl. der Variablenauswahl (verständliche!!!) Literaturtipps hättet, würde ich mich auch darüber sehr freuen!
diejulla
 
Beiträge: 3
Registriert: Do 27. Apr 2017, 08:47
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variablenauswahl mit Caret

Beitragvon Hufeisen » Do 27. Apr 2017, 10:34

Hallo Julla,

nach einem kurzen Blick in die Anleitung zum paket erst einmal das: traincontrol ist eine Erweiterung für die Funktion train, mit der einige Parameter übergeben werden können, um der Funktion train Anweisungen zu geben, was sie tun soll. Daher wäre es wohl sinnvoll, ersteinmal die Funktion und Arbeitsweise von train nachzuvollziehen. Train führt Arbeitsschritte der Modellanpassung/-optimierung durch. Einen sehr leicht verständlichen Einblick, was dort passiert, gibt dieses Video (unbedingt anschauen):
https://www.youtube.com/watch?v=UiBK9ehpF7o
Für diesen Schritt gibt es verschiedene Modelierungs- und Bewertungsmöglichkeiten, die eben mit traincontrol übergeben werden können. Traincontrol macht also nichts mit deinen Daten, sondern stellt train ein, dass dann deine Daten bearbeitet. Train macht dann das, was in dem Video gezeigt wird, oder etwas ähnliches. Hier ist Wikipedia recht verständlich: https://de.wikipedia.org/wiki/Kreuzvalidierungsverfahren

Aus deinen ersten Sätzen schließe ich, dass du vor allem die Zahl erklärender Variablen in einem Model reduzieren möchtest? Dafür ist das Caret-Package meiner Meinung nach zu viel des Guten :). Das wird hier etwas fachkundiger angesprochen: https://stats.stackexchange.com/questions/17565/choosing-the-best-model-from-among-different-best-models

Was ich gefunden habe, ist ein Beispiel-Skript mit 2 Arbeitsweisen. Zum einen kann man die Variable mit der höchsten Korrelation finden (um sie dann, warum auch immer, auszuschließen). Dazu werden die Funktionen cor bzw. findcorrelation benutzt. Mit print wird mir dann im Beispiel-Datensatz [1] 8 ausgespuckt. Aber was heißt das für mich?

Ohne den Skriptausschnitt kann ich nur raten. Eventuell prüft das Skript auch auf Multikollinearität(?). Das sollte natürlich vorher passieren.

Vielleicht könntest du auch noch deinen Datensatz skizzieren? Wie viele Beobachtungen und Variablen hast du?
Neu in R, versuche trotzdem zu helfen.
Hufeisen
 
Beiträge: 114
Registriert: Di 31. Jan 2017, 19:15
Danke gegeben: 0
Danke bekommen: 1 mal in 1 Post


Zurück zu Multivariate Verfahren

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron