ロジスティック回帰の従属変数と非線形関係を持つ変数を使用できますか?


9

従属変数がバイナリであり、値または取ることができるロジスティック回帰モデルを構築しているとしましょう。独立変数をすると、独立変数があります。レッツと言う独立変数番目、二変量解析ショーU字トレンド-すなわち、もしI群にビンの観測の各含有ほぼ等しい数および各ビンのための「不良率」を計算する- #観測Y = 0 /各ビンの総観測値-次に、U字型の曲線を取得します。0X 1はxは2x m m k x k 201バツ1バツ2バツメートルメートルkバツk20

私の質問は:

  1. ベータパラメーターを推定するときに、を入力として直接使用できますか?パラメータの推定で重大なエラーを引き起こす可能性がある統計的仮定に違反していますか?バツk
  2. この変数を変換(対数、平方、それ自身との積など)を通じて「線形化」する必要がありますか?

3
である、モデルに含める予測因子の一つ?P Y = 1 X kの U字型関数であると言っているようです。U字型の曲線は、2次関数(特に谷の近く)で近似できることがよくあります。その変数に1次および 2次の項をモデルに含めることを検討しましたか?バツkPY=1バツk
マクロ

@マクロはあなたの提案をありがとう。一部のモデラーが区分的線形関数(鋭いU形状を想定)に適合しているのを見てきました。各ラインはデータからブレイクが視覚的に決定された状態で推定され、線形方程式の出力がロジスティック回帰への入力として提供されます。私はこのアプローチの大ファンではありません。
Mozan Sykol

回答:


12

非線形性を自動的に取り込む柔軟な定式化、たとえば、一般化された加法モデルのいくつかのバージョンを使用する必要があります。貧しい人の選択は、多項式x 2 k、...、x p k kですが、そのような多項式は、それぞれの変数の範囲の端にひどいオーバースイングを生成します。(立方体の)Bスプラインを使用する方がはるかに優れた方法になります(Googleの最初のページのランダムなイントロノートをここで、良い本をここで参照)。Bスプラインは、ローカルのこぶのシーケンスです。バツkバツk2バツkpk

http://ars.sciencedirect.com/content/image/1-s2.0-S0169743911002292-gr2.jpg

こぶの高さは、(線形、ロジスティック、その他のGLM)回帰から決定されます。

θ=β0+Σk=1KβkBバツバツkhk

あなたのハンプの指定された関数形のための。これまでで最も人気のあるバージョンは、ベル型の滑らかな3次スプラインです。B

Bz={14z+22z114|バツ|6バツ2+41<バツ<1142バツ1バツ20さもないと

実装側では、3-5-10-ノットの数がアプリケーションにとって妥当であることを設定し、対応する3-5-10-何でも変数をデータセットに作成するだけで、Bの x x kバツk。典型的には、値の単純なグリッドを用いて、選択されたHkは各点において、上記プロットのように2つの重複Bスプラインが存在するように、グリッドの倍メッシュサイズです。Bバツバツkhkhk


2
彼がこれほど複雑なものを必要としているとどうして分かりますか?確かに、その形状を持っているように見える共変量xの2次項は、OPが望むように、ロジスティック回帰モデルに組み込むことができます。
Michael R.Chernick

1
@MichaelChernickはい新しい概念を教えてくれたので、私は答えを受け入れましたが、おそらくそのような複雑なソリューションは必要ありません。
Mozan Sykol

3
@Michaelそれは重要なポイントです。しかし、臨時の区分的線形フィッティング手順について言及しているOPのコメントに励まされます。スプライン処理は同じ精神で機能しますが、柔軟性と厳密さが向上します。二次項機能するかもしれませんが、それは期待するのがたくさんあるようです。
whuber

私には区分的定数のように見えます:ビン内の応答の平均値は、そのビンのダミー変数/インジケーターの回帰に相当し、それは区分的定数です... @MichaelChernick:一般的にはわかりませんが、私はB-スプラインが多項式フィットに劣るアプリケーションをまだ見ていません。
StasK

@StasK劣っているということは、データに適合しないことを意味する場合、サンプルサイズが小さいと単純な多項式が好まれると思います。
Michael R.Chernick


1

私が日常的に使用しているモデリングショップが実行している別の実行可能な代替策は、連続する独立変数をビニングし、「不良率」を代入することです。これは線形関係を強制します。


私もこれを見ました。どのようにビンを選択しますか?
Adam Ryczkowski、2015年

1
使用できるさまざまな離散化方法があります。Rはdiscoパッケージを持っています。情報値に基づいて連続変数を再帰的に分割する独自のアルゴリズムを作成しました。github.com/Zelazny7/binnr(作業中!)のRパッケージに入れました。また、平均値の代わりに証拠の重みを代入します。LASSO回帰と組み合わせると、結果は素晴らしいです!
Zelazny7 2015年

ありがとうございました!binnrアルゴリズムをCRANのアルゴリズムと比較できますsmbinningか?
Adam Ryczkowski、2015年

'binnr'はCで書かれており、非常に高速です。また、オーバーライド値や単調性などの実際の条件もサポートします。不良率が単調である場合にのみ離散カットを行うように 'binnr'に指示することが可能です。'smbinning'は条件付き推論ツリーを使用します。私の経験では、順列に依存しているため、まともなサイズのデータ​​セットでは長い時間がかかります。'binnr'を使用すると、コマンドラインインターフェイスを使用して対話的にビンを調整することもできます
Zelazny7

プロダクションで使用しましたか?隠れたバグや未チェックのコーナーケースを知っていますか?大規模な顧客に使用することを考えており、コードを適用する前に1日だけテストできます。
Adam Ryczkowski、2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.