キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
DataRobot コミュニティ

変数は多いほうがよいのでしょうか?

Giyu_Tom
NiCdバッテリー

変数は多いほうがよいのでしょうか?

変数が多い方が説明能力が高くなると思うのですが、実際のところどうでしょうか?

0 件の賞賛
2件の返信2
Kei
データサイエンティスト
データサイエンティスト

モデルに組み込む変数(特徴量)の数という意味であれば必ずしもそうは言えません。一般的には変数が多いと過学習(オーバーフィット)のリスクが高まるため、検定データの予測精度を最も良くするようにモデルに組み込む特徴量の数を見極める必要があります。

 

とはいえ、検討する変数の候補は広い方が良いため、変数を集めて損をするということはありません。

IJICHI_DR
データサイエンティスト
データサイエンティスト

互いに独立な説明変数が増えていく分には大きな問題になることはないかもしれませんが、分析を行うために計画的に取得されたわけではないリアルワールドデータでは、説明変数の種類が増えると多くの場合説明変数間での多重共線性(一方の説明変数で他方の説明変数を精度よく予測できる関係性)が発生します。

線形重回帰モデルで考えると分かりやすいのですが、多重共線性があると何が問題かと言うと、モデル内の説明変数の係数値が不安定になります。(極端な例では係数の正負が逆になってしまったり、、、)

係数値が不安定になれば、モデルの解釈性が毀損されます。「どの説明変数が予測にとって重要か」という情報が不安定になるわけです。そしてこれは線形重回帰モデルだけでなく全ての機械学習モデルで生じる現象です。

しかしながら、モデルの解釈性を気にすることはなく、予測精度が高ければ良い、というユースケースであれば、多重共線性の問題を気にし過ぎる必要はありません。一方、要因分析や臨床研究など、説明変数の係数値(=重要性)を正確に把握することが求められるユースケースであれば、説明変数の選択を逐次的に行いながらモデルの係数値を安定させて、モデルの見通しを良くすることが必要ですね。