理論が先か、データ解析・機械学習が先か、特徴量エンジニアリングの方針と注意点

分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。

モデルに関して、予測精度の高いモデルを構築することも重要ですし、構築したモデルを解釈することでデータセットが取得された実験系やシミュレーション系に新たな知見をフィードバックすることも大事です。モデルの予測精度の向上や解釈性の向上のため、x を検討することが行われます。特徴量エンジニアリングと呼ばれることもあります。

特徴量・記述子を検討・設計するときの心構え
分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y =...
目的変数yも特徴量エンジニアリング!
分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y =...
手動・自動の特徴量エンジニアリングの考え方
分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y =...

 

特徴量エンジニアリングの方針は、大きく分けて2つあります。

1つは、理論的に x を作成して、機械学習で検証する方法です。データセットを取得した実験やシミュレーションにおける、物理的・化学的背景に基づいて、理論的に x を作成します。もちろん、作成した x が y と 100% 関係していると、自信がある必要はありません。作成した x を追加する前と追加した後でモデルの予測精度を比較することで、作成した x の効果を検証したり、x の特徴量重要度により作成した x の位置づけを確認したりします。

もう一つは、機械学習的に x を作成・選択して、理論的に検証する方法です。x の二乗項や交差項、対数変換や指数変換など、また複数データや時系列データのときには様々な統計量など、考えうる様々な変数変換を特徴量ごと、もしくは複数の特徴量の組み合わせで実施し、多くの x を作成します。それらの x の中から、y を説明するモデルの予測精度が高くなると考えられる x のみ選択したり、特徴量重要度に基づいて y にとって重要と考えられる非線形変換を選択したりランキング付けしたりします。そして、選択された x や x のランキングを見て、理論的に結果は妥当か、妥当であれば実際にどのようなメカニズムになっているか検証します。

どちらの方法が良いのか聞かれたときは、基本的に前者の、理論的に x を作成して機械学習で評価する方法をオススメしています。なぜなら、後者の方法では偶然の相関 (chance correlation) に注意が必要だからです。

y-randomizationで過学習(オーバーフィッティング), Chance Correlation(偶然の相関)の危険度を評価!
回帰モデル・クラス分類モデルの評価のなかで、yランダマイゼーション (y-randomization) についてです。y-scrambling と呼んだりもします。やることは簡単で、目的変数 y の値をサンプル間でシャッフルして、回帰モデル...

 

機械学習的に、たくさんの特徴量を生成し、それらの中から重要と考えられる x のみ選択するとき、偶然の相関が容易に起こります。LASSO, GAPLS, GASVR, Boura などを使った場合も同様の危険があります。

リッジ回帰(Ridge Regression, RR), Least Absolute Shrinkage and Selection Operator (LASSO), Elastic Net (EN)~誤差の二乗和と一緒に回帰係数の値も小さくする~
リッジ回帰(Ridge Regression, RR), Least Absolute Shrinkage and Selection Operator (LASSO), Elastic Net (EN) について、pdfとパワーポイントの...
GAPLS, GASVR でモデルの推定性能がよくなるように説明変数の選択をしよう![Pythonコードあり]
遺伝的アルゴリズム (Genetic Algorithm, GA) を使って説明変数を選択する話です。2つの手法である Genetic Algorithm-based Partial Least Squares (GAPLS) Geneti...
[解析結果付き] Boruta、ランダムフォレストの変数重要度に基づく変数選択手法
Boruta という、ランダムフォレスト (Random Forest, RF) の変数重要度に基づいた変数選択手法について、パワーポイントの資料とその pdf ファイルを作成しました。いろいろなデータセットを解析しましたが、モデルの推定性...

 

例えば、テストデータの評価値 (r2 や正解率など) が高かったとしても、有意なモデルとはいえません。そして有意なモデルではないということは、選択された x や重要度の高い x が、本当に重要とは限りません。この偶然の相関の影響が、後者は大きくなるため、もちろん前者の方法における影響が 0 というわけでありませんが、比較的に危険性の小さい方法である、理論的に x を作成して、機械学習で検証する方法をオススメしています。理論的に x を作成できないときに、機械学習的にデータセットから有意な x を生成して欲しいという要望や気持ちは非常によく分かりますが、一方で上のような危険もあることを承知していただければと思います。

ちなみに、x と y の間の非線形性ということであれば、新たな特徴量を生成するのではなく、非線形の回帰分析手法や非線形のクラス分類手法を使うことでも評価できます。非線形性を解釈したいのであれば、そのような回帰分析手法・クラス分類手法により非線形モデルを構築して、そのモデルを解釈することで x と y の間の関係を検討することも可能です。

なお、こちらをお読みいただいている、ご自身のデータセットや実験系・シミュレーション系で特徴量エンジニアリングの壁を感じていたり難しさを考えていたりする方は、ぜひご相談いただければと思います。

 

以上です。

質問やコメントなどありましたら、X, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました