ロジスティック回帰で最も重要な機能を理解する


17

私はデータに対して非常に正確なロジスティック回帰分類器を作成しました。今、私はなぜそれがとてもうまく機能しているのかをよりよく理解したいと思います。具体的には、どの機能が最大の貢献を果たしているか(どの機能が最も重要か)をランク付けし、理想的には、各機能がモデル全体(またはこのようなもの)の精度にどれだけ貢献しているかを定量化します。どうすればいいですか?

私の最初の考えは、係数に基づいてそれらをランク付けすることでしたが、これは正しくないと思われます。同様に有用な2つの機能がありますが、最初の機能の広がりが2番目の機能の10倍であれば、1番目の機能は2番目の機能よりも低い係数を受け取ると思います。機能の重要性を評価するより合理的な方法はありますか?

機能の小さな変化が結果の確率にどの程度影響するかを理解しようとしているわけではないことに注意してください。むしろ、分類器を正確にするという点で、各機能の重要性を理解しようとしています。また、私の目標は、特徴選択を実行したり、特徴の少ないモデルを構築したりすることではなく、学習したモデルに「説明可能性」を提供することです。したがって、分類子は単なる不透明なブラックボックスではありません。


ここでは、ランダムフォレストも良い方法だと思います。フォレスト上の上位の分割を調べて、どの機能が予測に最も寄与するかについての直感を得ることができます。

回答:


14

最初に注意することは、分類子としてロジスティック回帰を使用しないことです。がバイナリであるという事実は、この最尤法を使用して実際に観測値を分類することとはまったく関係がありません。それを超えたら、最尤法の副産物であるゴールドスタンダード情報測度、すなわち尤度比統計に集中してください。部分的なに関して各予測子の部分的な寄与を示すチャートを作成できます。Yχ2χ2統計。これらの統計には最大の情報/パワーがあります。ブートストラップを使用して、他の予測変数が考慮されると、各予測変数によって提供される予測情報のランクの信頼区間を取得することにより、「勝者」と「敗者」を選ぶのがどれだけ難しいかを示すことができます。例は、コースノートのセクション5.4にあります -[配布資料]、[配布資料]の順にクリックします。

相関の高い機能がある場合は、「チャンクテスト」を実行して、それらの影響を結合できます。これを行うチャートを図15.11にsize示します。ここでは、4つの別々の予測変数の寄与を組み合わせています。


6

短い答えは、この質問に答える単一の「正しい」方法はないということです。

問題の最良のレビューについては、Ulrike Groempingの論文、例えば、分散分解に基づく線形回帰の相対的重要性の推定量を参照してください。彼女が説明するオプションは、単純なヒューリスティックから、洗練されたCPU集約型の多変量ソリューションまで多岐にわたります。

http://prof.beuth-hochschule.de/fileadmin/prof/groemp/downloads/amstat07mayp139.pdf

Groempingは、RELAIMPOと呼ばれるRパッケージで彼女自身のアプローチを提案していますが、これも読む価値があります。

https://cran.r-project.org/web/packages/relaimpo/relaimpo.pdf

私が使用した手っ取り早い方法の1つは、各パラメーターに関連付けられたカイ2乗(F値、t統計)を合計し、その合計で個々の値を再パーセンテージ化することです。結果は、ランク付け可能な相対的重要度のメトリックになります。

とはいえ、私は「標準化されたベータ係数」のファンではありませんでしたが、それらは専門家によって頻繁に推奨され、広く使用されています。問題は次のとおりです。標準化は単変量であり、モデルソリューションの外部にあります。つまり、このアプローチは、モデルの結果の条件付きの性質を反映していません。


答えとリンクをありがとう!「モデルソリューションの外部」および「モデルの結果の条件付きの性質」が何を意味するかについて詳しく説明してください。(悲しいかな、統計の専門家ではありません。)
DW

1
心配ない。モデルがモデル内の他の要素をどのように「制御」または条件化するかという概念は、多くの統計学者が実際に同意できるものの1つかもしれません。また、このサイトで多くの解説が見られるトピックでもあります。そのようなスレッドへのリンクは次の とおりです。 )他のすべての変数への変数の寄与/影響/効果/関連付け。
マイクハンター

ありがとう!私はいくつかの要因を「制御する」という概念に精通しています。それは、「モデルソリューションの外部」または「モデルの結果の条件付きの性質」の意味にどのように関連し、またはその理解に役立ちますか?
DW

「標準化されたベータ」を作成するための予測子の標準化は、通常、モデルが構築される前に行われますか?したがって、その変換はモデルのソリューションの「外部」です。これまで私と一緒に?
マイクハンター

OK。「外部」の意味が理解できるようになりました。説明ありがとう。なぜこれが問題なのか、そして「条件付きの性質...」とはどういう意味ですか?(たぶん、これらの2つの質問は、同じ答えの同じ質問です...)あなたが書いたことを理解したいと思っています。
DW

3

これを行うかなり堅牢な方法は、モデルをN回フィットすることです。ここで、Nはフィーチャの数です。毎回、N-1個の機能を使用し、1つの機能を除外します。次に、お気に入りの検証メトリックを使用して、各機能の包含または除外がモデルのパフォーマンスにどの程度影響するかを測定できます。持っている機能の数によっては、これは計算コストがかかる場合があります。


4
これは相関機能をうまく処理しません。2つの機能が高度に相関している状況を設計するのは簡単です。そのため、どちらか一方を削除しても予測力への影響は最小限になりますが、両方の影響を削除すると深刻な影響があります。本質的には、2つの予測子がほぼ同一だが重要な情報を運ぶものです。
マシュードゥルーリー

2
同意する。これは、係数を調べるときにも危険です。
ダニエルジョンソン

1
本当です。本当です。
マシュードゥルーリー

2

推定係数のサイズを見ているだけであるという観察結果は正しいです上記の理由により、あまり意味がありません。しかし、簡単な調整は、係数推定値に予測子の推定標準偏差を乗算することですそしてこれを重要度の尺度として使用します。これは標準化されたベータ係数と呼ばれることもあり、ロジスティック回帰では、 1つの標準偏差の変化によって生じる成功の推定対数オッズの変化を表します。これに関する1つの問題は、数値予測子を処理しなくなったときに機能しなくなることです。|βj^||βj^|σ^jxj

最後の点については、変数が実際の「真の」対数オッズにあまり影響を与えずに推定対数オッズに大きく寄与する可能性はもちろんありますが、推定値を生成した手順に自信があります。


0

係数を関連性の尺度として使用してはならない理由については正しいのですが、それらを標準誤差で割ると絶対にできます!Rを使用してモデルを推定した場合は、すでに行われています!モデルから最も重要でない機能を削除して、その機能を確認することもできます。

変数のさまざまな変化が結果をどのように変化させるかを研究するためのよりヒューリスティックなアプローチは、正確にそれを行っています。異なる入力を試して、推定確率を研究します。しかし、あなたのモデルは非常に単純なので、私はそれに反対するでしょう

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