重回帰分析の係数のp値の算出方法


1. はじめに

以前の記事(重回帰分析の係数の検定と信頼区間)にて,タイトルに「信頼区間」とあるにもかかわらず,それについて全く記述していなかったことを深くお詫び申し上げます.ごめんぴ.おそらくp値の計算について紹介したかったのだと思います.

2. 復習(重回帰分析の推定された係数の分布)

重回帰分析の問題設定は,

\begin{align*}
{\bf y} = X\beta + {\bf e},\ {\bf e}\sim N(0,\sigma^2I_n)
\end{align*}

でした.ここで,${\bf y}$は$n\times 1$の従属変数ベクトル,$X$は$n\times(p+1)$の独立変数ベクトル(切片項1を含む),$\beta$は$(p+1)\times 1$の係数ベクトル,${\bf e}$は$n\times 1$の正規分布に従う誤差変数ベクトルを表します.$\beta$を最小二乗法で推定した場合(この場合は,最尤法でも良いのですが),$\beta$の解は,
$$\hat{\beta} = (X^TX)^{-1}X^Ty\tag{1}$$
となります.余談ですが,これを用いた${\bf y}$の予測値${\hat{\bf y}}$は,
$${\hat{\bf y}} = X\hat{\beta} = X(X^TX)^{-1}X^Ty$$
と表すことができます.このことから,${\bf y}$の予測値は,${\bf y}$を直交射影子$P_X := X(X^TX)^{-1}X^T$によって,$X$の列ベクトルが張る空間に射影したものとみなせます.
 話を戻すと,(1)から,$\hat{\beta}$の分布は,$E[{\bf y}] = X\beta,\ V[{\bf y}] = \sigma^2I_n$の線形変換により,

\begin{align*}
E[\hat{\beta}] &= (X^TX)^{-1}X^TE[y] = (X^TX)^{-1}X^TX\beta = \beta\\
V[\hat{\beta}] &= (X^TX)^{-1}X^TV[y]((X^TX)^{-1}X^T)^T = \sigma^2(X^TX)^{-1}
\end{align*}

の正規分布に従うことがわかります.これを用いて計算される帰無仮説$H_0: \beta_j = 0$の下での,検定統計量
$$T_j := \frac{\hat{\beta_j} - 0}{\sqrt{\hat{\sigma}^2 v_{jj}}}$$
は自由度$n-p-1$の$t$分布に従います.ここで,$v_{jj}$は$(X^TX)^{-1}$の$(j,j)$成分であり,$\sqrt{\hat{\sigma}^2 v_{jj}}$は標準誤差と呼ばれます.

3. p値,信頼区間の計算

$H_0: \beta_j = 0\ v.s.\ H_1:\beta_j\ne0$は両側検定なので,有意水準$\alpha$の時のp値は,
$$P_0(|T_j|\ge t_{n-p-1}(\alpha/2))$$
で計算できます.これをちょっと変形して,信頼区間は,

\begin{align*}
-t_{n-p-1}(\alpha/2)\le&\frac{\hat{\beta_j} - \beta_j}{\sqrt{\hat{\sigma}^2 v_{jj}}}\le t_{n-p-1}(\alpha/2)\\
\hat{\beta_j}-t_{n-p-1}(\alpha/2)\times\sqrt{\hat{\sigma}^2 v_{jj}}\le& \beta_j\le \hat{\beta_j}+t_{n-p-1}(\alpha/2)\times\sqrt{\hat{\sigma}^2 v_{jj}}\tag{2}
\end{align*}

で計算できます.

4. 最後に

すっかり忘れていました.