ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ハット行列とてこ比

ハット行列

目的

ハット行列を使用するとてこ比を測定できます。これは、1 つまたは複数の観測値が X 値に関して外れ値となっていて、回帰結果に過剰な影響が発生していないかどうかを調べるのに便利です。

定義

ハット行列は "射影行列" とも呼ばれます。これは、観測値のベクトル y を予測値のベクトル y^ に投影して "ハット" を y の上に置くためです。ハット行列 H はデータ行列 X に対して次のように定義されます。

H = X(XTX)–1XT

また、次の式が成立するため、近似値や予測値が決定されます。

y^=Hy=Xb.

H の対角要素 hii はてこ比と呼ばれ、次の条件を満たします。

0hii1i=1nhii=p,

ここで、p は係数の数、n は回帰モデル内の観測 (X の行) の数です。HatMatrix はテーブル Diagnostics 内の n 行 n 列の行列です。

使用方法

近似モデル (mdl など) を取得した後、fitlm または stepwiselm を使用して、次のことを実行できます。

  • ドット表記でプロパティのインデックスを使用して、HatMatrix を表示する。

    mdl.Diagnostics.HatMatrix
    n が大きい場合、HatMatrix の計算量が増大する場合があります。そのような場合、次の方法で対角値を直接求めることができます。

    mdl.Diagnostics.Leverage

てこ比

目的

てこ比は、入力空間で特定の観測の位置が原因で発生した、回帰予測におけるその観測値の影響を測定します。一般的に、入力空間の中心から離れた点ではてこ比が大きくなります。てこ比値の合計は p なので、てこ比値が平均てこ比値 p/n を大きく超えた値 (たとえば 2*p/n) である場合、観測 i は外れ値であると考えられます。

定義

観測値 i のてこ比は、ハット行列 H の i 番目の対角項 hii の値です。ここで

H = X(XTX)-1XT

です。対角項は次の条件を満たしています。

0hii1i=1nhii=p,

ここで、p は回帰モデルの係数の個数、n は観測値の個数です。定数項があるモデルでは、hii の最小値は 1/n です。近似モデルが原点を通過する場合、x = 0 の観測でてこ比の最小値は 0 になります。

次の関係が成立しているため、観測値 y を使用して近似値 y^ を表すことができます。

y^=Hy=Xb.

したがって、hiiy^i に対する観測値 yi の影響の大きさを表します。hii の値が大きい場合、i 番目のケースがすべての n ケースの X 値の中心から離れており、てこ比も大きいことを示します。Leverage はテーブル Diagnostics の n 行 1 列のベクトルです。

使用方法

近似モデル (mdl など) を取得した後、fitlm または stepwiselm を使用して、次のことを実行できます。

  • ドット表記でプロパティのインデックスを使用して、Leverage ベクトルを表示する。

    mdl.Diagnostics.Leverage

  • 次の方法を使用して、モデルで近似された値のてこ比をプロットする。

    plotDiagnostics(mdl)
    詳細は、LinearModel クラスの plotDiagnostics メソッドを参照してください。

てこ比の高い観測値の特定

この例では、Leverage 値を計算し、てこ比の高い観測値を評価する方法を示します。標本データを読み込み、応答変数および独立変数を定義します。

load hospital
y = hospital.BloodPressure(:,1);
X = double(hospital(:,2:5));

線形回帰モデルをあてはめます。

mdl = fitlm(X,y);

てこ比値をプロットします。

plotDiagnostics(mdl)

この例では、推奨されるしきい値は 2*5/100 = 0.1 です。てこ比が高い観測の存在は示されていません。

参考

| | |

関連するトピック