適切なスコアリングルールを使用して、ロジスティック回帰からクラスメンバーシップを決定する


8

ロジスティック回帰を使用して、イベントが発生する可能性を予測しています。最終的に、これらの確率は実稼働環境に入れられ、「はい」の予測に到達することにできるだけ焦点を当てます。したがって、この決定を通知するために使用する他の方法に加えて、どの「決定的」ヒットまたは「非ヒット」がアプリオリ(本番稼働前)であるかを知ることは有用です。

私の質問は、予測された確率に基づいて決定的なクラス(1,0)を予測する適切な方法は何ですか?具体的にglmnetは、モデリングにRのパッケージを使用しています。このパッケージは、はいまたはいいえのしきい値として0.5確率を任意に選択します。決定的なクラスに外挿するには、予測確率に基づいて適切なスコアリングルールの結果を取得する必要があると思います。私のモデリングプロセスの例を以下に示します。

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)

それで、各予測に対して一連のブライアースコアを取得しましたが、ブライアースコアを使用して、はいまたはいいえになる可能性を適切に重み付けするにはどうすればよいですか?

ランダムフォレストなど、この決定を行う他の方法があることを理解しています。

回答:


6

あなたがする必要があるのは、「モデルを生産に投入する」ことです。つまり、あなたが言うように、どのケースが「はい」になるかを実際に予測するには、必要なのは損失関数です。エラーが2つあります。いいえの場合は「はい」、はいの場合は「いいえ」です。これらのエラーは、経済的結果、関連コストをもたらしますか?これらのコストは、特定の共変量値など、他のものにも依存しますか?次に、これらの情報をコスト関数に組み込み、予想コストを最小化することでカットオフを決定できます。それが原則的な解決策です。


1
はい、これは私たちが実際に必要なものです。たとえば、ユニットあたりのレビューにかかるコスト。適切な損失関数を作成するための宿題をしますが、スコアリングルールのようなメジャーをこれに含めますか?
NiuBiBang 2014

適切な傷のルールと損失関数は、2つの異なる概念です。損失関数は経済的影響のみを測定する必要があり、適切なスコアリングルールはそれとは何の関係もありません。
kjetil b halvorsen 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.