Ich habe eine Frage zur Gültigkeit der Verwendung von RMSE (Root Mean Squared Error) zum Vergleich verschiedener Logistikmodelle. Die Antwort ist entweder 0
oder 1
und die Vorhersagen sind Wahrscheinlichkeiten zwischen 0
- 1
?
Ist der unten angewandte Weg auch für die binären Antworten gültig?
# Using glmnet
require(glmnet)
load(url("https://github.com/cran/glmnet/raw/master /data/BinomialExample.RData"))
cvfit = cv.glmnet(x, y, family = "binomial", type.measure = "mse")
A <- predict(cvfit, newx = x, s = "lambda.min", type = "response")
RMSE1 <- mean((y - A)^2)
# 0.05816881
# glm
mydata <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv")
mydata$rank <- factor(mydata$rank)
mylogit <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
AAA <- predict(mylogit, newdata = mydata, type = "response")
RMSE2 <- mean((mydata$admit - AAA)^2)
# 0.194714
regression
logistic
generalized-linear-model
glmnet
rms
Ahmed El-Gabbas
quelle
quelle
Antworten:
Um zu verstehen, warum "die Antwort entweder
0
oder1
[aber] die Vorhersagen Wahrscheinlichkeiten zwischen0
- sind1
", müssen Sie die Art des Modells verstehen, mit dem Sie arbeiten. Entfernen Sie die Bestrafungsmethoden und die Kreuzvalidierung, und Sie führen eine grundlegende logistische Regression durch. Die Parameter werden auf die Log Odds / Logistic Scale angepasst. Dies wird als "linearer Prädiktor" bezeichnet. (Um mehr darüber zu erfahren, kann es hilfreich sein, meine Antwort hier zu lesen: Unterschied zwischen Logit- und Probit-Modellen .) Wenn Sie einen x-Wert eingeben und vereinfachen, ist der Wert der vom Modell vorhergesagte natürliche Logarithmus der Erfolgsaussichten. (1
). Wenn Sie diesen Wert potenzieren würden, hätten Sie die vorhergesagten Gewinnchancen des Modellsdes Erfolgs'. Um eine vorhergesagte Wahrscheinlichkeit zu erhalten , müssten Sie die Gewinnchancen über Gewinnchancen / (1 + Gewinnchancen) in eine Wahrscheinlichkeit umwandeln. (Um mehr darüber zu erfahren, kann es hilfreich sein, meine Antwort hier zu lesen: Interpretation einfacher Vorhersagen zu Quotenverhältnissen in der logistischen Regression .) Dies bringt Sie immer noch nicht zu einer vorhergesagten Klasse . Um das zu bekommen, würden Sie brauchen , um Ihre vorhergesagte Wahrscheinlichkeit zu einem gewissen Schwellenwert zu vergleichen, und wenn es kleiner als der Schwellenwert ist vorhersage ‚Versagens‘ (0
), sonst ‚Erfolg‘ (1
). Der häufigste Standardschwellenwert ist 0,5, dies ist jedoch häufig nicht optimal. Mit derpredict.glm()
Funktion von R können Sie verwendentype="link"
, das Vorhersagen auf der Skala des linearen Prädiktors ausgibt (dh vor all den obigen Transformationen), aber das hilft Ihnen in diesem Zusammenhang nicht weiter. Die Verwendungtype="response"
gibt Ihnen die vorhergesagten Wahrscheinlichkeiten.Wenn Sie beurteilen möchten, wie gut ein binäres (z. B. logistisches) Regressionsmodell eine Antwort vorhersagt, haben Sie mehrere Möglichkeiten:
.2, .4, .6, .8
und zu allen 0,01 hinzugefügt hätten (.21, .41, .61, .81
), wäre die AUC dieselbe, obwohl beide Sätze vorhergesagter Wahrscheinlichkeiten nicht gleich genau sein können.Es ist bedauerlich, dass der Brier-Score weniger bekannt und verwendet ist. Obwohl die relative Intuitivität dieser Methoden ist: Prozent korrekt> AUC> Brier-Score, ist ihre wahre Informativität das Gegenteil: Brier-Score> AUC> Prozent korrekt. Wenn Sie nur ein einfaches Maß für die Leistung Ihres Modells wünschen, ist die Unterscheidung zwischen diesen Methoden weniger wichtig. Wenn Sie diese Methoden jedoch zur Optimierung eines Modells oder zur Auswahl eines Modells verwenden möchten, führt die Verwendung einer minderwertigen Methode zu einer schlechteren Leistung .
quelle
Die Verwendung von RMSE ist viel sinnvoller, wenn Ihr Fehlerterm normal mit dem Mittelwert Null verteilt ist, bei binären Ergebnissen jedoch nicht. Daher denke ich, dass Sie verschiedene Ansätze verwenden sollten, die sich für binäre Ergebnisse eignen, z. B. den Vergleich von Wahrscheinlichkeitsunterschieden.
quelle