lineares oder logistisches Modell?

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
Wurzel
Beiträge: 20
Registriert: So Apr 02, 2017 7:12 pm

lineares oder logistisches Modell?

Beitrag von Wurzel »

Hallo,
Ich will den Brusthöhendurchmesser von Bäumen erklären. Dafür nehme ich diesen als eine Funktion von Pathogenen und Standort, also
model <- lm(Brusthöhendurchmesser ~ Pathogene + Standort)
Nun ist mir beim plotten der Residuals mit

Code: Alles auswählen

plot(fitted(model), residuals(model))
aufgefallen, dass ich da anstelle einer Punktwolke Streifen habe. Also belesen, Fehler ist, dass Pathogene binär ist (Sind vorhanden oder nicht) und Standort ebenso (feucht oder trocken). Ich bin auf logistische modelle gestoßen, die erstmal einfach aussehen, da ich einfach ein "g" vors "lm" schreiben muss und den Rest beibehalten kann. Weitere Recherche hat ergeben, dass scheinbar bei den logistischen Modellen y binär sein kann und die erklärende Variablen egal sind. Nun Ist grade y bei mit metrisch skaliert. Was kann ich da nehmen? Wenn ich es plotte sehe ich mich sowohl in anova und summary des lm wie auch in denen des glm bestätigt, aber das schein ja nicht ganz richtig zu sein. (Da hat mir ein Professor für Statistik geholfen, der meinte, ich solle das über lm machen... Muss diese Aussage bestätigt oder korrigiert werden?)
Alles Gute!

R Studio, Win7, 64bit
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: lineares oder logistisches Modell?

Beitrag von EDi »

Die Verteilung der Prädikatoren ist in der linearen Regression keine Modelannahme und somit zunächst mal egal (kann [z.b. leverage points], muss aber nicht probleme machen).
Mit der logistischen regression bist du auf dem Holzpfad, die ist für binomial verteilte y - passt hier nicht

Die Streifen (vertikale vermute ich - was anderes kanns eigentlich nicht sein) sind kein Problem - das ist ja letzendlich was das model macht - ein Mittelwert je Pathogen x Standort Kombnination (=> fitted(model) - auf der x-achse).

Normalverteilung und Varianzhomogenität sollte man sich aber noch anschauen (falls ersteres etwas schief ist, könnte man über ein Gamma-verteilung nachdenken [positive, kontinuierlich response], falls zweiteres Probleme macht könnte man über gls nachdenken und unterschiedliche Varianzen je Gruppe fitten [lm fitted ja nur einen Varianzparameter für alle Daten]),
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: lineares oder logistisches Modell?

Beitrag von consuli »

EDi hat geschrieben: So Nov 05, 2017 2:36 am Mit der logistischen regression bist du auf dem Holzpfad, die ist für binomial verteilte y - passt hier nicht
Insbesondere die logistische Regression keine y-Werte größer 1 (und kleiner 0) verarbeiten kann.

Consuli
Irmgard.
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: lineares oder logistisches Modell?

Beitrag von EDi »

consuli hat geschrieben: Mo Nov 06, 2017 2:39 pm
EDi hat geschrieben: So Nov 05, 2017 2:36 am Mit der logistischen regression bist du auf dem Holzpfad, die ist für binomial verteilte y - passt hier nicht
Insbesondere die logistische Regression keine y-Werte größer 1 (und kleiner 0) verarbeiten kann.

Consuli
Korinthenkack on:

Das kann sie schon, nur muss man dann weights angeben. Modelliert wird ja y ~ Binomial(N, pi).
Wenn N > 1 (=weights), dann kann y auch > 1 sein.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Wurzel
Beiträge: 20
Registriert: So Apr 02, 2017 7:12 pm

Re: lineares oder logistisches Modell?

Beitrag von Wurzel »

Hallo,
Danke erstmal vorab. Nein, die geplotteten residuals gingen von links unten nach recht oben.
Ich denke, du meinst "plot(fitted(model), residuals(model))", dann gibt es vertikale Streifen.
Normalverteilt ist der Durchmesser nur bedingt, da in einem Wald es eigentlich immer viel mehr kleine junge Bäume gibt und je größer sie werden sich das umso mehr ausdünnt (So auch im Histogramm). Hier aber kommen weniger Nachwuchs dank Klimawandel, sodas ich eine rechtsschiefe Vereilung habe. (wobei bei allen eingegeben Größen, mit Ausnahme von den binären, maximal ein p-value = 4.878e-12 beim shapiro-test rauskommt.)
Levene Test funktioniert nicht, Flinger Test besagt Varianzen zwischen Brusthöhendurchmesser und Pathogene sind homogen, Brusthöhendurchmesser und Standort aber nicht.

Gibt es ganz platt einen Entscheidungsbaum? Ich meine, da es ganz viele Entscheidungsbäume als Hilfe auf der Suche nach dem passenden statistischen Test gibt, denke ich mir, dass es sowas bestimmt auch für die Suche des Models geben müsste (Danke für Eure Hilfe, EDi und consuli, aber das brachte mich nicht weiter. Das ist grad echt etwas zu tief für mich drin.).
Alles Gute!
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: lineares oder logistisches Modell?

Beitrag von bigben »

Hi!

Es ist ganz egal, welches Regressionsverfahren Du einsetzt: Wenn Pathogene und Standort jeweils binär sind, dann gibt es nur 4 verschiedene Kombinationen an Prädiktoren und damit höchstens 4 verschiedene vorhergesagte Werte und deshalb sind in

Code: Alles auswählen

plot(fitted(model), residuals(model))
Streifen zu erkennen, bei den vier verschiedenen Werten, die `fitted(model)`ergeben kann. Das ist alles kein Grund, nicht eine einfache lineare ordinary-least-squares Regression zu machen.

Was die rechtsschiefe Zielverteilung angeht, kann man sich natürlich Anpassungen denken. Wenn die Dicke eine Funktion der Alters in Jahren ist, ist selbiges vielleicht angenähert poissonverteilt. Auch eine Logarithmierung ist manchmal ganz brauchbar, wenn hohe Werte seltener vorkommen als kleine. An der Tatsache, dass da Streifen entstehen, weil nur 4 verschiedene Vorhersagewerte vorkommen, wird das aber nichts ändern.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: lineares oder logistisches Modell?

Beitrag von consuli »

EDi hat geschrieben: Mo Nov 06, 2017 7:05 pm
consuli hat geschrieben: Mo Nov 06, 2017 2:39 pm
EDi hat geschrieben: So Nov 05, 2017 2:36 am Mit der logistischen regression bist du auf dem Holzpfad, die ist für binomial verteilte y - passt hier nicht
Insbesondere die logistische Regression keine y-Werte größer 1 (und kleiner 0) verarbeiten kann.

Consuli
Korinthenkack on:

Das kann sie schon, nur muss man dann weights angeben. Modelliert wird ja y ~ Binomial(N, pi).
Wenn N > 1 (=weights), dann kann y auch > 1 sein.
Ok, das ist ja wirklich interessant!

Ich dachte immer, man verwendet die logit-Transformation aka link-Funktion extra deshalb, um Prognosewerte zwischen 0 und 1 zu erzwingen.

Wenn man geeignete Gewichte verwendet und y Zielwerte größer 1 reinsteckt, kommen wieder Prognosen über 1 raus? :?: :?: :?: Habe ich noch nie benutzt.

Evtl. wäre ein kurzes R Beispiel hilfreich, wie man mit Gewichten die Restriktion auf einen größeren Wertebereich ausdehnen kann.

Consuli
Irmgard.
Antworten