アルゴリズム(線形多重回帰)

線形多重回帰モデル

線形多重回帰モデル

多重線形回帰は、単純な線形回帰の拡張で、複数の独立変数が存在します。これは、従属変数yにおける複数の独立変数x_1, x_2, \dots, x_kの影響を評価する際に使います。指定したデータセット(y, x_1, x_2, \dots, x_k)に対して、多重回帰はデータセットをモデルにフィットします。

y_i=\beta _0+\beta _1x_{1_i}+\beta _2x_{2_i}+\ldots +\beta _kx_{k_i}+\varepsilon_i

(1)

ここで \beta _0\,\! はy切片で、パラメータ \beta _1\,\!, \beta _2\,\!, ..., \beta _k\,\!は、部分計数です。 行列形式で記述することができます。

Y=XB+E\,\!

(2)

ここで

Y=\begin{bmatrix}
y_1\\
y_2\\
\vdots \\
y_n
\end{bmatrix}
, X=\begin{bmatrix}
1 & x_{11} & x_{12} & \cdots & x_{1k}\\
1 & x_{21} & x_{22} & \cdots & x_{2k}\\
\vdots & \vdots  & \vdots & \ddots & \vdots\\
1 & x_{n1} & x_{n2} & \cdots & x_{nk}
\end{bmatrix}  
B=\begin{bmatrix}
\beta_0 \\
\beta_1 \\
\vdots \\
\beta_k
\end{bmatrix} , E=\begin{bmatrix}
\varepsilon _1\\
\varepsilon _2\\
\vdots \\
\varepsilon _n
\end{bmatrix}

\varepsilon_iは、\bar{E}=0かつVar[E]=\sigma^2における正規確率変数として、独立かつ一様に分布していると仮定します。 Bについて、\left \|E\right \|を最小にするには、次の関数を使います。

\frac{\partial E'E}{\partial B}=0

(3)

結果\hat Bは、ベクターデータ B最小二乗推定値値は、線形方程式の解で、次の様に表すことができます。

\hat B=\begin{bmatrix}
\hat \beta_0 \\
\hat \beta_1 \\
\vdots \\
\hat \beta_k
\end{bmatrix}=(X'X)^{-1}X^{\prime }Y

(4)

ここで、X'は、Xの転置で、与えられたXに対するYの推定値は次のようになります。

\hat{Y}=X\hat{B}

(5)

(4)に\hat{B}を置換して、行列Pを定義することができます。

\hat{Y}=[X(X'X)^{-1}X']Y=PY

(6)

残差は次のように定義されます。

res_i=Y-\hat{Y}

(7)

残差平方和は、次の通りです。

RSS=\left \|E \right \|^2={Y}'Y-\hat{B}'X'X\hat{B}

(8)

フィット制御

誤差を重みとする

フィッティング処理で、それぞれのy_iに重みを与えることができます。yEr±誤差列は、それぞれのy_iについて重みw_iとして取り扱われます。yEr±が無いとき、w_iは、全てのiについて1になります。

重み付けフィッティングのとき、解\hat{B}は、次のように表すことができます。

\hat{B}=(X'WX)^{-1}X'WY

(9)

ここで

W=\begin{bmatrix}
 w_1& 0 & \dots &0 \\ 
0 & w_2 & \dots &0 \\ 
 \vdots& \vdots &\ \ddots &\vdots \\ 
 0& 0 &\dots  & w_n
\end{bmatrix}

重み付けなし

エラーバーは、計算では重みとして取り扱われません。

直接重み付け

w_i=\sigma_i

(10)

機械的重み付け

w_i=\frac 1{\sigma_i^2}

(11)

切片固定

固定切片は、y切片\beta_0を設定して、値を固定します。また、 固定切片のため、全ての自由度は、n*=n-1となります。

sqrt(補正カイ二乗値)のスケールエラー

sqrt(補正カイ二乗値)のスケールエラーは、重みを付けたフィットで、使用することができます。このオプションは、フィット処理で出力されるパラメータの誤差だけに影響し、フィット処理やデータには影響しません。 デフォルトで、これにはチェックが入っており、Eの分散\sigma^2は、 パラメータ誤差の計算を考慮しているか、 あるいは、分散Eは、誤差計算を考慮していません。 共分散行列を例に挙げます。

sqrt(補正カイ二乗値)のスケールエラー

Cov(\beta _i,\beta _j)=\sigma^2 (X^{\prime }X)^{-1}

(12)

\sigma^2=\frac{RSS}{n^{*}-k}

sqrt(補正カイ二乗値)のスケールエラーでは無い

Cov(\beta _i,\beta _j)=(X'X)^{-1}\,\!

(13)

重み付けフィットには、(X'X)^{-1}\,\!の代わりに、(X'WX)^{-1}\,\!を使います。

フィット結果

フィットパラメータ

Mfitted-paramater.png

フィット値

式(4)

パラメータの標準誤差

各パラメータにおいて、標準誤差は以下のように得られます。

s_{\hat \beta _j}=s_\varepsilon \sqrt{C_{jj}}

(14)

ここで、C_{jj}は、j番目の(X'X)^{-1}の対角要素です。((X'WX)^{-1} は、重み付けフィットに使われます。)s_\varepsilon は、次式で計算される残差標準偏差です。 (「std dev」、「推定の標準誤差」、「root MSE」のようにも呼びます。)

s_\varepsilon =\sqrt{\frac{RSS}{df_{Error}}}=\sqrt{\frac{RSS}{n^{*}-k}}

(15)

s_\varepsilon^2は、 Eの分散である\sigma ^2の推定です。

Note:自由度(df) についての詳細は、ANOVA 表をご覧ください。

t値と信頼水準

回帰の仮定が成り立つ場合、帰無仮説と対立仮説を使用して回帰係数のt検定を実行できます。

H_0:\beta _j=0\,\!

H_\alpha :\beta _j\neq 0

t値は、次の式で計算できます。

t=\frac{\hat \beta _j-0}{s_{\hat \beta _j}}

(16)

計算されたt値を使って、対応する帰無仮説を棄却するかどうかを決めることができます。通常、与えられたパラメータの信頼水準\alpha\,\! について、|t|>t_{\frac \alpha 2} のときは、H_0\,\! を棄却できます。さらに、 p-値は \alpha\,\! より小さくなります。

Prob>|t|

t 検定の H_0 が真である確率

prob=2(1-tcdf(|t|,df_{Error}))\,\!

(17)

ここで、tcdf(|t|,df_{Error}) は、値|t|におけるスチューデントt分布の累積分布関数を、誤差の自由度 (df_{Error}) で計算します。

LCLとUCL

t値から各パラメータの (1-\alpha )\times 100\% 信頼区間を次式で計算することができます。

\hat \beta _j-t_{(\frac \alpha 2,n^{*}-k)}\varepsilon _{\hat \beta _j}\leq \hat \beta _j\leq \hat \beta _j+t_{(\frac \alpha 2,n^{*}-k)}\varepsilon _{\hat \beta _j}

(18)

ここでUCLLCLは、それぞれ上側信頼区間下側信頼区間のことです。

CI 半幅

信頼区間の半値幅は以下の通りです。

CI=\frac{UCL-LCL}2

(19)

フィット統計

いくつかのフィット統計式をここに要約します。

Mfitted-stats.png

自由度

(誤差)の変数に対する自由度。詳細は ANOVA表を参照してください。

自由度あたりカイ二乗

\sigma^2=\frac{RSS}{n^{*}-k}

(20)

残差平方和

残差平方和。式(8)を参照。

R二乗(COD)

フィットの良さは、 決定係数(COD) R^2 で評価でき、次の式になります。

R^2=\frac{Explained\, variation}{Total \, variation}=1-\frac{RSS}{TSS}

(21)

補正R二乗

補正 R^2 は、自由度の R^2 値を調整するのに使用されます。これは次式のように計算されます。

\bar R^2=1-\frac{RSS/df_{Error}}{TSS/df_{Total}}

(22)

R値

相関係数 R値は、R^2 の平方根を使って計算できます。

R=\sqrt{R^2}

(23)

Root MSE(SD)

誤差の平均平方の平方根または、残差標準偏差は、次式に等しくなります。

RootMSE=\sqrt{\frac{RSS}{n^*-k}}

(24)

残差のノルム

RSSの平方根に等しい。

Norm \,of \,Residuals=\sqrt{RSS}

(25)

ANOVA表

The ANOVA table of linear fitting is:

df 平方和 平均平方 F値 Prob > F
モデル k SS_{reg} = TSS-RSS MS_{reg} = SS_{reg} / k MS_{reg} / MSE p-値
誤差 n* - k RSS MSE = RSS / (n^* - k)
合計 n* TSS
Note: 切片がモデルに含まれてる場合、 n*=n-1です。それ以外は、 n*=n で平方和の合計は未補正となります。

ここで、平方和の合計TSSは、

TSS =\sum_{i=1}^nw_i(y_i -\frac{\sum_{i=1}^n w_i y_i} {\sum_{i=1}^n w_i})^2 (補正) (26)
TSS=\sum_{i=1}^n w_iy_i^2  (未補正)

F値で、フィットモデルがモデル「y=一定」と、有意に異なるかどうかを検定します。

また、p値、または、有意水準は、F検定と一緒に出力されます。p値が、フィットモデルがモデル「y=一定」と有意に異なっていることを意味する\alpha\,\!よりも小さい場合、帰無仮説を棄却できます。

ある値に切片を固定している場合、F検定のp値には意味が無く、切片一定としない線形多重回帰とは異なります。

適合度検定表

不適合度を実行するには、連結フィットモードが選択されている場合に、少なくともX値がデータセット内や複数データセット内で反復できるように、反復観測、つまり、「複製データ」が必要になります。

複製データでフィットに使われている表記:

y_{ij}は、データセット中のi番目のx値における、j番目の観測値です。
\bar{y}_{i}は、i番目のx値における全てのy値の平均です。
\hat{y}_{ij}は、i番目のx値における、j番目の観測値の予測反応です。

残差平方和は、次の通りです。

RSS=\sum_{i}\sum_{j}(y_{ij}-\hat{y}_{ij})^2
LFSS=\sum_{i}\sum_{j}(\bar{y}_{i}-\hat{y}_{ij})^2
PESS=\sum_{i}\sum_{j}(y_{ij}-\bar{y}_{i})^2

非線形フィッティングの適合度検定表:

DF 平方和 平均平方 F Value Prob > F
不適合度 c-k-1 LFSS MSLF = LFSS / (c - k - 1) MSLF / MSPE p-value
純誤差 n - c PESS MSPE = PESS / (n - c)
誤差 n*-k RSS
Note:

切片がモデルに含まれてる場合、 n*=n-1 です。それ以外は、 n*=n で平方和の合計は未補正となります。勾配が固定の場合、 df_{Model}= 0です。

cは、明確なx値の数を示します。切片が固定である場合、適合度検定のDFは、c-kになります。

共分散行列と相関行列

多重線形回帰の共分散行列は以下によって計算されます。

Cov(\beta _i,\beta _j)=\sigma ^2(X^{\prime }X)^{-1}

(27)

2つのパラメータ間の相関は、

\rho (\beta _i,\beta _j)=\frac{Cov(\beta _i,\beta _j)}{\sqrt{Cov(\beta _i,\beta _i)}\sqrt{Cov(\beta _j,\beta _j)}}

(28)

残差解析

r_iは、標準残差res_iから成っています。

正規化

r_i^{\prime }=\frac{r_i}s_\varepsilon

(29)

スチューデント化

内部スチューデント化残差とも呼ばれます。

r_i^{\prime }=\frac{r_i}{s_\varepsilon\sqrt{1-h_i}}

(30)

スチューデント化削除

外部スチューデント化残差とも呼ばれます。

r_i^{\prime }=\frac{r_i}{s_{\varepsilon-i}\sqrt{1-h_i}}

(31)

スチューデント化スチューデント化削除の残差の数式で、h_iは、行列Pi 番目の対角要素です。

P=X(X'X)^{-1}X^{\prime }

(32)

s_{\varepsilon-i}は、分散がi番目を除いた全てのポイントに基づいて計算されていることを意味します。

プロット

部分レバレッジプロット

多重回帰では、独立変数と1つの従属変数間の関係を調べるために部分回帰プロットを使うことができます。プロットでは、Yの偏残差がXの偏残差または切片に対してプロットされます。特定の変数の偏残差は、その変数がモデルで省略された回帰残差です。

モデル y=\beta _0+\beta _1x_1+\beta _2x_2\,\! を例にとると、x_1\,\! に対する偏回帰プロットは、y=\beta _0+\beta _2x_2\,\! の回帰残差を x_1=\beta _0+\beta _2x_2\,\! の残差に対してプロットすることで作成されます。

残差タイプ

作図するには、標準正規化スチューデント化スチューデント化残差から1つの残差タイプを選択します。

残差と独立変数

残差散布図res vs.独立変数x_1,x_2,\dots,x_kでは、それぞれのプロットは別のグラフに配置されます。

残差vs.予測値

残差散布図 res vs. フィット結果\hat{Y}

残差vs.データ順序

res_i vs. 順番i

残差のヒストグラム

残差のヒストグラムres

残差のラグプロット

残差res_i vs. ラグ残差res_{(i–1)}

正規残差確率プロット

残差の正規確率プロットは、分散が正規分布しているかどうかを調べるのに使用します。結果のプロットはおおよそ線形で、誤差範囲は正規分布していると仮定することができます。プロットはパーセンタイル対順序化された残差をベースにしており、パーセンタイルは次のように仮定されます。

\frac{(i-\frac{3}{8})}{(n+\frac{1}{4})}

ここで、n はデータセットの合計数で、ii 番目のデータです。なお、正規確率プロットとQ-Qプロットについてをご覧ください。