Main Content

最小二乗近似の紹介

回帰モデルは、1 つ以上の係数を使用して応答データを予測子データと関連付けます。''近似法'' とは、一連の入力データを指定してモデル係数を計算するアルゴリズムです。Curve Fitting Toolbox™ は、最小二乗近似法を使用して回帰モデルの係数を推定します。

Curve Fitting Toolbox は、以下の最小二乗近似法をサポートします。

  • 線形最小二乗法

  • 重み付き最小二乗法

  • ロバスト最小二乗法

  • 非線形最小二乗法

回帰モデルの種類と入力データのプロパティによって、モデル係数の推定にどの最小二乗法が最も適しているかが決まります。

残差の計算

データ点の "残差" とは、観測された応答値と当てはめられたモデルによって返された応答推定の差です。推定応答のベクトルを計算する式は次のようになります。

y^=f(X,b)

ここで、

  • y^ は n 行 1 列の応答推定のベクトルです。

  • f は回帰モデルの一般的な形式です。

  • X は n 行 m 列の計画行列です。

  • b は m 行 1 列の近似モデル係数のベクトルです。

"最小二乗近似法" は、誤差の二乗和 (SSE) (残差二乗和とも呼ばれる) を最小化するモデル係数を計算します。一連の n データ点を指定すると、i 番目のデータ点 ri の残差は次の式で計算されます。

ri=yiy^i

ここで、yi は i 番目の観測された応答値で、ŷi は i 番目の近似応答値です。SSE は次のように与えられます。

SSE=i=1nri2=i=1n(yiy^i)2

誤差の仮定

あるデータ点の観測値と実際の値の差を "誤差" と呼びます。直接観測できないため、あるデータ点の誤差はそのデータ点の残差で近似されます。

最小二乗近似法は、極端な値の確率的誤差が大量に含まれていないデータ セットに対しては最も正確です。信頼限界や予測限界などの統計結果では、誤差が正規分布していると仮定します。データ近似法は、通常、ランダムな変動を含むデータの誤差について 2 つの重要な仮定を行います。

  • 誤差は応答データのみに存在し、予測子データには存在しない。

  • 誤差はランダムであり、平均がゼロで分散が一定の正規分布に従う。

データ近似法では、正規分布は通常多くの測定量の分布に対して適切な近似となるため、誤差は正規分布すると仮定します。最小二乗近似法は、パラメーター推定値を計算するときに誤差が正規分布していることを仮定しませんが、極端な値の確率的誤差が大量に含まれていないデータに対しては最も効果的な方法です。正規分布は極端な確率的誤差が少ない確率分布の 1 つです。ただし、信頼限界や予測限界などの統計結果では、妥当性を確保するために誤差が正規分布している必要があります。

残差の平均が非ゼロの場合、残差がモデルの選択や予測子変数の影響を受けるかどうかを確認します。重み付き最小二乗法以外の近似法では、Curve Fitting Toolbox はさらに、誤差の分散が予測子変数の値全体で一定であると仮定します。分散が一定でない残差は、近似が低品質なデータの影響を受けている可能性があることを示します。

線形最小二乗法

Curve Fitting Toolbox では、線形最小二乗法を使用して線形モデルをデータに当てはめます。"線形モデル" は、係数について線形である方程式として定義されます。データに極端な値がほとんど含まれておらず、誤差の分散が予測子変数全体で一定である場合は、線形最小二乗近似法を使用します。

次数 m – 1 の線形モデルは、次の行列形式をもちます。

y=Xβ+ε

ここで、

  • y は n 行 1 列の応答データのベクトルです。

  • β は m 行 1 列の未知の係数のベクトルです。

  • X は、m – 1 の予測子列を含む n 行 m 列の計画行列です。各予測子変数は X の列に対応します。X の最後の列は、モデルの定数項を表す 1 の列です。

  • ε は n 行 1 列の未知の誤差のベクトルです。

たとえば、

y=p1x+p2

の形式の 1 次多項式は次で与えられます。

[y1y2y3...yn]=[x11x21x31...xn1]×[p1p2]

ε は未知のため、β は直接計算できません。線形最小二乗近似法は、SSE を最小化する係数 b のベクトルを計算することで β を近似します。Curve Fitting Toolbox は正規方程式と呼ばれる方程式系を解くことで b を計算します。正規方程式は次の式で与えられます。

(XTX)b=XTy

ここで、XT は行列 X の転置です。次に、b の式は

b=(XTX)1XTy

となります。未知の係数について連立線形方程式系を解くには、MATLAB® のバックスラッシュ演算子 (mldivide) を使用します。XTX の逆行列を計算すると許容できない丸め誤差が発生する場合があるため、バックスラッシュ演算子ではピボットによる QR 分解が使用されます。この分解は数値的に安定したアルゴリズムです。バックスラッシュ演算子と QR 分解の詳細については、算術演算を参照してください。近似応答値 ŷ のベクトルを計算するには、モデルの式に b を代入します。

y^=Xb

線形最小二乗近似法を使用する多項式モデルの近似の例は、多項式モデルによるデータへの近似を参照してください。

重み付き最小二乗法

応答データの誤差の分散が予測子データの値全体で一定でない場合、近似が低品質なデータの影響を受けている可能性があります。重み付き最小二乗近似法は、"重み" と呼ばれるスケーリング係数を使用して、モデル係数の計算において応答値の効果に影響を与えます。重みが既知の場合、または重みが特定の形式に従う場合は、重み付き最小二乗近似法を使用します。

重み付き最小二乗近似法では、SSE の式に重みが導入され、

SSE=i=1nwi(yiy^i)2

となります。ここで、wi は重みです。重みは、応答の分散が定数値になるように指定する必要があります。データに含まれる測定誤差の分散 σi2 が既知の場合、重みは wi=1σi2 で与えられます。または、残差を使用して σi2 の計算の誤差を推定することもできます。

SSE の重み付きの式は b の式を導きます。

b=(XTWX)1XTWy

ここで、W は Wii=wi のような対角行列です。

重み付き最小二乗近似法を使用する多項式モデルの近似の例は、重みによるモデル近似の改善を参照してください。

ロバスト最小二乗法

応答データの極端な値は "外れ値" と呼ばれます。残差を 2 乗すると SSE 計算におけるこれらのデータ点の効果が拡大するため、線形最小二乗近似は外れ値の影響を受けます。データに外れ値が含まれる場合は、ロバスト最小二乗近似法を使用します。

Curve Fitting Toolbox は、以下のロバスト最小二乗近似法を提供します。

  • 最小絶対残差 (LAR) — この方法は、残差の二乗ではなく絶対残差を最小化する曲線を求めます。そのため、極端な値による近似への影響が小さくなります。

  • 二重平方重み — この方法は、重み付き二乗和を最小化します。各データ点に与えられる重みはその点の近似曲線からの距離によって決まります。近似曲線に近い点は最大限の重み付けがなされます。曲線から遠い点ほど重みが減少します。曲線からの距離が偶然に起因すると考えられる距離を超えている点はゼロに重み付けされます。

    二重平方重み法は最小二乗法を使用してデータの大部分に当てはめる曲線を求めると同時に外れ値の影響を最小化するため、多くの場合、LAR よりも二重平方重み法の方が好まれます。

ロバスト二重平方重み近似は、反復重み付き最小二乗アルゴリズムを使用し、次の手順に従います。

  1. 重み付き最小二乗法によるモデルで近似します。このアルゴリズムは、重みを指定しない限り、最初の反復で 1 に等しい重みを使用します。

  2. 調整済み残差を計算し、それらを標準化します。調整済み残差は次で与えられます。

    radj=ri1hi

    ここで、hi は近似曲線から離れたデータ点の重みを減らすパラメーターです。標準化された調整済み残差は次で与えられます。

    u=radjKs

    ここで、K=4.685 は調整定数、s は残差の中央絶対偏差 (MAD) を 0.6745 で割って得られるロバスト標準偏差です。

    ロバスト重みを u の関数として計算します。二重平方重みは次で与えられます

    wi={(1(ui)2)2|ui|<10|ui|1

  3. 近似が収束した場合、反復プロセスを終了します。そうでない場合は、手順 1 に戻り、二重平方重み近似法の次の反復を実行します。

ロバスト最小二乗近似法を使用して外れ値の影響を最小化する代わりに、近似から除外するデータ点をマークすることができます。詳細については、外れ値の削除を参照してください。

ロバスト最小二乗近似法を使用する多項式モデルの近似の例は、ロバスト近似法の比較を参照してください。

非線形最小二乗法

Curve Fitting Toolbox では、非線形最小二乗法を使用して非線形モデルをデータに当てはめます。"非線形モデル" は、係数について非線形な方程式、または係数について線形と非線形の組み合わせをもつ方程式として定義されます。たとえば、指数モデル、フーリエ モデル、ガウス モデルは非線形です。

非線形モデルは次の行列形式をもちます。

y=f(X,β)+ε

ここで、

  • y は n 行 1 列の応答データのベクトルです。

  • β は m 行 1 列の係数のベクトルです。

  • X は n 行 m 列の計画行列です。

  • f は β と X の非線形関数です。

  • ε は n 行 1 列の未知の誤差のベクトルです。

非線形モデルでは、線形モデルとは異なり、近似係数 b は行列手法を使用して計算できません。Curve Fitting Toolbox は以下の反復法を使用して係数を計算します。

  1. 係数値を初期化します。一部の非線形モデルでは、ツールボックスには初期値を計算するためのヒューリスティックな方法が用意されています。その他のモデルでは、区間 [0,1] のランダムな値を使用して係数が初期化されます。

  2. 現在の一連の係数について近似曲線を計算します。近似応答値 ŷ は y^=f(X,b) で与えられ、f(X,β) のヤコビアンを使用して計算されます。f(X,β) のヤコビアンは、β で係数についての偏導関数の行列として定義されます。

  3. 次のいずれかの非線形最小二乗アルゴリズムを使用して係数を調整します。

    • 信頼領域法 — このアルゴリズムは既定です。係数制約を指定する場合は信頼領域法アルゴリズムを使用する必要があります。信頼領域法アルゴリズムは難しい非線形問題を他のアルゴリズムよりも効率的に解くことができ、一般に普及しているレーベンバーグ・マルカート アルゴリズムよりも改善されています。

    • レーベンバーグ・マルカート法 — 信頼領域法アルゴリズムで適切な近似が生成されず、係数制約がない場合は、レーベンバーグ・マルカート アルゴリズムを使用してください。

  4. 指定された収束条件を近似が満たした場合、反復を終了します。そうでない場合は、手順 2 に戻ります。

Curve Fitting Toolbox は、重みとロバスト近似を使用した非線形モデルの SSE 計算をサポートしています。

非線形モデルの予測精度は、モデルのタイプ、収束条件、データセット、係数に割り当てられた初期値に依存します。既定のオプションで妥当な近似を得られない場合は、モデル係数の開始値、非線形最小二乗アルゴリズム、および収束条件を変えて試してください。一般的に、非線形モデルの近似は、モデル係数の開始値の影響を特に受けやすいため、係数の開始値を変更することから始めます。既定のオプションの変更に関する詳細については、近似オプションと最適化された開始点の指定を参照してください。

非線形最小二乗近似法を使用する指数モデルの近似の例は、指数モデルのデータへの近似を参照してください。

参照

[1] DuMouchel, W. H., and F. L. O'Brien. “Integrating a Robust Option into a Multiple Regression Computing Environment.” Computer Science and Statistics: Proceedings of the 21st Symposium on the Interface. Alexandria, VA: American Statistical Association, 1989.

[2] Holland, P. W., and R. E. Welsch. “Robust Regression Using Iteratively Reweighted Least-Squares.” Communications in Statistics: Theory and Methods, A6, 1977, pp. 813–827.

参考

アプリ

関数

関連するトピック