# 回帰分析の手順 Ver.1
###### tags: `service-data-science-2023`
回帰分析は、共変量が与えられたときの目的変数の条件付き分布を推定する分析の総称。共変量と目的関数の関係は、線形とも加法とも限らない。しかし、標本サイズが小さい場合には、非線形性や非加法性の検討は一般に困難であり、線形性あるいは加法性を仮定した分析ぐらいしか可能でないことが多い。
* 重回帰分析、また線形回帰分析は、条件付き平均が共変量の線形関数 $\beta_0+\beta_1 x_1 + \cdots + \beta_p x_p$ で表されること、そして条件付き分散が一定であること、そして誤差の分布が正規分布であること、これら3点を仮定する回帰分析
* 加法モデルは、条件付き平均が共変量の関数の和 $\beta_0 + g_1\left(x_1\right) + \cdots + g_p\left(x_p\right)$ で表されること、そして条件付き分散が一定であること、そして誤差の分布が正規分布であること、これら3点を仮定する回帰分析
* 回帰木は、条件付き平均が共変量の組み合わせで場合分けされた領域ごとの値 $\mu\left(x_1, \ldots, x_p\right)=\sum_{k=1}^K I\left(\left(x_1, \ldots, x_p\right)\in A_k\right) \mu_k$ で表されること、そして条件付き分散が一定であること、そして誤差の分布が正規分布であること、これら3点を仮定する回帰分析
およその分析手順は次のとおり。
1. 回帰係数の推定
* データを読み込ませて、回帰係数を推定する。
2. 当てはまりの確認
* 解釈、考察ができそうか、当てはまりの良さを確認する。
3. 回帰診断
1. 残差分析
* 重回帰分析は誤差が、分散が共通で平均が0の正規分布に従うという仮定に基づいているので、それを確認する。
2. てこ比
* 回帰係数の推定値に与える影響の大きさを表す数値。
3. 偏回帰プロット
* ある説明変数を目的変数として、他の説明変数を用いた重回帰分析を行い、残差を求めて、横軸とする。次にもともとの目的変数に、その説明変数を除いた重回帰分析を行い、残差を求めて、縦軸とする。2つの残差の散布図を描くと、それを偏回帰プロットという。
* この散布図の傾きは、その説明変数の回帰係数になる。この傾きが有意に大きいと、その説明変数は有意になる。
* この散布図に、中心から大きく離れた点があり、それが傾きを決定しているように見えるとき、その点を解析から除くことを試みるといい。
4. 多重共線性
* VIFを求めると、除くと良さそうな変数の候補が分かる。
* 説明変数の主成分分析を行うと、多重共線性が生じているかどうかを検討できる。
4. 変数の変換
* 変数の変換を検討する。
5. 変数の選択
* 変数の選択を検討する。
6. モデルの解釈
* 横軸に$\beta_i x_i$、縦軸に$y$の散布図を描くと、変数が$y$の変化をどの程度説明しているかを把握できる。同様のことは偏回帰プロット(JMPでは手こ比プロット)でも把握できる。
* 決定係数$R^2$は目的変数のばらつきのうち、モデルによって説明される割合を表す。決定係数は$y$と$\hat{y}$の相関係数の二乗でもある。
回帰分析も、次のようにぐるぐる回ることを繰り返す。
```graphviz
digraph Regression {
"推定" -> "診断" -> "変数変換"
"解釈" -> "報告"
"変数変換" -> "推定"
"変数選択" -> "推定"
"診断" -> "変数選択"
"診断" -> "解釈"
}
```
## 1. データの読み込み
JMPにデータを読み込む。
* 変数名は簡潔にしておくと良い。
* 変数ごとに適切な尺度(**連続尺度**/**順序尺度**/**名義尺度**)を設定する必要がある。
## 2. ヒストグラム
最初に**一変量の分布**で、変数ごとのヒストグラムを眺める。
* 各共変量の範囲と、最大値と最小値、平均などを確認する。共変量を最大値より大きく、また最小値より小さく動かした推論はできない。
* 各共変量の最大値と最小値の間の分布の様子を確認する。二山以上の分布に見えたり、飛び島があったりしないかを確認する。目的変数のヒストグラムに離れた飛び島があると、島と島の間の値に関する推論(補間)にも慎重になるべき。
* 目的変数のヒストグラムにも、飛び島(外れ値)がないかを確認する。少ない数の極めて大きな値や極めて小さな値を持つサンプルは、あとでてこ比が大きくなりすぎることがある。
## 3. 散布図と相関係数行列
また**多変量分析**の中で、**多変量の相関**を用いて、相関係数や散布図行列を眺めておくのもよい。
* あとで多重共線性が確認できるかもしれない場合には、共変量同士の相関が強い組合わせがあるかどうかを見ておく。
* 外れ値に関しては、**ノンパラメトリック密度**が参考になるかもしれない。
## 4. 単回帰分析
次に**二変量の関係**で、共変量と目的変数の単回帰分析の結果を眺める。
* 観察する内容はほぼ、上のヒストグラムと同じ。
* 加えて、共変量と目的変数の散布図で、外れている値を認識しておく。このとき**ノンパラメトリック密度**は参考になるかもしれない。
## 5. 回帰分析
ここまでは回帰分析の準備に過ぎない。次に**モデルのあてはめ**を用いて、回帰分析を行う。
当てはまりの良さは、決定係数(**R2乗**)を見る。**分散分析**も見ておく。
* 決定係数(**R2乗**)は**あてはめの要約**に示される。
* 決定係数(**R2乗**)が小さいとは、目的変数の変動のうち、推定した回帰モデルで説明される割合が小さいことを言う。
* 決定係数は大きいほど良いが、$1$にすればいいものではない。
* **分散分析**が有意となることも確認しておくといい。これが有意にならないのは、結構、だめな分析結果のみ。
重回帰分析では各回帰係数について、個別に次の推論ができる。
* 回帰係数(**推定値**)が有意かどうか、つまり$\beta_k=0$でないかどうかを、$t$検定で判定する。見方は**p値**が$0.05$より小さければ有意、$0.05$より大きければ有意でない、とする。
* 有意な変数が少ないときには、次の可能性を考える。
1. 共変量と目的変数の関係はそれほど強いものではない可能性。
2. 標本数が十分ではなく少ない可能性。
3. 多重共線性が生じている可能性。
多重共線性は**VIF**および**てこ比プロット**などで検討できる。
* **VIF**は**推定値**の表で右クリックして、**列を追加**して表示させる。
* **VIF**は1以上の値。小さいほど良いが、大きいからといって多重共線性が生じているとは限らない。
* JMPの**てこ比プロット**は、通常の回帰分析におけるてこ比プロットとは異なる。これは偏回帰プロットと呼ばれ、横軸が$X$残差、縦軸が$Y$残差の散布図である。$X$残差はその共変量が他の共変量で説明されない部分、$Y$残差はその共変量を含めた回帰分析で説明されない部分。
1. 横軸が共変量の平均の周りに集中していると、多重共線性の可能性あり。
2. 信頼区間が広いと、多重共線性の可能性あり。
3. 信頼区間が青い横線を含んでいると、その共変量の回帰係数が有意でない。
誤差が正規分布に従うことを仮定する回帰分析では、次のことが確認できる。
* 残差(=観測値-当てはめ値)は正規分布に従う。
* 目的変数の当てはめ値(横軸)と観測値(縦軸)の散布図(JMPでは**予測値と実測値のプロット**と呼ぶ)には、斜め45度の直線が散布図の中心となり、縦方向の誤差が乗る。この散布図の代わりに、当てはめ値(横軸)と残差(縦軸)の散布図を描くと、$Y=0$の水平線が中心($X$軸)となり、$X$軸の上下に誤差が乗る。
* 共変量(横軸)と残差(縦軸)の散布図から、共変量に関する非線形な関係が示唆されることがある。
変数を選択するには、決定係数を用いてはいけない。
* $t$検定(**P値**)、AIC(**AICc**)、BIC(**BIC**)、自由度調整済み決定係数(**自由度調整R2乗**)に基づくステップワイズ法がある。
* モデルを比較する際には、これらの評価値を用いて良い。しかし最終的なモデルの評価は、決定係数のみを用いる。(他の評価指標はあくまでもモデルの比較用であって、報告用ではない。)
* 理論的に有意なはずの共変量、また先行研究との比較が必要な共変量は、変数選択に委ねず、モデルに含めたままにしておくこともある。
## 6. 報告
回帰分析の結果の報告に必要な部品は次のとおり。
1. 概念図 (健マネでは必要)
2. 特性要因図 (健マネでは必要)
3. モデル図 (健マネでは必要)
4. 推定値の表(*付き) (論文にはほぼ必要)
5. 決定係数 (論文にはほぼ必要)
6. 多重共線性の検討の結論 (多重共線性がなければ、それでいい)
7. 回帰分析からの結論 (論文にはほぼ必要)