Probleme bei logistischer Regression

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
Manfred83

Probleme bei logistischer Regression

Beitrag von Manfred83 »

Hallo zusammen,

ich möchte gerne mittels einer binären logistischen Regression testen, ob bestimmte Berufsgruppen eher ein Produkt kaufen. Mein Modell ist folgendes:

y=x_0+beta_x1+beta_x2+beta_x3

- y: ist eine Binärvariable. Bei Kauf des Produkts 1, wenn nicht 0.
- x1: ist das Geschlecht (0 für männlich, 1 für weiblich)
- x2: ist das Alter der Personen (zwischen 20 und 80)
- x3: ist die Berufsgruppe (Student, Rentner, Beamter, Selbständig), wobei Student=1, Rentner=2, Beamter=3, Selbstständig=4

Wie kann ich x3 (also die Berufsgruppe) in meinem Modell einfügen?

Bisher sieht mein Modell so aus:

Code: Alles auswählen

y<-round(runif(100,0,1))
x1<-round(runif(100,0,1))
x2<-round(runif(100,20,80))
x3<-round(runif(100,1,4))

test<-glm(y~x1+x2+x3, family=binomial(link="logit"))
summary(test)
In dieser Regression kann ich aber den Einfluss der Berufsgruppe nicht herausbekommen bzw. der Schätzwert für x3 ist quatsch. Weiß jemand, wie ich mein Modell anpassen muss, damit ich den Einfluss der Berufsgruppen testen kann? Wenn ich bspw. x3 als Faktor deklariere, bezieht sich R immer auf die erste Berufsgruppe (das macht aber auch keinen Sinn).

Vielen Dank schon einmal vorab,

Viele Grüße,

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

Re: Probleme bei logistischer Regression

Beitrag von EDi »

In dieser Regression kann ich aber den Einfluss der Berufsgruppe nicht herausbekommen bzw. der Schätzwert für x3 ist quatsch. Wenn ich bspw. x3 als Faktor deklariere, bezieht sich R immer auf die erste Berufsgruppe (das macht aber auch keinen Sinn). (das macht aber auch keinen Sinn).
Wieso? x3 sollte definitiv ein Faktor sein... (genauso wie x1).

Den Referenz-Level kannst du mit ?relevel änden.

Was meinst du mit
den Einfluss der Berufsgruppen testen
?
Falls du bestimmte Vergleiche zwischen den Berufsgruppen durchführen willst, würde ich das lsmeans Paket empfehlen.
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.
Manfred83

Re: Probleme bei logistischer Regression

Beitrag von Manfred83 »

Hallo Edi,

ich habe ein Verständnisproblem bzw. ein Problem die Koeffizienten zu interpretieren. Wenn ich as.factor(x3) und Student mein Ausgangslevel 1 ist und ich bspw. folgende Werte bekomme:

x3_Rentner=-0.31
x3_Beamter=+012
x3_Selbständig= -0,78

Wie müsste ich den Wert von -0,31 interpretieren? Kann ich folgende Aussage treffen(?): Wenn der Kunde ein Rentner ist, dann sinkt die Wahrscheinlichkeit das er ein Produkt kauft (bzw. Wenn der Kunde ein Beamter ist, dann steigt die Wahrscheinlichkeit das er ein Produkt kauft).

Oder müsste ich um ein solche Aussage zu treffen, für jede Berufsgruppe eine Dummy_variable bilden und dann schreiben:

y=x_0 + beta_x1 + beta_x2 + dummy_student + dummy_rentner + dummy_Beamter + dummy_Selbstständig

Ich hoffe meine Frage/Problem ist nicht zu verwirrend.

Vielen Dank vorab,

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

Re: Probleme bei logistischer Regression

Beitrag von EDi »

Oder müsste ich um ein solche Aussage zu treffen, für jede Berufsgruppe eine Dummy_variable bilden und dann schreiben:

y=x_0 + beta_x1 + beta_x2 + dummy_student + dummy_rentner + dummy_Beamter + dummy_Selbstständig
Genau das passiert mit einem factor unter der Haube (wobei student weggelassen wird, da er sich zwangsläufig aus den anderen drei ergibt), deshalb ja auch die coefficienten für Rentner, Beamter & Selbstständig.
Wenn der Kunde ein Rentner ist, dann sinkt die Wahrscheinlichkeit das er ein Produkt kauft

Was ist dein Referenzlevel? - Im obigen Fall ist es der Student, da der coefficient negativ ist haben also Renter eine geringere Wkeit als Studenten.
Wenn ich mich nicht irre (schon spät...) dürften die Odds dafür um 26% geringer sein ( = 1- exp(-0.31)), aber das kann man mit dem schon erwähnten lsmeans bequem berechnen...
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.
Manfred83

Re: Probleme bei logistischer Regression

Beitrag von Manfred83 »

Hallo Edi,

vielen Dank für Deine Antwort. Jetzt ist mir schon einiges klarer. Ich werde mir mal lsmeans anschauen und den relevel-Befehl, wenn ich die Bezugsgröße ändern möchte.

VG, Manfred
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Probleme bei logistischer Regression

Beitrag von EDi »

vielen Dank für Deine Antwort.
Gern geschehen. Logistische Regression ist nicht einfach (vorallem die Model-Validation...).
Hier noch was schön zusammen geschriebenes:

https://rpubs.com/OmaymaS/182726

Ich persönlich finde es hilfreich wenn man sich die Mathematik/das Model hinter dem R-Code auf Papier aufschreibt.
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.
Manfred83

Re: Probleme bei logistischer Regression

Beitrag von Manfred83 »

Danke, der Link ist sehr gut, da neben dem R-Code auch die Interpretation erläutert wird. Ich werde dann mal noch ein bischen lesen bzw. rumrechnen;)

VG, Manfred
Antworten