線形モデルだからといって非線形モデルより外挿性が高いわけではまったくありません

よくある誤解の一つに、線形モデルは予測精度が低いけど外挿性が高い、非線形モデルは予測精度が高いけど外挿性が低い、というのがあります。回帰モデルが線形だからといって非線形モデルより予測精度が低いわけではありませんし、線形モデルだからといって非線形モデルより外挿性が高いわけでもありません。線形モデルが、説明変数 x のより広範囲を精度よく予測できるわけではないのです。

モデルの予測精度は、線形・非線形に限らず、データセット、すなわちサンプル・目的変数 y・説明変数 x の組み合わせに依存します。また、線形モデル、非線形モデルといっても、モデル構築手法にはそれぞれ様々な種類があります。線形、非線形の二種類だけで、予測精度を議論できる単純なものでもありません。

仮に、あるデータセットにおいて、ある線形回帰モデル、例えば PLS の予測精度が高かったとします。これはあくまで、データセットのサンプルの x の範囲内では、線形モデルで近似できたということであって、その範囲外も線形関係が成り立つとは、まったくいえません。サンプルが追加されたら、y と x の間の関係に線形性が出てくる可能性があります。

非線形回帰モデル、例えばガウシアンカーネルを用いた SVR が最も良かったのであれば、もちろん SVR を用いて最終的に用いるモデルを構築した方がよいですし、外挿領域の予測をしたいときにも、SVR モデルを使用するべきです。

構築したモデルの予測精度は、今あるデータセットの y が測定されたサンプルでしか検証できないことから、結局は 「内部」 バリデーションに過ぎません。線形モデルとはいえ、(テストデータ含めて) 今あるデータセットより外挿を予測できる保証はありません。トレーニングデータとテストデータに分けて、トレーニングデータで構築されたモデルをテストデータで検証すること自体はまったく問題ないのですが、テストデータも結局は既にあるデータであり、内部データです。テストデータを精度よく予測できるからといって、いくらでも外挿できるわけではありません。

どうしても外挿を探索したい場合は、物理モデル・第一原理モデルを使用したり、組み合わせたりするとよいです。

Xの変数を適切に非線形変換して線形の回帰モデルを作るとモデルの適用範囲・適用領域が広がるかも![検証結果とPythonプログラムあり]
今回は、説明変数・記述子・特徴量・入力変数を非線形関数で変換するお話です。説明変数 X と目的変数 y との間で回帰モデルを作るとき、X と y との間に非線形の関係 (y = x12 + log(x2) とか) があるとき、一つのアプロー...

 

物理モデルや第一原理モデルの理論が成り立つ領域では、外挿することができます。

データ解析・機械学習でモデル構築したい場合には、適切にモデルの適用範囲を決めて、外挿の中でも予測できると考えられる領域までを予測するようにします。

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

 

それより外側の外挿領域を探索したいときには、ベイズ最適化をはじめとする適応的実験計画法・能動学習と組み合わせて、データ解析・機械学習と実験を合わせて探索するようにしましょう。

ベイズ最適化(Bayesian Optimization, BO)~実験計画法で使ったり、ハイパーパラメータを最適化したり~
ガウス過程による回帰をうまく使って、実験計画法における新しい実験候補を探索したり、回帰モデルやクラス分類モデルのハイパーパラメータ (学習では求まらないため事前に決めるべきパラメータ) を決定する方法が、ベイズ最適化 (Bayesian O...
守りの AD 攻めの BO (AD: モデルの適用範囲、BO: ベイズ最適化)
分子設計でも材料設計でもプロセス設計でも、説明変数 X と目的変数 Y のそろったデータセットを準備して、X と Y の間でモデル Y = f(X) を構築します。構築したモデルを用いて、Y が目標の値となるような X の候補を設計します。...

 

以上です。

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

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