回帰モデルの考え方と推定
(Press ? for help, n and p for next and previous slide)
村田 昇
回帰式 : \(y\) を \(x_1,\dotsc,x_p\) で説明するための関係式
\begin{equation} y=f(x_1,\dotsc,x_p) \end{equation}
観測データ : n個の \((y,x_1,\dotsc,x_p)\) の組
\begin{equation} \{(y_i,x_{i1},\dotsc,x_{ip})\}_{i=1}^n \end{equation}
\(f\) として 1次関数 を考える
ある定数 \(\beta_0,\beta_1,\dots,\beta_p\) を用いた式 :
\begin{equation} f(x_1,\dots,x_p)=\beta_0+\beta_1x_1+\cdots+\beta_px_p \end{equation}
線形回帰式
\begin{equation} y=\beta_0+\beta_1x_1+\cdots+\beta_px_p \end{equation}
確率モデル : データのばらつきを表す項 \(\epsilon_i\) を追加
\begin{equation} y_i=\beta_0+\beta_1 x_{i1}+\cdots+\beta_px_{ip}+\epsilon_i\quad (i=1,\dots,n) \end{equation}
回帰係数 \(\boldsymbol{\beta}=(\beta_0,\beta_1,\dotsc,\beta_p)^{\mathsf{T}}\) を持つ回帰式の残差
\begin{equation} e_i(\boldsymbol{\beta})= y_i-(\beta_0+\beta_1 x_{i1}+\dotsb+\beta_px_{ip}) \quad (i=1,\dotsc,n) \end{equation}
残差平方和 (residual sum of squares)
\begin{equation} S(\boldsymbol{\beta}) = \sum_{i=1}^ne_i(\boldsymbol{\beta})^2 \end{equation}
最小二乗推定量 (least squares estimator)
残差平方和 \(S(\boldsymbol{\beta})\) を最小にする \(\boldsymbol{\beta}\)
\begin{equation} \boldsymbol{\hat{\beta}} = (\hat{\beta}_0,\hat{\beta}_1,\dotsc,\hat{\beta}_p)^{\mathsf{T}} = \arg\min_{\boldsymbol{\beta}}S(\boldsymbol{\beta}) \end{equation}
デザイン行列 (design matrix)
\begin{equation} X= \begin{pmatrix} 1 & x_{11} & x_{12} & \cdots & x_{1p} \\ 1 & x_{21} & x_{22} & \cdots & x_{2p} \\ \vdots & \vdots & \vdots & & \vdots \\ 1 & x_{n1} & x_{n2} & \cdots & x_{np} \end{pmatrix} \end{equation}
目的変数,誤差,回帰係数のベクトル
\begin{equation} \boldsymbol{y}= \begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{pmatrix},\quad \boldsymbol{\epsilon}= \begin{pmatrix} \epsilon_1 \\ \epsilon_2 \\ \vdots \\ \epsilon_n \end{pmatrix},\quad \boldsymbol{\beta}= \begin{pmatrix} \beta_0 \\ \beta_1 \\ \vdots \\ \beta_p \end{pmatrix} \end{equation}
確率モデル
\begin{equation} \boldsymbol{y} =X\boldsymbol{\beta}+\boldsymbol{\epsilon} \end{equation}
残差平方和
\begin{equation} S(\boldsymbol{\beta}) =(\boldsymbol{y}-X\boldsymbol{\beta})^{\mathsf{T}} (\boldsymbol{y}-X\boldsymbol{\beta}) \end{equation}
解 \(\boldsymbol{\beta}\) では残差平方和の勾配は零ベクトル
\begin{equation} \frac{\partial S}{\partial\boldsymbol{\beta}}(\boldsymbol{\beta}) = \Bigl( \frac{\partial S}{\partial\beta_0}(\boldsymbol{\beta}), \frac{\partial S}{\partial\beta_1}(\boldsymbol{\beta}),\dotsc, \frac{\partial S}{\partial\beta_p}(\boldsymbol{\beta}) \Bigr)^{\mathsf{T}} =\boldsymbol{0} \end{equation}
残差平方和を展開しておく
\begin{align} S(\boldsymbol{\beta}) &= (\boldsymbol{y}-X\boldsymbol{\beta})^{\mathsf{T}} (\boldsymbol{y}-X\boldsymbol{\beta})\\ &= \boldsymbol{y}^{\mathsf{T}}\boldsymbol{y} -\boldsymbol{y}^{\mathsf{T}}X\boldsymbol{\beta} -(X\boldsymbol{\beta})^{\mathsf{T}}\boldsymbol{y} +(X\boldsymbol{\beta})^{\mathsf{T}}X\boldsymbol{\beta}\\ &= \boldsymbol{y}^{\mathsf{T}}\boldsymbol{y} -\boldsymbol{y}^{\mathsf{T}}X\boldsymbol{\beta} -\boldsymbol{\beta}^{\mathsf{T}}X^{\mathsf{T}}\boldsymbol{y} +\boldsymbol{\beta}^{\mathsf{T}}X^{\mathsf{T}}X\boldsymbol{\beta}\\ \end{align}
ベクトルによる微分を行うと以下のようになる
\begin{align} \frac{\partial S}{\partial\boldsymbol{\beta}}(\boldsymbol{\beta}) &= -(\boldsymbol{y}^{\mathsf{T}}X)^{\mathsf{T}} -X^{\mathsf{T}}\boldsymbol{y} +(X^{\mathsf{T}}X+(X^{\mathsf{T}}X)^{\mathsf{T}})\boldsymbol{\beta}\\ &= -2X^{\mathsf{T}}\boldsymbol{y} +2X^{\mathsf{T}}X\boldsymbol{\beta} \end{align}
したがって \(\boldsymbol{\beta}\) の満たす条件は以下となる
\begin{equation} -2X^{\mathsf{T}}\boldsymbol{y} +2X^{\mathsf{T}}X\boldsymbol{\beta} =0 \quad\text{ より } \end{equation}\begin{equation} X^{\mathsf{T}}X\boldsymbol{\beta} = X^{\mathsf{T}}\boldsymbol{y} \end{equation}
成分ごとの計算は以下のようになる
\begin{equation} \frac{\partial S}{\partial\beta_j}(\boldsymbol{\beta}) = -2\sum_{i=1}^n\Bigl(y_i-\sum_{k=0}^p\beta_kx_{ik}\Bigr)x_{ij} =0 \end{equation}ただし, \(x_{i0}=1\; (i=1,\dotsc,n)\), \(j=0,1,\dotsc,p\)
\begin{equation} \sum_{i=1}^nx_{ij}\Bigl(\sum_{k=0}^px_{ik}\beta_k\Bigr) = \sum_{i=1}^nx_{ij}y_i\quad(j=0,1,\dotsc,p) \end{equation}\(x_{ij}\) は行列 \(X\) の \((i,j)\) 成分であることに注意
正規方程式 (normal equation)
\begin{equation} X^{\mathsf{T}}X\boldsymbol{\beta} =X^{\mathsf{T}}\boldsymbol{y} \end{equation}
正規方程式の解
\begin{equation} \boldsymbol{\hat{\beta}} = (X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}}\boldsymbol{y} \end{equation}
最小二乗推定量がただ一つだけ存在する条件
これらは同値条件
あてはめ値 / 予測値 (fitted values / predicted values)
\begin{equation} \boldsymbol{\hat{y}} = X\boldsymbol{\hat{\beta}} = \hat{\beta}_{0} X_{0(\text{切片})}\;+ \dots + \hat{\beta}_{p} X_{p(\text{第p成分})} \end{equation}
Figure 1: \(n=3\) , \(p+1=2\) の場合の最小二乗法による推定
残差 (residuals) \(\boldsymbol{\hat{\epsilon}}=\boldsymbol{y}-\boldsymbol{\hat{y}}\) はあてはめ値 \(\boldsymbol{\hat{y}}\) に直交
\begin{equation} \boldsymbol{\hat{\epsilon}}\cdot\boldsymbol{\hat{y}}=0 \end{equation}
説明変数および目的変数の標本平均
\begin{align} \boldsymbol{\bar{x}} &=\frac{1}{n}\sum_{i=1}^n\boldsymbol{x}_i, &\bar{y} % \overline{\boldsymbol{x}^2}&=\frac{1}{n}\sum_{i=1}^n\boldsymbol{x}_i\boldsymbol{x}_i^{\mathsf{T}},& &=\frac{1}{n}\sum_{i=1}^ny_i,& % \overline{\boldsymbol{x}y}&=\frac{1}{n}\sum_{i=1}^n\boldsymbol{x}_iy_i \end{align}
\(\boldsymbol{\hat{\beta}}\) が最小二乗推定量のとき以下が成立
\begin{equation} \bar{y} = (1,\boldsymbol{\bar{x}}^{\mathsf{T}})\boldsymbol{\hat{\beta}} \end{equation}
残差の標本平均が0となる
目的変数や残差のベクトルについて以下を示せばよい
\begin{equation} \boldsymbol{1}^{\mathsf{T}}(\boldsymbol{y}-\boldsymbol{\hat{y}}) =\boldsymbol{1}^{\mathsf{T}}\boldsymbol{\hat{\epsilon}} =0 \end{equation}ただし \(\boldsymbol{1}=(1,\dotsc,1)^{\mathsf{T}}\) とする
回帰式が標本平均を通る
\begin{equation} \bar{y} = (1,\boldsymbol{\bar{x}}^{\mathsf{T}})\boldsymbol{\hat{\beta}} \end{equation}
残差の表現を整理する
\begin{align} \boldsymbol{\hat{\epsilon}} &= \boldsymbol{y}-\boldsymbol{\hat{y}} = \boldsymbol{y}-X\boldsymbol{\hat{\beta}}\\ &= \boldsymbol{y}-X(X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}}\boldsymbol{y} \end{align}
左から \(X^{\mathsf{T}}\) を乗じる
\begin{equation} X^{\mathsf{T}}\boldsymbol{y}-X^{\mathsf{T}}X(X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}}\boldsymbol{y} = X^{\mathsf{T}}\boldsymbol{y}-X^{\mathsf{T}}\boldsymbol{y} =\boldsymbol{0} \end{equation}
説明変数の標本平均をデザイン行列で表す
\begin{equation} \boldsymbol{1}^{\mathsf{T}}X = n(1,\boldsymbol{\bar{x}}^{\mathsf{T}}) \end{equation}
したがって以下が成立する
\begin{align} n(1,\boldsymbol{\bar{x}}^{\mathsf{T}})\boldsymbol{\hat{\beta}} &= \boldsymbol{1}^{\mathsf{T}}X\boldsymbol{\hat{\beta}}\\ &= \boldsymbol{1}^{\mathsf{T}}\boldsymbol{\hat{y}} = \boldsymbol{1}^{\mathsf{T}}\boldsymbol{y}\\ &= n\bar{y} \end{align}
観測値と推定値 \(\boldsymbol{\hat{\beta}}\) による予測値の差
\begin{equation} \hat{\epsilon}_i= y_i-(\hat{\beta}_0+\hat{\beta}_1 x_{i1}+\dotsb+\hat{\beta}_px_{ip}) \quad (i=1,\dotsc,n) \end{equation}
残差ベクトル
\begin{equation} \boldsymbol{\hat{\epsilon}} =\boldsymbol{y}-\boldsymbol{\hat{y}} =(\hat{\epsilon}_1,\hat{\epsilon}_2,\dotsc,\hat{\epsilon}_n)^{\mathsf{T}} \end{equation}
3つのばらつき(平方和)の関係
\begin{equation} (\boldsymbol{y}-\bar{\boldsymbol{y}})^{\mathsf{T}} (\boldsymbol{y}-\bar{\boldsymbol{y}}) = (\boldsymbol{y}-\boldsymbol{\hat{y}})^{\mathsf{T}} (\boldsymbol{y}-\boldsymbol{\hat{y}})+ (\boldsymbol{\hat{y}}-\bar{\boldsymbol{y}})^{\mathsf{T}} (\boldsymbol{\hat{y}}-\bar{\boldsymbol{y}}) \end{equation}\begin{equation} S_y=S+S_r \end{equation}
あてはめ値と残差のベクトルが直交する
\begin{equation} \boldsymbol{\hat{y}}^{\mathsf{T}}(\boldsymbol{y}-\boldsymbol{\hat{y}}) = \boldsymbol{\hat{y}}^{\mathsf{T}}\boldsymbol{\hat{\epsilon}} =0 \end{equation}
残差平方和の分解が成り立つ
\begin{equation} S_y=S+S_r \end{equation}
残差の表現を整理する
\begin{align} \boldsymbol{\hat{\epsilon}} &= \boldsymbol{y}-X(X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}}\boldsymbol{y}\\ &= (I-X(X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}})\boldsymbol{y} \end{align}
左から \(\boldsymbol{\hat{y}}\) を乗じる
\begin{align} \boldsymbol{\hat{y}}^{\mathsf{T}}\boldsymbol{\hat{\epsilon}} &= \boldsymbol{\hat{\beta}}^{\mathsf{T}}X^{\mathsf{T}} (I-X(X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}})\boldsymbol{y}\\ &= \boldsymbol{\hat{\beta}}^{\mathsf{T}} (X^{\mathsf{T}}-X^{\mathsf{T}}X(X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}})\boldsymbol{y}\\ &= \boldsymbol{\hat{\beta}}^{\mathsf{T}} (X^{\mathsf{T}}-X^{\mathsf{T}})\boldsymbol{y}=0 \end{align}
以下の関係を用いて展開すればよい
\begin{equation} \boldsymbol{y}-\bar{\boldsymbol{y}} =\boldsymbol{y}-\boldsymbol{\hat{y}}+\boldsymbol{\hat{y}}-\bar{\boldsymbol{y}} \end{equation}ただし \(\bar{\boldsymbol{y}}=\bar{y}\boldsymbol{1}\)
このとき以下の項は0になる
\begin{equation} (\boldsymbol{\hat{y}}-\bar{\boldsymbol{y}})^{\mathsf{T}} (\boldsymbol{y}-\boldsymbol{\hat{y}}) = \boldsymbol{\hat{y}}^{\mathsf{T}} (\boldsymbol{y}-\boldsymbol{\hat{y}}) - \bar{y}\boldsymbol{1}^{\mathsf{T}} (\boldsymbol{y}-\boldsymbol{\hat{y}}) =0 \end{equation}
ばらつきの分解
\begin{equation} S_y\;\text{(目的変数)} =S\;\text{(残差)} +S_r\;\text{(あてはめ値)} \end{equation}
回帰式で説明できるばらつきの比率
\begin{equation} \text{(回帰式の寄与率)} = \frac{S_{r}}{S_{y}} = 1-\frac{S}{S_{y}} \end{equation}
決定係数 (R-squared)
\begin{equation} R^2 = 1-\frac{\sum_{i=1}^n\hat{\epsilon}_i^2}{\sum_{i=1}^n(y_i-\bar{y})^2} \end{equation}
自由度調整済み決定係数 (adjusted R-squared)
\begin{equation} \bar{R}^2 = 1-\frac{\frac{1}{n{-}p{-}1}\sum_{i=1}^n\hat{\epsilon}_i^2} {\frac{1}{n{-}1}\sum_{i=1}^n(y_i-\bar{y})^2} \end{equation}
データの概要
| 日付 | 気温 | 降雨 | 日射 | 降雪 | 風向 | 風速 | 気圧 | 湿度 | 雲量 |
|---|---|---|---|---|---|---|---|---|---|
| 2024-08-01 | 28.5 | 0.0 | 22.26 | 0 | NE | 2.4 | 1003.3 | 74 | 7.3 |
| 2024-08-02 | 28.7 | 0.0 | 17.56 | 0 | SSE | 2.6 | 1004.1 | 74 | 4.3 |
| 2024-08-03 | 29.4 | 0.0 | 23.20 | 0 | SSE | 2.6 | 1005.5 | 73 | 4.3 |
| 2024-08-04 | 30.0 | 0.0 | 24.97 | 0 | SSE | 2.5 | 1005.4 | 67 | 0.8 |
| 2024-08-05 | 30.0 | 0.0 | 21.54 | 0 | SSE | 2.6 | 1004.7 | 72 | 5.5 |
| 2024-08-06 | 29.9 | 0.0 | 13.78 | 0 | SE | 2.3 | 1004.0 | 74 | 9.0 |
| 2024-08-07 | 28.9 | 76.5 | 15.75 | 0 | NNE | 2.6 | 1001.9 | 80 | 9.3 |
| 2024-08-08 | 28.1 | 0.0 | 13.84 | 0 | NW | 2.2 | 1000.9 | 87 | 6.8 |
| 2024-08-09 | 30.0 | 0.0 | 21.74 | 0 | NE | 2.7 | 999.2 | 74 | 5.0 |
| 2024-08-10 | 30.0 | 0.0 | 23.18 | 0 | N | 2.7 | 997.8 | 69 | 7.0 |
| 2024-08-11 | 31.5 | 0.0 | 24.52 | 0 | WNW | 2.8 | 996.4 | 66 | 7.5 |
| 2024-08-12 | 31.2 | 0.0 | 24.42 | 0 | SSE | 3.9 | 998.4 | 70 | 4.5 |
| 2024-08-13 | 30.8 | 0.0 | 21.97 | 0 | SSE | 3.6 | 1003.9 | 73 | 2.5 |
| 2024-08-14 | 30.4 | 0.0 | 16.32 | 0 | S | 2.7 | 1004.9 | 74 | 6.0 |
| 2024-08-15 | 30.3 | 0.0 | 19.20 | 0 | ESE | 2.7 | 1004.3 | 75 | 6.5 |
関連するデータの散布図
Figure 2: 散布図
モデル1の推定結果
Figure 3: モデル1
モデル2の推定結果
Figure 4: モデル2
モデル3の推定結果
Figure 5: モデル3
観測値とあてはめ値の比較
Figure 6: モデルの比較
決定係数(\(R^{2}\), Adjusted \(R^{2}\))
| Characteristic |
モデル1
|
モデル2
|
モデル3
|
モデル4
|
モデル5
|
|||||
|---|---|---|---|---|---|---|---|---|---|---|
| Beta | SE | Beta | SE | Beta | SE | Beta | SE | Beta | SE | |
| 気圧 | -0.12 | 0.057 | -0.08 | 0.035 | -0.03 | 0.030 | -0.07 | 0.036 | ||
| 日射 | 0.19 | 0.027 | 0.18 | 0.025 | 0.02 | 0.045 | 0.17 | 0.035 | ||
| 湿度 | -0.13 | 0.031 | ||||||||
| 雲量 | -0.06 | 0.083 | ||||||||
| R² | 0.132 | 0.644 | 0.699 | 0.813 | 0.704 | |||||
| Adjusted R² | 0.102 | 0.631 | 0.677 | 0.792 | 0.671 | |||||
| Abbreviations: CI = Confidence Interval, SE = Standard Error | ||||||||||