GAWLS や GAVDS における領域数の決め方

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

スペクトルデータを扱うときは、Genetic Algorithm-based WaveLength Selection (GAWLS) で波長領域 (波数領域) を選択したり、時系列データを扱うときは、Genetic Algorithm-based process Variable and Dynamics Selection (GAVDS) でプロセス変数とその時間遅れ幅を同時に選択したりします。

[Pythonコードあり] スペクトル解析における波長領域や時系列データ解析におけるプロセス変数とその時間遅れを選択する方法
遺伝的アルゴリズム (Genetic Algorithm, GA) を使って回帰モデルの推定性能がよくなるように、説明変数 (記述子・特徴量・入力変数) を選択する手法を以前解説しました。今回は、スペクトル解析における波長選択と、時系列デー...

 

GAWLS, GAVDS それぞれ、使用するときに選択する領域の数を決める必要があります。領域の数が大きいほど構築されるモデルの柔軟性は高まりますが、オーバーフィッティングの可能性も高くなり、またモデルの解釈もしにくくなります。この領域の数について、何かベストな値が存在するわけではなく、データセットごとに、y ごとに適切な値を検討する必要があります。

検討する一つの方法として、領域の数を 1 から (例えば) 20まで 1つずつ振り、それぞれ GAWLS や GAVDS を実行します。その後、各実行結果における選択された領域のみ用いて、クロスバリデーションをしたり、トレーニングデータで構築したモデルを用いてテストデータを予測したりします。このとき、領域の数ごとに、5回から10回、複数回実行するとよいでしょう。

その結果得られたクロスバリデーション後の r2, RMSE, MAE や、テストデータにおける r2, RMSE, MAE を領域ごとにプロットします。横軸を領域の数、縦軸を (例えば) r2 としたときに、領域の数ごとにデータ点が縦に並ぶイメージです。このプロットを見て、適切な領域の数を検討します。

ただ、テストデータの r2 乗が最大となる領域の数、というように決めるのではなく、領域数を大きくしていったときに、ある程度 r2 が大きくなったら、なるべく領域の数は小さいものを選択するとよいです。構築されたモデルの解釈もしやすくなります。

このようにして、GAWLS や GAVDS は領域の数を検討した後に用いるようにしましょう。

 

以上です。

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

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