Logistische Regression

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
R_newbie

Logistische Regression

Beitrag von R_newbie »

Hallo zusammen :D

Ich möchte anhand von mehreren Faktoren eine binomiale Variable (handeln=1, nichthandeln=0) vorhersagen.
Normalerweise wende ich dafür eine logistische Regression an:

Code: Alles auswählen

model<-glm(handeln ~ x1 + x2 + x3 + x4, data, family = "binomial"(link="logit"))
Wie mache ich das, wenn die gleiche Entscheidung mehrmals getroffen werden kann k/n?
Also wenn von zb. 200(=n) gleichgestellten Handlungsmöglichkeiten eine VPN 40Mal handelt und 160Mal nicht handelt (=k).
Wie kann ich die Daten im R manipulieren, dass ich eine logistische Regression anwenden kann?

Oder gibt es ein anderes Modell?

Vielen Dank für Eure Antwort und lg
R_newbie
Zuletzt geändert von jogo am Fr Jan 19, 2018 9:58 am, insgesamt 1-mal geändert.
Grund: Code formattiert. Willkommen im Forum!
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Logistische Regression

Beitrag von EDi »

Das Model sieht ja so aus

Code: Alles auswählen

y ~ Bin(N, p)
logit(p) = beta * X
N kann also auch was anderes als 1 sein...
In R kann man das mit dem weights= Argument angeben, siehe die documentation.
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.
R_newbie

Re: Logistische Regression

Beitrag von R_newbie »

Vielen Dank für die Antwort.
Leider verstehe ich nicht, was du genau meinst.

Kann mir jemand weiterhelfen?

Danke schon mal im Voraus
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Logistische Regression

Beitrag von EDi »

Ich dachte an sowas:

Code: Alles auswählen

# some data
n <- 100 # sample size
N <- 200 # number of events (=N)
x <- sort(runif(n)) # predictor
nu <- -5 + 10 * x  # link scale
pi = exp(nu) / ( 1 + exp(nu)) # inverse logit (=pi )
y = rbinom(n, N , pi) # simulate response Bin(N, pi)
plot(x, y)

# fit glm with weights
mod <- glm(y / N ~ x, family = binomial(link = 'logit'), weights = rep(N, n))
lines(x, predict(mod, type = 'response') * N)

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.
Antworten