回帰モデルを運用するまでの、モデルの評価方法の整理

分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と材料の物性・活性・特性や製品品質 y との間で数理モデル y = f(x) を構築し、構築されたモデルを用いて x の値から y の値を予測したり、y が目標値となるような x を設計したりします。予測精度が高いモデルを構築するために、そもそも そのモデルの予測精度はどれくらいか、評価する必要があります。

回帰分析を対象としたときに、回帰モデルの予測精度の評価をする方法として、

 

  • テストデータを用いた検証
  • バリデーションデータを用いた検証
  • クロスバリデーションによる検証
  • ダブルクロスバリデーションによる検証
  • y-randomization による検証
  • MAECCE

 

があります。今回はこの辺りを整理します。

回帰モデルを構築するといっても、モデル構築手法の中には、データ解析者があらかじめ設定する必要のあるパラメーターであるハイパーパラメータがあるものもあります。例えば PLS の成分数やガウシアンカーネルを用いた SVR における C, ε, γ です。

部分的最小二乗回帰(Partial Least Squares Regression, PLS)~回帰分析は最初にこれ!~
部分的最小二乗回帰 (Partial Least Squares Regression, PLS) について、pdfとパワーポイントの資料を作成しました。データセットが与えられたときに、PLSで何ができるか、どのようにPLSを計算するかが説...
サポートベクター回帰(Support Vector Regression, SVR)~サンプル数10000以下ならこれを使うべし!~
サポートベクター回帰(Support Vector Regression, SVR)について、pdfとパワーポイントの資料を作成しました。データセットが与えられたときに、SVRで何ができるか、SVRの特徴、どのように計算するかが説明されてい...

 

予測精度の高いモデルを構築するためのハイパーパラメータの候補を決めるのに用いる方法が、

 

  • バリデーションデータを用いた検証
  • クロスバリデーションによる検証

 

です。例えばバリデーションデータにおける y の予測値やクロスバリデーションによって得られる y の予測値と、y の実測値との間で r2, RMSE, MAE を計算し、r2 の値が大きくなるハイパーパラメータの候補や、RMSE や MAE の値が小さくなるハイパーパラメータの候補を選択します。

回帰モデル・クラス分類モデルを評価・比較するためのモデルの検証 (Model validation)
いろいろな回帰モデル・クラス分類モデルを構築したり、モデルの中のハイパーパラメータ (PLSの成分数など) を決めたりするとき、モデルを評価・比較しなければなりません。そのためのモデルの検証 (model validation) の方法につ...

 

適切なハイパーパラメータの候補を選択して回帰モデルを構築することはできますが、そもそも色々な回帰分析手法がある中で、どのようなデータセットにも、どのような y にも合うベストな手法が存在するわけではありません。データセットごと、y ごとに適切な回帰分析手法を選ぶ必要があります。ここでの選択に用いられるのが、

 

  • テストデータを用いた検証
  • ダブルクロスバリデーションによる検証

 

です。テストデータにおける y の予測値やダブルクロスバリデーションによる y の予測値と、y の実測値との間で r2, RMSE, MAE を計算してそれらの値に基づいて評価したり、y の実測値と推定値の散布図を見て評価したりします。

r2, RMSE, MAE は手法やモデルを比較するための指標です
講演会や金子研オンラインサロンにおいて、よくある質問の中に、 r2 はいくつ以上だったら良いモデルですか? RMSE や MAE がいくつ以下だったら良いモデルですか? といったものがあります。結論からいえば、r2, RMSE (Root-...
回帰分析における目的変数の実測値 vs. 推定値プロットを、解像度を上げて見る
解像度を上げるといっても、画素の密度を上げるわけではなく、より詳細に検討するということです。 回帰分析をしたら、以下のような目的変数の実測値 vs. 推定値プロットが得られたとしましょう。 ちなみにこのプロットは、こちらの論文にある沸点のデ...

 

ここでの評価により、手持ちのデータセットと対象とする y に適した回帰分析手法が選択されることになります。この手法を使って最終的に用いるモデルを構築します。ここで運用するモデルを評価する方法が

 

  • y-randomization による検証
  • MAECCE

 

です。そもそも MAECCE は、y-randomization に基づいて計算されます。

[Pythonコード付き] テストデータのMAEをトレーニングデータから推定する方法を開発したので紹介します [金子研論文]
回帰分析において、新しいサンプルを推定するときの誤差の絶対値の平均値を推定するための指標を開発しました。イメージとしては、テストデータとしてサンプルがたくさんあるときの、モデルの適用範囲 (Applicability Domain, AD)...

 

y-randomization により、最終的に構築されたモデルに偶然の相関がどの程度影響しているのか検討できます。またそれを具体的な MAE の形で示したのが MAECCE であり、MAECCE  は分布で与えられます。例えばモデルの適用範囲 (Applicability Domain) 内のデータセットが与えられたときに、誤差の平均としてどの程度の分布で予測できるか検討できます。

以上のように、回帰モデルを実際に運用するまでの流れにそって、それぞれの評価方法を整理しました。ご参考になれば幸いです。

 

以上です。

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

 

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