Ich führe eine logistische Regression durch. Ich habe die folgenden Testdaten erstellt (die beiden Prädiktoren und das Kriterium sind binäre Variablen):
UV1 UV2 AV
1 1 1 1
2 1 1 1
3 1 1 1
4 1 1 1
5 1 1 1
6 1 1 1
7 1 1 1
8 0 0 1
9 0 0 1
10 0 0 1
11 1 1 0
12 1 1 0
13 1 0 0
14 1 0 0
15 1 0 0
16 1 0 0
17 1 0 0
18 0 0 0
19 0 0 0
20 0 0 0
AV =
Zur Messung des UV-Effekts auf den AV ist eine logistische Regression erforderlich, da der AV eine binäre Variable ist. Daher habe ich den folgenden Code verwendet
> lrmodel <- glm(AV ~ UV1 + UV2, data = lrdata, family = "binomial")
einschließlich "family =" binomial "" . Ist das richtig?
In Bezug auf meine Testdaten habe ich mich über das gesamte Modell gewundert, insbesondere über die Schätzer und die Bedeutung:
> summary(lrmodel)
Call:
glm(formula = AV ~ UV1 + UV2, family = "binomial", data = lrdata)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.7344 -0.2944 0.3544 0.7090 1.1774
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -4.065e-15 8.165e-01 0.000 1.000
UV1 -1.857e+01 2.917e+03 -0.006 0.995
UV2 1.982e+01 2.917e+03 0.007 0.995
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 27.726 on 19 degrees of freedom
Residual deviance: 17.852 on 17 degrees of freedom
AIC: 23.852
Number of Fisher Scoring iterations: 17
Warum ist UV2 nicht signifikant? Sehen Sie daher, dass es für die Gruppe AV = 1 7 Fälle mit UV2 = 1 und für die Gruppe AV = 0 nur 3 Fälle mit UV2 = 1 gibt. Ich hatte erwartet, dass UV2 ein signifikanter Diskriminator ist.
Trotz der Nichtbedeutung der UVs sind die Schätzer meiner Meinung nach sehr hoch (zB für UV2 = 1,982e + 01). Wie ist das möglich?
Warum ist der Achsenabschnitt nicht 0,5? Wir haben 5 Fälle mit AV = 1 und 5 Fälle mit AV = 0.
Weiter: Ich habe UV1 als Prädiktor erstellt, von dem ich erwartet hatte, dass er nicht signifikant ist: Für die Gruppe AV = 1 gibt es 5 Fälle mit UV1 = 1 und für die Gruppe AV = 0 gibt es 5 Fälle mit UV1 = 1.
Das ganze "Bild", das ich aus der Logistik gewonnen habe, verwirrt mich ...
Was mich mehr verzehrte: Wenn ich eine "NICHT-logistische" Regression durchführe (indem ich "family =" binomial " weglasse )
> lrmodel <- glm(AV ~ UV1 + UV2, data = lrdata,)
Ich bekomme die erwarteten Ergebnisse
Call:
glm(formula = AV ~ UV1 + UV2, data = lrdata)
Deviance Residuals:
Min 1Q Median 3Q Max
-0.7778 -0.1250 0.1111 0.2222 0.5000
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.5000 0.1731 2.889 0.01020 *
UV1 -0.5000 0.2567 -1.948 0.06816 .
UV2 0.7778 0.2365 3.289 0.00433 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for gaussian family taken to be 0.1797386)
Null deviance: 5.0000 on 19 degrees of freedom
Residual deviance: 3.0556 on 17 degrees of freedom
AIC: 27.182
Number of Fisher Scoring iterations: 2
- UV1 ist nicht signifikant! :-)
- UV2 wirkt sich positiv auf AV = 1 aus! :-)
- Der Achsenabschnitt ist 0,5! :-)
Meine allgemeine Frage: Warum führt die logistische Regression (einschließlich "family =" binomial ") nicht erwartungsgemäß zu Ergebnissen, eine" NOT-logistic "-Regression (ohne" family = "binomial") jedoch nicht?
Update: sind die oben beschriebenen Beobachtungen aufgrund der Korrelation von UV1 und UV 2. Corr = 0,56 Nach Manipulation der UV2-Daten
AV: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
UV1: 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0
UV2: 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
(Ich habe die Positionen der drei Nullen mit den drei Einsen in UV2 geändert, um eine Korrelation <0,1 zwischen UV1 und UV2 zu erhalten.) Daher:
UV1 UV2 AV
1 1 0 1
2 1 0 1
3 1 0 1
4 1 1 1
5 1 1 1
6 1 1 1
7 1 1 1
8 0 1 1
9 0 1 1
10 0 1 1
11 1 1 0
12 1 1 0
13 1 0 0
14 1 0 0
15 1 0 0
16 1 0 0
17 1 0 0
18 0 0 0
19 0 0 0
20 0 0 0
Um Korrelationen zu vermeiden, kommen meine Ergebnisse meinen Erwartungen näher:
Call:
glm(formula = AV ~ UV1 + UV2, family = "binomial", data = lrdata)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.76465 -0.81583 -0.03095 0.74994 1.58873
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.1248 1.0862 -1.036 0.3004
UV1 0.1955 1.1393 0.172 0.8637
UV2 2.2495 1.0566 2.129 0.0333 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 27.726 on 19 degrees of freedom
Residual deviance: 22.396 on 17 degrees of freedom
AIC: 28.396
Number of Fisher Scoring iterations: 4
Aber warum beeinflusst die Korrelation die Ergebnisse der logistischen Regression und nicht die Ergebnisse der "nicht logistischen" Regression?
quelle
t calculating an exact y-value but an value which can be defined as the probability to be part of group AV = 1 (and not part of group AV = 0); and this value isn
genau 0 oder 1 ist, sondern zwischen 0 und 1 liegt und Sie einen Schwellenwert für Ihr Modell auswählen müssen, um der Gruppe AV = 1 einen Fall zuzuweisen, wenn Der Schwellenwert wird überschritten. Daher gibt es in der logistischen Regression einen "abstrakteren" Wert und keinen klaren y-Wert wie in der linearen Regression. Wie gehe ich damit um?R
Beispiel in einer Lösung unter stats.stackexchange.com/a/40609/919 veröffentlicht : siehe Codezeile unter dem Kommentar "Simulation durchführen".Antworten:
Sie erhalten unterschiedliche Ergebnisse, wenn die linearen Modelle minimiert werden
Es gibt keinen Grund, warum die Ergebnisse gleich sein sollten.
Es wird beides betreffen. Ich nehme an, Sie sehen.56
Std. Error
im linearen Modell auch niedrigere s. Dies ist ein Problem mit Multikollinearität, obwohl Sie diese Multikollinearität möglicherweise nicht aufrufen, wenn Sie nur zwei Variablen mit Korrelation haben .quelle