Verwenden der richtigen Bewertungsregel, um die Klassenmitgliedschaft anhand der logistischen Regression zu bestimmen

8

Ich verwende die logistische Regression, um die Wahrscheinlichkeit des Eintretens eines Ereignisses vorherzusagen. Letztendlich werden diese Wahrscheinlichkeiten in eine Produktionsumgebung gestellt, in der wir uns so weit wie möglich darauf konzentrieren, unsere "Ja" -Vorhersagen zu treffen. Es ist daher nützlich, eine Vorstellung davon zu haben, welche endgültigen "Treffer" oder "Nicht-Treffer" a priori (vor dem Start in der Produktion) sein könnten , zusätzlich zu anderen Maßnahmen, die wir zur Information über diese Bestimmung verwenden.

Meine Frage ist, was wäre der richtige Weg, um eine endgültige Klasse (1,0) basierend auf der vorhergesagten Wahrscheinlichkeit vorherzusagen? Insbesondere verwende ich das glmnetPaket von R für meine Modellierung. Dieses Paket wählt willkürlich die Wahrscheinlichkeit 0,5 als Schwellenwert für ein Ja oder Nein. Ich glaube, dass ich die Ergebnisse einer korrekten Bewertungsregel, basierend auf vorhergesagten Wahrscheinlichkeiten, verwenden muss, um sie auf eine endgültige Klasse zu extrapolieren. Ein Beispiel für meinen Modellierungsprozess finden Sie unten:

mods <- c('glmnet', 'scoring')
lapply(mods, require, character.only = T)

# run cross-validated LASSO regression
fit <- cv.glmnet(x = df1[, c(2:100)]), y = df1[, 1], family = 'binomial', 
type.measure = 'auc')

# generate predicted probabilities across new data
df2$prob <- predict(fit, type="response", newx = df2[, c(2:100)], s = 'lambda.min')

# calculate Brier score for each record
df2$propscore <- brierscore(df2[,1] ~ df2$prob, data = df2)

Ich habe jetzt eine Reihe von Brier-Werten für jede Vorhersage, aber wie verwende ich dann den Brier-Wert, um jede Wahrscheinlichkeit, ein Ja oder Nein zu sein, angemessen zu gewichten?

Ich verstehe, dass es auch andere Methoden gibt, um diese Bestimmung vorzunehmen, wie z. B. Random Forest.

NiuBiBang
quelle

Antworten:

6

Was Sie tun müssen, ist "das Modell in Produktion zu bringen", das heißt, wie Sie sagen, um tatsächlich vorherzusagen, welche Fälle "Ja" sein werden, was Sie brauchen, ist eine Verlustfunktion . Sie haben zwei mögliche Fehler: "Ja", wenn Nein, "Nein", wenn Ja. Haben diese Fehler wirtschaftliche Konsequenzen und damit verbundene Kosten? Hängen diese Kosten auch von anderen Dingen ab, beispielsweise von einem bestimmten kovariaten Wert? Anschließend bauen Sie diese Informationen in eine Kostenfunktion ein und können Grenzwerte ermitteln, indem Sie die erwarteten Kosten minimieren. Das ist die prinzipielle Lösung.

kjetil b halvorsen
quelle
1
Ja, das ist tatsächlich das, was wir brauchen, z. B. die Kosten für die Überprüfung pro Einheit. Ich werde meine Hausaufgaben machen, um eine ordnungsgemäße Verlustfunktion zu erstellen, aber füge ich eine Kennzahl wie die Bewertungsregel hinzu?
NiuBiBang
Eine richtige Schmerzregel und eine Verlustfunktion sind zwei unterschiedliche Konzepte! Die Verlustfunktion sollte nur die wirtschaftlichen Konsequenzen messen, und eine ordnungsgemäße Bewertungsregel hat damit nichts zu tun.
kjetil b halvorsen