モデルの検証やその後における外れ値・外れサンプルの扱い

モデルの検証と、その後についての話です。

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

 

データセットをトレーニングデータとテストデータに分け、テストデータを用いて、トレーニングデータで構築されたモデルの検証をします。検証の中で、テストデータを精度良く推定できる手法 (回帰分析手法・クラス分類手法) を選択します。その後は、すべてのデータセットでモデルを構築し、モデルの適用範囲 (Applicability Domain, AD) を設定してからモデルを運用します。AD についてはこちらをご覧ください。

モデルの適用範囲・モデルの適用領域 (Applicability Domain, AD) ~回帰モデル・クラス分類モデルを使うとき必須となる概念~
今回は、モデルの適用範囲・モデルの適用領域 (Applicability Domain, AD) についてです。AD は回帰モデル・クラス分類モデルが本来の性能を発揮できるデータ領域のことです。回帰モデル・クラス分類モデルを使うとき必須にな...

 

テストデータでモデルの検証をするとき、テストデータのすべてのサンプルを誤差 0 で推定できるモデルが理想的です。すべての誤差を 0 にすることは難しいかもしれませんが、データセットをトレーニングデータとテストデータに分けるとき、基本的にはランダムに分割したり、Kennard-Stoneアルゴリズムを用いたりしますので、トレーニングデータとテストデータとは同じデータ分布、もしくはトレーニングデータのデータ分布にテストデータのデータ分布が含まれることが期待でき、トレーニングデータに上手くフィットして、かつオーバーフィッティング

人工知能・機械学習のときには過学習 (オーバーフィッティング) に気をつけよう!~過学習とその対処法~
応化先生と生田さんが過学習 (オーバーフィッティング) について話しています。応化:今日は過学習についてです。生田:過学習?学習し過ぎるってこと?応化:その通りです。生田:だったら悪いことじゃなさそうに聞こえるけど・・・。学習をたくさんする...
ぜんぶオーバーフィッティングのせいだ。
オーバーフィッティングについて考えます。オーバーフィッティングは予測精度の高いモデルを構築するときの問題でして、モデルがトレーニングデータに合いすぎてしまい (目的変数 y の推定誤差が小さくなりすぎてしまい)、新しいデータにおける目的変数...

 

していなければ、トレーニングデータにおける推定誤差と同程度にまで小さくすることはできると考えられます。また、そのような分布のため、テストデータにおける推定性能を検証するときには、AD を設定することはあまりありません。

ただ、データセットに外れ値・外れサンプルがあったり、

外れ値検出 (Outlier Detection) もしくは 外れサンプル検出 (Outlier Sample Detection) ~他の値・サンプルと大きく異なる値・サンプルを見つけよう!~
今回は、外れ値検出 (Outlier Detection) もしくは 外れサンプル検出 (Outlier Sample Detection) についてです。他の値と大きく異なる値を見つけたり、他のサンプルと大きく異なるサンプルを見つけたりす...

 

説明変数 x と目的変数 y の分布が複雑であったり、x と y の非線形関係が強かったり、サンプル数が小さかったりして、トレーニングデータのデータ分布とテストデータのデータ分布が同じとは仮定できないときもあります。そんなとき、たとえば回帰分析において、テストデータの推定結果における実測値 vs. 推定値プロットに、対角線から大きく外れたサンプルが出てくることがあります。そして、いろいろな回帰分析手法によって構築されたモデルの推定性能を比べるときに、テストデータ全体で誤差が小さいわけではなく、その外れたサンプルをたまたま誤差小さく予測できたようなモデルが、決定係数 r2 が大きくなったり、誤差の平均値のような指標である RMSE や MAE が小さくなったりして、選ばれる可能性があります。その外れたサンプル付近を精度良く推定したいときは、それでよいかもしれませんが、全体的に上手く推定したときには、そのような状況は望ましくありません。

外れたサンプルは AD の外であることが考えられますので (そうでないこともあります)、そんなときには、テストデータにおける推定性能を検証するときにも、AD を設定するとよいでしょう。AD 内のサンプルのみで、推定性能を検証するわけです。

テストデータでの検証を終えて、回帰分析手法が決まり、すべてのデータセットでモデル構築するとき、外れサンプルがあり、検討した結果、外れサンプルを削除することになったとしましょう。ちなみに、削除ではなく補完したい場合はこちらをご覧ください。

[Pythonコードあり] iterative Gaussian Mixture Regression(iGMR)で欠損値を補完しましょう!(目的変数があってもなくても構いません)
下図のような欠損値 (欠損データ) のあるデータセットがあるとします。穴あきのデータセットですね。こんなときに、穴の空いたところである欠損値を補完する方法を提案します。上の図のようなデータセットを下図のようにできます。たとえば、論文や特許か...

 

外れサンプルを削除して、最終的なモデルを構築することになったとき、もちろん外れサンプルの理由にもよりますが、AD を考慮するときに用いたほうがよいでしょう。具体的には、削除した外れサンプルと近いサンプルも外れサンプルの可能性がありますので、y の値を推定する新しいサンプルが、削除した外れサンプルと近い距離にあるとき、AD 外とすることも検討するのがよいと思います。

 

以上です。

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

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