2016-05-16 4 views
0

Lassen Sie mich zuerst bemerken, dass ich diesen Fehler auf nichts außerhalb meines Datensatzes reproduzieren konnte. Hier ist jedoch die allgemeine Idee. Ich habe einen Datenrahmen und versuche eine einfache logistische Regression zu erstellen, um den marginalen Effekt von Amount auf IsWon zu verstehen. Beide Modelle schlecht abschneiden, es ist ein Prädiktor nach allem, aber sie produzieren zwei verschiedene KoeffizientenUnterschiedlicher Koeffizient in LRM vs GLM-Ausgabe

Zunächst ist der GLM-Ausgang:

> summary(mod4) 

Call: 
glm(formula = as.factor(IsWon) ~ Amount, family = "binomial", 
    data = final_data_obj_samp) 

Deviance Residuals: 
    Min  1Q Median  3Q  Max 
-1.2578 -1.2361 1.0993 1.1066 3.7307 

Coefficients: 
        Estimate  Std. Error z value    Pr(>|z|)  
(Intercept) 0.18708622416 0.03142171761 5.9540  0.000000002616 *** 
Amount  -0.00000315465 0.00000035466 -8.8947 < 0.00000000000000022 *** 
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for binomial family taken to be 1) 

    Null deviance: 6928.69 on 4999 degrees of freedom 
Residual deviance: 6790.87 on 4998 degrees of freedom 
AIC: 6794.87 

Number of Fisher Scoring iterations: 6 

Hinweis, dass negative Koeffizient für Betrag.

Und nun die lrm Funktion von rms

Logistic Regression Model 

lrm(formula = as.factor(IsWon) ~ Amount, data = final_data_obj_samp, 
    x = TRUE, y = TRUE) 
         Model Likelihood  Discrimination Rank Discrim.  
          Ratio Test   Indexes   Indexes  
Obs   5000 LR chi2  137.82 R2  0.036 C  0.633  
0   2441 d.f.    1 g  0.300 Dxy  0.266  
1   2559 Pr(> chi2) <0.0001 gr  1.350 gamma 0.288  
max |deriv| 0.0007       gp  0.054 tau-a 0.133  
              Brier 0.242      

      Coef S.E. Wald Z Pr(>|Z|) 
Intercept 0.1871 0.0314 5.95 <0.0001 
Amount 0.0000 0.0000 -8.89 <0.0001 

Beide Modelle einen schlechten Job machen, aber man schätzt einen positiven Koeffizienten und der andere einen negativen Koeffizienten. Sicher, die Werte sind vernachlässigbar, aber kann mir jemand helfen, das zu verstehen.

Für was es wert ist, hier ist, wie die Handlung des lrm-Objekts aussieht.

> plot(Predict(mod2, fun=plogis)) 

enter image description here

Das Diagramm zeigt die vorhergesagten Wahrscheinlichkeiten für eine sehr negative Beziehung mit Betrag haben zu gewinnen.

+0

Wenn Sie 'Betrag' standardisieren, oder teilen Sie es einfach kaufen' 1e5', um es in Hunderttausende zu setzen, müssen Sie sich nicht mit solch einem winzigen Koeffizienten Schätzung und Rundungsfragen befassen. – Gregor

Antwort

0

Sie sollten sich nicht auf das Druckergebnis von summary verlassen, um nach Koeffizienten zu suchen. Die Übersichtstabelle wird von print gesteuert und unterliegt daher immer einem Rundungsproblem. Haben Sie versucht mod4$coef (erhalten Koeffizienten von glm Modell mod4) und mod2$coef (erhalten Koeffizienten von lrm Modell mod2)? Es empfiehlt sich, den Abschnitt "Werte" von ?glm und ?lrm zu lesen.

+0

Ah, es war ein Druckfehler ..> mod4 $ Koef (Intercept) Betrag 0,1252596316033 -0,0000034593981 > mod2 $ Koef Intercept Betrag ,1252596316024 -,0000034593981 – AGUY

1

Es scheint so, als ob lrm den Koeffizienten auf den nächsten ± 0,0000 Wert schätzt. Da der Wert des Koeffizienten deutlich unter diesem Wert liegt, wird er einfach auf 0,0000 gerundet. Daher scheint es positiv zu sein, aber möglicherweise nicht.

Verwandte Themen