Seite 1 von 3

Logit Modell

Verfasst: Do Nov 14, 2019 5:51 pm
von Dorfi
Hallo zusammen,

ich habe mich in diesem Forum registriert, weil ich mittlerweile wirklich am verzweifeln bin. Ich habe R vor gut 1,5 Jahren in einem Seminar in der Uni kennengelernt und jetzt, wo ich es mal brauchen könnte, funktioniert leider überhaupt nichts. :?

Ich würde gerne ein Logit Modell und ein multiples Regressionsmodell erstellen. Die Daten habe ich, meiner Meinung nach, sauber aufbereitet. Selbst beim zuweisen von Werten bekomme ich allerdings schon im Environment angezeigt, dass zB value x = NULL (empty) sei.

Die Excel-Datei mit den Werten habe ich angehängt und die Regression soll hinterher so aussehen:
y(result) ~ a + b1(minute) + b2(exp) + b3(top1=DUMMY) + b4(top2=DUMMY)
Test.xlsx
(15.02 KiB) 52-mal heruntergeladen
Ich erwarte nun natürlich nicht, dass das jemand für mich macht, aber evtl. hat jemand Zeit das mit mir zu machen?

Lieben Dank im Voraus für eure Antworten!

LG MIchelle

Re: Logit Modell

Verfasst: Do Nov 14, 2019 6:29 pm
von EDi
Die Daten habe ich, meiner Meinung nach, sauber aufbereitet.
Na dann sollte das ja kein Problem sein ;)

Code: Alles auswählen

mod <- glm(result ~ 1 + minute + exp + top1 + top2, family=binomial(link = "logit"), data = deindataframe)
summary(mod)

top1 & top2 müssen Faktoren sein, dann macht R automagisch dummies draus.

Re: Logit Modell

Verfasst: Do Nov 14, 2019 7:56 pm
von Dorfi
Wow danke, das ging ja einfach :D

Nur zu meinem Verständnis: Die Faktoren erreichst du mit dem "family =binominal"? Und bist du zu dem gleichen Ergebnis gekommen, dass keine der Variablen in irgendeiner Weise signifikant ist? :cry:

Wenn ich das als multiple Regression mache, dann habe ich ein R² von 0.03...soweit ich mich erinnere, sind das alles super Voraussetzungen für meine weitere Arbeit :roll: :lol:

Re: Logit Modell

Verfasst: Do Nov 14, 2019 8:28 pm
von EDi
Die Faktoren erreichst du mit dem "family =binominal"?
Ähm, nein...
Das bestimmt die Fehlerverteilung und die Linkfunktion. BItte in die Theorie von GLMs einlesen, gute bekömmliche Bücher gibt's z.B. von Zuur.

Und bist du zu dem gleichen Ergebnis gekommen, dass keine der Variablen in irgendeiner Weise signifikant ist? :cry:
Ich habs nicht gerechnet. War zu faul mir den Code zum einlesen und aufbereiten zu schreiben.
Wenn ich das als multiple Regression mache, dann habe ich ein R² von 0.03
Ich halte nicht viel vom (pseudo-)R^2 bei logistischen GLMs...

Bei einem GLM mit Normalverteilung mit Identitylink und das zu den Daten gut passt, würde das auf wenig erklärte Varianz durch dein Model deuten.

Re: Logit Modell

Verfasst: Do Nov 14, 2019 8:34 pm
von Dorfi
Oki, ich merke auf jeden Fall, dass ich viel zu wenig Ahnung habe. Werde mich noch etwas einlesen.

Auf jeden Fall erstmal ein fettes Danke, hast mir bis hierher schon sehr geholfen!

Re: Logit Modell

Verfasst: Sa Nov 16, 2019 1:05 pm
von Dorfi
ich habe doch nochmal eine Frage: Ist es ein Muss, dass in diesem Modell glm(result ~ 1 + minute + exp + top1 + top2 + proheim, family=binomial(link = "logit"), data = Test) eine Eins geschrieben werden muss? Finde darauf leider online keine Antwort.

Re: Logit Modell

Verfasst: Sa Nov 16, 2019 4:40 pm
von Athomas
Dorfi hat geschrieben: Sa Nov 16, 2019 1:05 pm Ist es ein Muss, dass in diesem Modell glm(result ~ 1 + minute + exp + top1 + top2 + proheim, family=binomial(link = "logit"), data = Test) eine Eins geschrieben werden muss?
Nein, in dieser Form kenne ich das auch nicht!

Die Hilfe zu "formula" sagt:
When fitting a linear model y ~ x - 1 specifies a line through the origin. A model with no intercept can be also specified as y ~ x + 0 or y ~ 0 + x.

Re: Logit Modell

Verfasst: So Nov 17, 2019 12:40 pm
von Dorfi
Athomas hat geschrieben: Sa Nov 16, 2019 4:40 pm Die Hilfe zu "formula" sagt:
When fitting a linear model y ~ x - 1 specifies a line through the origin. A model with no intercept can be also specified as y ~ x + 0 or y ~ 0 + x.
Ich habe im Buch von Urban (1993) zum Logit Modell auch nachgelesen, dass der Intercept am Ergebnis nichts ändern, sondern lediglich das Lagemaß. Wenn ich allerdings in R das Modell mit 0 ausführe, dann macht es einen riesigen Unterschied. Auf einmal sind alle unabhängigen Variablen mindestens signifikant zum 5%-Level.
Habe gestern Abend mal aus Spaß das Modell in SPSS nachgebaut. Dort muss man den Intercept nicht eingeben - das Ergebnis ist dann das selbe wie bei R mit der 1 als Intercept.

Re: Logit Modell

Verfasst: So Nov 17, 2019 1:21 pm
von Athomas
Guckst Du hier:

Code: Alles auswählen

library(data.table)

DT <- data.table(x = 2 + rnorm(100), y = 1 + rnorm(100)/10)

model.1 <- lm(y ~ x, data=DT)
summary(model.1)

model.2 <- lm(y ~ 1 + x, data=DT)
summary(model.2)

model.3 <- lm(y ~ 0 + x, data=DT)
summary(model.3)

model.4 <- lm(y ~ x - 1, data=DT)
summary(model.4)

DT[  , ":="(Pred.1 = predict(model.1), Pred.0 = predict(model.3))]
DT.long <- melt(DT, id.vars="x")


library(ggplot2)
Grafik <- ggplot(data=DT.long) +
            theme_bw() +
            geom_point(aes(x, value, color=variable))
Grafik
Was passt besser - das Modell mit dem erzwungenen Durchgang durch den Nullpunkt (und der "hochsignifikanten" Variablen) oder das "normale" lineare Modell, wo nix signifikant wird?

Re: Logit Modell

Verfasst: So Nov 17, 2019 1:50 pm
von Dorfi
Auf die Gefahr hin, dass ich mich nun als totaler Noob oute, aber irgendwie nichts davon? :D


Lt. meinem binären Logit Modell (und angepasst auf meine Daten) müssten ja ca 1/4 der Daten auf y=0 und 3/4 der Daten auf y=1 liegen. Also die grünen Punkte + weitere auf der 0 Linie, wo nun gar nichts ist.
Unbenannt.JPG