ダウンサンプリングはロジスティック回帰係数を変更しますか?


34

非常にまれな陽性クラスのデータセットがあり、陰性クラスをダウンサンプリングし、ロジスティック回帰を実行する場合、陽性クラスの有病率を変更したという事実を反映するように回帰係数を調整する必要がありますか?

たとえば、Y、A、B、Cの4つの変数を持つデータセットがあるとします。Y、A、Bはバイナリで、Cは連続です。11,100個の観測値Y = 0および900 Y = 1の場合:

set.seed(42)
n <- 12000
r <- 1/12
A <- sample(0:1, n, replace=TRUE)
B <- sample(0:1, n, replace=TRUE)
C <- rnorm(n)
Y <- ifelse(10 * A + 0.5 * B + 5 * C + rnorm(n)/10 > -5, 0, 1)

A、B、Cが与えられた場合、Yを予測するためにロジスティック回帰を近似します。

dat1 <- data.frame(Y, A, B, C)
mod1 <- glm(Y~., dat1, family=binomial)

ただし、時間を節約するために、Y以外の10,200個の観測値を削除して、900 Y = 0、900 Y = 1にすることができます。

require('caret')
dat2 <- downSample(data.frame(A, B, C), factor(Y), list=FALSE)
mod2 <- glm(Class~., dat2, family=binomial)

2つのモデルの回帰係数は非常によく似ています:

> coef(summary(mod1))
              Estimate Std. Error   z value     Pr(>|z|)
(Intercept) -127.67782  20.619858 -6.191983 5.941186e-10
A           -257.20668  41.650386 -6.175373 6.600728e-10
B            -13.20966   2.231606 -5.919353 3.232109e-09
C           -127.73597  20.630541 -6.191596 5.955818e-10
> coef(summary(mod2))
              Estimate  Std. Error     z value    Pr(>|z|)
(Intercept) -167.90178   59.126511 -2.83970391 0.004515542
A           -246.59975 4059.733845 -0.06074284 0.951564016
B            -16.93093    5.861286 -2.88860377 0.003869563
C           -170.18735   59.516021 -2.85952165 0.004242805

これは、ダウンサンプリングが係数に影響を与えなかったと信じさせてくれます。ただし、これは独創的な1つの例であり、確実に知りたいと思います。


8
インターセプトは別として、ダウンサンプリングすると同じ母集団パラメーターを推定しますが、応答の母集団有病率がわかっているときに推定できるインターセプトを除き、精度は低くなります。証拠については、Hosmer&Lemeshow(2000)、Applied Logistic Regression、Ch 6.3を参照してください。大部分の応答をダウンサンプリングするときに、一般的ではありませんが、場合によっては分離を導入できます。
Scortchi -復活モニカ

@Scortchi回答としてコメントを投稿してください。これは私の質問には十分と思われます。参照いただきありがとうございます。
ザック

@Scortchi and Zach:ダウンサンプリングモデル(mod2)によると、Pr(>|z|)for Aはほぼ1です。係数Aが0であるという帰無仮説を棄却できないため、で使用される共変量を失いましたmod1。これは大きな違いではありませんか?
ジュバル

@Zhubarb:前述したように、分離を導入すると、Waldの標準誤差推定が完全に信頼できなくなる可能性があります。
Scortchi -復活モニカ

回答:


29

ダウンサンプリングは、医療統計のケースコントロール設計と同等です。応答のカウントを修正し、共変量パターン(予測子)を観察します。おそらく、キー参照がプレンティス&パイク(1979)で、「ロジスティック疾患の発生率モデルと症例対照研究」、Biometrika66、3。

彼らは、ベイズの定理を使用して、2つの要因としてケースまたはコントロールであることを条件とした、特定の共変量パターンの確率の尤度の各項を書き換えました。1つは通常のロジスティック回帰(共変量パターンを条件とするケースまたはコントロールである確率)を表し、もう1つは共変量パターンの限界確率を表します。彼らは、サンプリングスキームによってケースまたはコントロールの限界確率が固定されるという制約を条件として全体的な尤度を最大化すると、制約なしで最初の因子を最大化する(つまり通常のロジスティック回帰を実行する)のと同じオッズ比推定値が得られることを示しました。

β0β^0π

β^0=β^0ログ1ππn1n0

n0n1

もちろん、あまり役に立たないものの、収集の手間がかかったデータを捨てることで、見積もりの​​精度が低下します。計算リソースの制約は、私がこれを行うために知っている唯一の正当な理由ですが、「バランスの取れたデータセット」が私が確認できなかった他の理由のために重要だと考える人がいるためです。


詳細な回答をありがとう。はい、フルモデル(ダウンサンプリングなし)でこれを実行している理由は、計算上禁止されています。
ザック

親愛なる@Scortchi、説明に感謝しますが、ロジスティック回帰を使用したい場合、計算リソースに関係なくバランスの取れたデータセットが必要なようです。私は、「ファースの偏った減少ペナルティ尤度ロジット」を無駄に使用しようとしました。だから、ダウンサンプリングは私にとって唯一の代替手段ですよね?
シャヒン

@Shahinさて、(1)最尤法によるロジスティック回帰適合に不満があるのはなぜですか?&(2)Firthの方法を使用すると、正確に何が問題になりますか?
スコルチ-モニカの復職

@Scortchi、問題は、モデルがsuccessインスタンスの検出に非常に悪いということです。つまり、非常に低いTPR。しきい値を変更すると、TPRは増加しますが、精度が非常に悪くなります。つまり、正のラベルが付けられたインスタンスの70%以上が実際に負になります。まれなイベントで、ロジスティック回帰がうまくいかないことを読みました。これがFirthの方法、または少なくともそれが果たす役割の1つです。しかし、ファースの方法の結果は、たまたま通常のロジットに非常に似ていました。私はファースのをやっで間違っているかもしれないと思ったが、一見すべてが大丈夫です
シャヒン

4
@Shahin:間違ったツリーを探しているようです。ダウンサンプリングはモデルの差別化を改善するものではありません。バイアスの修正または正則化(新しいデータで-テストセットでそのパフォーマンスを評価していますか?)、より複雑な仕様が役立つ場合があります。または、単により有益な予測子が必要な場合もあります。おそらく、新しい質問をして、データの詳細、主題のコンテキスト、モデル、診断、および目的を示す必要があります。
Scortchi -復活モニカ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.