結果変数が5%から95%に分割されるときに、ロジスティック回帰にバイアスがかかりますか?


10

ユーティリティクライアントのロジスティック回帰を使用して傾向モデルを構築しています。私の懸念は、サンプル全体のうち、私の「悪い」アカウントはわずか5%であり、残りはすべて良好であるということです。「悪い」と予測しています。

  • 結果は偏っていますか?
  • 良いモデルを構築するのに最適な「悪い比率から良い比率」は何ですか?

経験則として、商品の50%と不良品の50%が常にある方が良いと思います。モデルの外れは、サンプルに偏っていてはなりません。

回答:


7

私はコメントの他の回答に同意しなかったので、自分で回答するのは公正です。してみましょう応答(良い/悪いのアカウント)であること、そして共変量なります。XYX

ロジスティック回帰の場合、モデルは次のとおりです。

log(p(Y=1|X=x)p(Y=0|X=x))=α+i=1kxiβi

データの収集方法について考えます。

  • 架空の「母集団」から観測をランダムに選択できます
  • に基づいてデータを選択し、値がどのようになるかを確認できます。YXY

分布をモデル化しているだけなので、上記のモデルはどちらも問題ありません。これらは前向き研究と呼ばれるでしょう。Y|X

または:

  • 基づいて観測値を選択し(たとえば、それぞれ100)、の相対的な有病率を確認できます(つまり、層別化しています)。これは遡及的またはケースコントロール研究と呼ばれます。X YYXY

(と特定の変数に基づいてデータを選択することもできます。これは層別化されたケースコントロール研究であり、作業がはるかに複雑であるため、ここでは説明しません)。XYX

疫学(Prentice and Pyke(1979)を参照)からの良い結果があり、ケースコントロール研究では、ロジスティック回帰によって最尤推定値を見つけることができ、遡及的データの予測モデルを使用しています。β

これはあなたの問題にどのように関連していますか?

それは、より多くのデータを収集できる場合は、悪いアカウントを見て、ロジスティック回帰を使用してを推定できることを意味します(ただし、を調整して、表現)。追加のアカウントごとに1ドルかかるとすると、これは単にすべてのアカウントを見るよりも費用対効果が高い可能性があります。 αβiα

しかし、その一方で、可能なすべてのデータがすでにある場合、層別化する意味はありません。単にデータを破棄し(より悪い推定値を与え)、その後を推定しようとする問題が残ります。α


これは、少数派クラスを適切に表すのに十分なデータがある場合にのみ当てはまります(これは通常、大きなクラスの不均衡がある場合の問題です-問題はそれ自体が不均衡ですが、少数派からの十分なサンプルがないことですクラス)。その場合、ポジティブクラスとネガティブクラスの相互検証に基づく差分重み付け、アルファの調整、または乗法調整(すべて同等のIIRC)は、少数派クラスを後押しするための良いアイデアです。データを階層化することは、安くて陽気な同等物です。
Dikran Marsupial、

@Dikran:この場合、これがどのようにして失敗するかはわかりません。少数派のクラスを表す必要はありません。大多数との相対的な違いを表す必要があるだけです。そのための十分なデータがない場合、大多数から観測を捨てても役に立たないでしょう。
Simon Byrne、

@サイモン、私はあなたに同意しました、あなたがアルファを調整したり、パターンを再重み付けしたり、モデルの出力を調整したりしたくないのでなければ、層別化は良い考えではありません。クラスの不均衡の問題は、それ自体が不均衡ではないことですが、「多数派に対する相対的な差異」を適切に定義するための少数派クラスのデータは不十分です。そうなると、平均して出力を多数派クラスに偏らせるので、その偏りを補正するために何かをすることは役に立ちます。成層法はそのための1つの方法ですが、最善とは言えません。
Dikran Marsupial、

@サイモン、ところでプレンティスとパイクのリファレンスをありがとう、それは便利に見えます。
Dikran Marsupial

1
@Dikran:他のモデルではバイアスがかかる可能性がありますが、ロジスティック回帰ではそうではありません。それがポイントです。
Simon Byrne、

3

漸近的に、ポジティブパターンとネガティブパターンの比率は本質的に無関係です。この問題は主に、少数派クラスのサンプルが少なすぎて統計的分布を適切に説明できない場合に発生します。データセットを大きくすると、一般に問題が解決します(可能な場合)。

これが不可能な場合は、データを再サンプリングしてバランスのとれたデータセットを取得し、分類器の出力に乗法調整を適用して、トレーニングセットと操作上の相対クラス頻度の差を補正することをお勧めします。(漸近的に)最適な調整係数を計算できますが、実際には交差検証を使用して調整を調整するのが最善です(漸近的なケースではなく、実際的な有限ケースを扱っているため)。

このような状況では、私はモデルの委員会をよく使用します。モデルの委員会は、すべてが少数パターンと、少数パターンと同じサイズの多数パターンの異なるランダムサンプルでトレーニングされます。これは、多数決パターンの単一サブセットの選択における不運を防ぎます。


2
しかし、これはロジスティック回帰に関係があるのでしょうか?どちらかのクラスの統計的分布を説明する必要はなく、相対オッズ比のみを説明します(@Henryへの私のコメントを参照)。
Simon Byrne、

おそらく一変量の例では、複数の説明変数がある場合は、「判別式」を正しく方向付けるためにパターンの分布に関する情報が必要です。
Dikran Marsupial、

ロジスティック関数が適用される前に、対数オッズ空間で乗法調整を適用する方が良いでしょうか?
rm999 '05

IIRC、漸近的に最適な調整は、操作セットとトレーニングセットクラスの頻度の比率を掛けることです。これはベイズ規則に基づいているため、対数オッズ比ではなく確率に適用されます。ただし、推定では数学的に扱いにくい欠陥を修正しようとしているだけなので、調整がどのように行われるかはあまり問題ではなく、実際には単なる「ファッジファクター」です。
Dikran Marsupial

@Dikran:「判別式」を正しく方向付けることの意味がわかりません。多変量の場合でも、ロジスティック回帰はまだ相対オッズ比を計算しているだけです。
Simon Byrne、

1

理論的には、「良い」と「悪い」の比率のサイズがほぼ同じである場合、よりよく区別することができます。層別サンプリング、不良ケースのオーバーサンプリング、次に重み付けを再実行して後で実際の比率に戻ることで、これに移行できる場合があります。

これにはいくつかのリスクがあります。特に、あなたのモデルは個人を「潜在的に悪い」として分類している可能性があります-おそらく、期日に光熱費を支払わないかもしれない人々。これを行う際のエラーの影響を正しく認識することが重要です。特に、モデルによって「優良顧客」の数が「潜在的に悪い」とラベル付けされる数はいくつですか。また、層別サンプリングによるモデル。


実際、私はこれがロジスティック回帰に当てはまるとは思いません。(判別を実行する)オッズ比パラメーターは、応答変数の層別化に対して不変です。これが、症例対照研究に使用できる理由です。
Simon Byrne、

@サイモン:オッズ比についてのあなたのコメントに同意しませんが、他の場合に層別サンプリングを行った後、人々がこれを人口の結果に正しく戻すことができないのを見てきました。たとえば、因子Aが真である人が因子Aがない人の2倍の確率で「悪い」ことを発見した場合、これは層別サンプリングで変化しないはずですが、人口の割合が知りたい場合は因子Aの対象とする場合、不必要に影響を受けるため、サンプルの情報に注意深く重み付けする必要があります。
ヘンリー

すみません、それは私が同意しなかったビットではありませんでした。それは最初のビットでした:不変性の結果は、いったんデータを取得すると、層別化しても意味がなく、単にデータを破棄することになります。(データ収集のコストに関しては話が異なります。そのため、ケースコントロール研究の存在です)。
Simon Byrne、

@Simon:「ケースコントロールスタディ」と言ったとき、当初は「悪い」ケースと「良い」ケースのサンプルを取るつもりだったということですか?人口の小さい割合よりも「悪い」症例の割合が高いですか?もしそうなら、それは私の回答の「層別サンプリング、悪いケースのオーバーサンプリング」で私が意図したものです。
ヘンリー

はい、それはまさに私が意図したことでもあります。質問は彼らがすでにデータを持っていることを示しているように見えたので、層別化しても意味がありません。
Simon Byrne、

0

yipipi

yiBernoulli(pi)
pi=logit1(a+b1x1+...+bnxn)
logit1=exp(X)1+exp(x)

失敗の割合が低い(悪いアカウント)ことが問題になりますか?一部の人々がすでに指摘したように、サンプルデータのバランスが取れている限り、そうではありません。ただし、データのバランスが取れていない場合、考慮していない選択効果があると、データを追加してもほとんど役に立たない可能性があります。この場合、マッチングを使用する必要がありますが、バランスが欠如していると、マッチングがかなり役に立たなくなる可能性があります。別の戦略は、自然な実験を見つけようとすることです。そのため、機器変数または回帰不一致設計を使用できます。

最後に、重要なことですが、バランスの取れたサンプルがある場合、または選択バイアスがない場合は、悪いアカウントがまれであるという事実を心配するかもしれません。5%は珍しいとは思いませんが、念のため、レアイベントロジスティックスの実行に関するGary Kingの論文をご覧ください。ZeligパッケージのRでは、まれなイベントロジスティックを実行できます。


0

私は不正検出で働いているので、この種の問題は私にとって新しいものではありません。機械学習コミュニティは、データが不均衡であることについてかなり多くの意見を持っていると思います(クラスでは不均衡です)。したがって、すでに言及されていると思いますいくつかの完全に簡単な戦略と、いくつかのきちんとしたアイデアがあり、いくつかの方法があります。これが問題の漸近的な意味を理解するふりをするつもりはありませんが、ロジスティック回帰では常に妥当な結果が得られるようです。どこかに紙があるかもしれませんが、確かではありません。

私がそれを見ると、ここにあなたのオプションがあります:

  1. 少数派クラスをオーバーサンプリングします。これは、多数派クラスと同じ数の観測値が得られるまで、少数派クラスを置き換えてサンプリングすることになります。これを行うには、観測値にジッターをかけるなどの方法があり、元の値に近いが完全なコピーではないなどの方法があります。
  2. アンダーサンプル、これは多数派クラスのサブサンプルを取る場所です。ここでも、最近傍アルゴリズムなどを使用して、少数派サンプルに最も近い多数派サンプルを削除するために、これを行うための豪華な方法があります。
  3. クラスを再重み付けします。ロジスティック回帰の場合、これは私が行うことです。基本的に、損失関数を変更して、誤って分類された少数派のケースに、誤って分類された多数派クラスよりもはるかに重いペナルティーを課します。しかし、再びあなたは技術的に最大の可能性をしていません。
  4. データをシミュレートします。ここで私が遊んだたくさんのきちんとしたアイデアがあります。SMOTEを使用してデータを生成し、生成的敵対的ネットワーク、生成的部分を使用するオートエンコーダ、カーネル密度推定器を使用して新しいサンプルを描画できます。

とにかく、私はこれらの方法をすべて使用しましたが、とにかく最も簡単なのは、とにかくロジスティック回帰の問題に重みを付け直すことです。モデルを直感的にチェックするためにできることの1つは、

-Intercept/beta

これは、特定の変数ceteris paribusの決定境界(どちらかのクラスに存在する確率50%)でなければなりません。それが意味をなさない場合、たとえば、決定境界が厳密に正である変数の負の数である場合は、修正が必要なロジスティック回帰にバイアスがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.