質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1753閲覧

非線形な相関を持つデータが、モデルに影響を及ぼすことはあるのか?

TakoyakiOishii

総合スコア16

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/07/01 18:42

編集2021/07/01 19:25

疑問に思いましたが、ググってもいい答えが見つからなかったのでご質問します。

機械学習でモデルを構築する際に、無駄なデータを省くために、相関係数が高い特徴量の片方を省くことはよくあることだと思います。

しかし、次のようなデータの場合はどうでしょうか?
イメージ説明

この場合、線形的には変化していなくても、何かしらの関係性はあると人間の目からは見て取れます。
一応こういう相関を分析する手法もあると言うことは分かったのですが、こう言う相関が特徴量データ同士にあった場合、どういう処理をするべきでしょうか?もしくは何もしなくてもいいのでしょうか?

モデルによっても変わるとは思いますが、何か例のようなものをご教授いただけますと幸いでございます。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

  • 無駄なデータを省くために、相関係数が高い特徴量の片方を省くことはよくあることだと思います。

一般化していうと、近似曲線を引いたときに、誤差の二乗和が小さければ従属変数は省略できます。

したがって、TakoyakiOishiiさんのグラフの曲線上にすべてのデータが乗っているなら誤差の二乗和はゼロですので従属変数を省略して問題はありません。
省略できるかどうかは、誤差の二乗和で判断しましょう。

投稿2021/07/02 00:23

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakoyakiOishii

2021/07/02 06:01

質問させてください! >TakoyakiOishiiさんのグラフの曲線上にすべてのデータが乗っているなら誤差の二乗和はゼロですので従属変数を省略して問題はありません。 ここでいうtakoyakioishiiさんのグラフって何を指してますかね?  パラメトリックなモデルのように背後に何か形があると想定された上でのお話でしょうか??
guest

0

ベストアンサー

ご質問を「非線形な相関を持つ特徴量があった場合、どういう処理をするべきか」と解釈します。

ググるキーワードを「特徴量選択」としてください。特徴量選択の手法は線形相関を見ることだけではない、と理解いただけると思います。

例えば、「特徴量選択のまとめ」を読むと、特徴量選択は、Filter Method、Wrapper Method、Embedded Methodの大きく3種類に分類されることがわかります。そして、質問者様のケースでは、単純な相関までを見るFilter Methodでは(特徴量を減らすべきかを)見極められるか微妙ですが、実際のモデルに当てはめるWrapper Method、Embedded Methodでは見極められそうだとわかります。

追記(7/2 19:57)

なお、質問者様が示した例のような、「完全な」非線形な相関がある場合でも、特徴量を減らしてよいかは、モデルに依存します。モデルによっては、既存の特徴量の組み合わせから、比較的簡単な計算で導出される特徴量が加わるだけで、予測精度が改善される場合もあるからです。

例えば、有名なkaggleのtitanicでは、Sibsp(夫婦と兄弟の人数)とParch(親子の人数)をそのまま使うのではなく、それらを加算しただけのFamilySizeを使うことで、予測精度が改善されます。また、titanicを含む多くの問題において、特徴量のlogをとって非線形変換するのも、前処理として有用な技術です。よって、非線形に完全な相関があるからといって、無作為に片方の特徴量を削って良いとは限らないことが、理解できると思います。こういった場合でも、この回答前半でご紹介した方法にて、それなりにベターな特徴量の組み合わせを選択することが可能です。

投稿2021/07/01 22:47

編集2021/07/02 11:02
toast-uz

総合スコア3266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakoyakiOishii

2021/07/02 11:19 編集

トーストさんいつもありがとうございます。Wrapper Methodはある意味力技なのでできるのは自明として、Embedded Methodだと、重要度を決定木などで測ると言うことですよね。決定木のimportanceがどのくらい使えるものなのか、重回帰よりいい値が出るのか等まだ不勉強なので、別枠でまた質問するかもです。 また、追記も読ませていただきました。 非線形であると言うのは一つの参考になる事例に過ぎないので、消すかどうかはドメイン知識が大きく影響する、なので非線形と言うだけで消してしまうのはちょっと惜しいかもしれない。と言うことでしょうか? 特徴エンジニアリングで非線形な場合すぐ消すと自信を持って言えたら、結構楽できるかと思ったのですが....そう簡単にはいかなそうですね笑 ありがとうございます!
toast-uz

2021/07/02 11:29 編集

個人的には、ツールを使ってWrapper Methodを行うのがオススメです。特徴量選択の前段階の特徴量生成もツールがあるようです。 https://dev.classmethod.jp/articles/yoshim-featuretools-boruta-optuna/ なお、私は、いろいろなツールを覚えられないので、optunaのcategoricalを使って特徴量選択をしています(1つ1つの特徴量を採用するしないのbool値をハイパラとみなして、categoricalでチューニングします)。PFNはxfeatという特徴量エンジニアリングツールを出していてoptunaとも相性良いらしいので、今度試してみたいと思っています。 https://zenn.dev/atfujita/articles/ca5d39425f5520dc9719 また、決定木のimportanceは、ひとつの参考にはなりますが、非線形度が強いモデルの場合は、あまり有用ではない、という印象です。 追記については質問者様の解釈のとおりです。
TakoyakiOishii

2021/07/02 13:36

ツールもご教示いただきありがとうございました! 結構いろんなツールが出ているんですね。 ツールも内部でどんなことやってるか知っとかないと、ミス起こしそうなので難しいですね... ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問