回帰分析・一元配置分散分析

# 単回帰分析
**分析対象の変数（被説明変数・従属変数）を他の1つまたは複数の変数（説明変数・独立変数）により「説明し予測しようとする」統計的方法**を**「回帰分析」**と言います。特に2変数の場合を**単回帰分析**、3変数以上の場合を**重回帰分析**と言います。

回帰分析によって、2つの変数あるいはそれ以上の変数間の**因果関係**を推論することが可能になります。対して相関分析では必ずしも因果関係を推論することはできません。

単回帰分析において以下のように表される式を**単回帰式**（回帰方程式）と言います。

```math
y=β_0+β_1x
```

xは原因となる変数で**「説明変数・独立変数」**と呼ばれ、yは結果となる変数で**「被説明変数・従属変数」**と呼ばれます。単回帰分析では回帰係数（パラメーター）と呼ばれるβ0とβ1の値を求めることが目的になります。

![4a0040b19a1a3798e615933389bb205a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663460/f3bb5247-e2d6-10f3-ecd3-dd7cbb16a48b.png)

> 画像引用：[回帰分析(単回帰分析)をわかりやすく徹底解説！ | Udemy メディア](https://udemy.benesse.co.jp/ai/regression-analysis.html)

### 最小2乗法
![3a4f695a458cb0ac0aceaa2eb13ac2dd (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663460/742f1d65-23e6-c5b8-ab05-f909c52cb077.png)

> 画像引用：[27-1. 単回帰分析 | 統計学の時間 | 統計WEB](https://bellcurve.jp/statistics/course/9700.html)

y=β0+β1xで表される単回帰式は真の理論的な回帰式でありますが、実際は測定誤差などの様々な誤差を含んでいることから、以下のような回帰式を考えます。

```math
y=β_0+β_1x+u　（u：誤差）
```
uは**「真の回帰式から実際のデータまでのズレ」**を表す**誤差**であり、単回帰分析では全てのデータの誤差uが小さくなるようにβ0とβ1を算出します。そのために、それぞれのデータの残差eの平方和（残差平方和）を考え、**「残差平方和が最小になるようにβ0とβ1を決定する」**という以下の式で表される**「最小2乗法」**という手法を用います。

```math
\sum_{i=1}^{n} e_i^2=\sum_{i=1}^{n} \Bigl(y_i-(β_0+β_1x) \Bigr)^2
```

※誤差uは「真の回帰式と実際のデータ」との差であり、真の回帰式は未知であるため誤差は計算することはできません。一方、残差eは「推定された回帰式と実際のデータ」との差であるため、残差は計算することができます。

最小2乗法で回帰式のβ0とβ1の値を求めた結果を**推定回帰式**と言い、以下の形で表します。
特に最小2乗法で推定されるβ0とβ1は**偏回帰係数**と言い、実際のデータから算出した推定値であり、真の回帰式におけるβ0とβ1とは異なるため、ハット（^）を用いて表します。またyの推定値であるy^を**「理論値・予測値」**と言います。

```math
\hat{y}=\hat{β}_0+\hat{β}_1x
```

偏回帰係数であるβ^0とβ^1を求める公式は以下の通りです。

```math
\hat{β}_1=\frac{S_{xy}}{S_x^2}
```
```math
\hat{β}_0=\hat{y}-\hat{β}_1\hat{x}
```

# 重回帰分析
重回帰分析において、以下のように2個以上の説明変数（独立変数）で表される式を**重回帰式**（回帰方程式）と言います。重回帰式の偏回帰係数も**「残差平方和が最小になるようにβ0とβ1とβ2を決定する」**という目的で最小2乗法で算出します。

```math
y=β_0+β_1x+β_2x
```

※重回帰分析では独立変数同士の相関関係の影響を取り除くために、偏回帰係数に対して標準化を行った**「標準偏回帰係数」**を用います。

独立変数xが1つである単回帰式では**「線形の回帰直線」**、独立変数xが2つである重回帰式では下の図のような**「回帰平面」**、独立変数xが3つである重回帰式では**「超回帰平面」**がプロットされます。

![ダウンロード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663460/a3caddd7-5253-c9b2-ab65-28f59132eab5.png)

> 画像引用：[重回帰分析](http://cogpsy.educ.kyoto-u.ac.jp/personal/Kusumi/datasem06/uono.pdf)

# 決定係数
データに対する**「推定回帰式の当てはまりの良さ」**や**「推定回帰式の精度」**を表す指標を**決定係数R^2**と言います。-1以上1以下の範囲に相関係数rが値を取りうるのに対し、**相関係数を2乗**した決定係数R^2は**0以上1以下**の範囲に値を取ります。決定係数R^2が1に近いほど「推定回帰式の当てはまりは良い」と言うことができ、「説明変数が被説明変数をよく説明している」と言うことができます。

決定係数R^2の定義は、「実際のデータ」「推定回帰式から得られた予測値（y^_i）」「データ全体から求められる平均値」を元にした以下の3つの要素から成り立ちます。3つの要素は平方和として算出され、以下のように表せます。

* **「全変動」**▶︎「実際のデータとデータ全体の平均値の差」を表す
* **「回帰変動」**▶︎「推定回帰式から得られた予測値とデータ全体の平均値の差」を表す
* **「残差変動」**▶︎「実際のデータと推定回帰式から得られた予測値の差」を表す

```math
全変動=\sum_{i=1}^{n}(y_i-\bar{y})^2
```

```math
回帰変動=\sum_{i=1}^{n}(\hat{y}-\bar{y})^2
```

```math
残差変動=\sum_{i=1}^{n}(y_i-\hat{y})^2
```

![795316b92fc766b0181f6fef074f03fa-16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663460/333bce21-02e8-a46b-ada2-adacf7588da6.png)

> 画像引用：[27-4. 決定係数と重相関係数 | 統計学の時間 | 統計WEB](https://bellcurve.jp/statistics/course/9706.html)

また上の図から**「全変動=回帰変動+残差変動」**という式が成り立ちます。

```math
\sum_{i=1}^{n}(y_i-\bar{y})^2=\sum_{i=1}^{n}(\hat{y}-\bar{y})^2+\sum_{i=1}^{n}(y_i-\hat{y})^2
```

決定係数R^2は、「説明変数が目的変数をどれくらい説明しているか」、つまり推定回帰式が実際のデータに限りなく近ければ良いので、「回帰変動が全変動に対してどれだけ多いか＝残差変動が全変動に対してどれだけ少ないか」を表すものになります。従って決定係数R^2は以下のように**回帰変動を全変動で割り、残差変動を用いて変換する**ことで定義づけられます。

```math
R^2=\frac{\sum_{i=1}^{n}(\hat{y}-\bar{y})^2}{\sum_{i=1}^{n}(y_i-\bar{y})^2}=1-\frac{\sum_{i=1}^{n}(y_i-\hat{y})^2}{\sum_{i=1}^{n}(y_i-\bar{y})^2}
```

```math
決定係数R^2=\frac{回帰変動}{全変動}=1-\frac{残差変動}{全変動}
```

決定係数は説明変数xの数が増えるほど1に近づくという性質を持っているため、説明変数xの数が多い場合はこの点を補正した**「自由度調整済み決定係数」**という値を使うことがあります。

### 重相関係数
決定係数と同じように「推定回帰式の精度を表す」ものとして、**重相関係数**が存在します。
重回帰式において、**「実際に観測された被説明変数y」**と**「推定回帰式によって得られた予測値y^」**との相関関係に該当します。決定係数と同じように**0以上1以下**の範囲に値を取り、重相関係数が1に近いほど「推定回帰式の当てはまりは良い」と言うことができます。

# Rによる回帰分析結果の読み方
統計検定2級にて出題されるRの回帰分析の出力結果の見方について簡単にまとめます。

* lm(formula＝y～ｘ)▶︎単回帰式のモデル

* Coefficients▶︎係数

* Intercept▶︎切片（定数項β0)

* Estimate▶︎回帰係数の推定値

* Std. Error▶︎標準誤差

* t value（= Estimate / Std. Error）▶︎t値・「回帰係数が0である」という帰無仮説に対するt検定の統計量

* Pr(>|t|)▶︎p値・「回帰係数が0である」という帰無仮説に対するt検定のp値

* Residual Standard Error▶︎残差eの標準誤差

* degrees of freedom▶︎自由度・**「標本数n-偏回帰係数の数（単回帰式ならn-2）」**で算出

* Multiple R-squared▶︎決定係数R^2

* Adjusted R-squared▶︎自由度調整済み決定係数

* F-statistic▶︎「切片を除く全ての回帰係数が0である」という帰無仮説に対するF検定の統計量と自由度(DF)、p値の3変数

# 一元配置分散分析
2標本の平均値の差はt検定で求めますが、**3群（標本）以上の平均値の差**は分散を元にした**「分散分析」**という手法によって求めます。分散分析は**F分布**を用い、推定のための帰無仮説H0は「各群の母平均は等しい」となり、分散分析を行うに当たって**分散分析表**というものを作成します。

![am15634-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663460/516e35ed-9058-6114-9364-176f75915e61.png)

> 画像引用：[1元配置分散分析（One-way ANOVA）](https://www.stats-guild.com/analytics/15634)

データの値に変化を与える要素を**要因**、要因の中でも特に「母平均に差をもたらす」ものを**因子**、1つの項目に含まれる「グループ」を**水準**、データに含まれる因子の数を◯元配置と言います。

1つの因子からなるデータを分析する方法（グループを識別する要素が1つ）で、因子に含まれる水準間の平均値の差を見ることができる手法を**「一元配置分散分析」**と言い、2つの因子からなるデータを分析する方法で、各因子に含まれる水準間の平均値の差を見ることができる手法を**「二元配置分散分析」**と言い、3つ以上の因子からなるデータを分析する方法を「多元配置分散分析」と言います。
特に「二元配置分散分析」では、2つの要因が組み合わさることで現れる**「交互作用（相乗効果）」**の有無を確認することが主要な目的となります。

### 分散分析表
総標本数をn、群の数をr、群iの標本数をni、群iの標本をxi、xの標本平均をx¯とすると、「一元配置分散分析」では以下のような分散分析表を作成します。

![スクリーンショット 2020-09-01 18.37.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663460/43b0cf7f-6cd4-a233-7872-b3e4c738f707.png)

> 画像引用：[統計検定2級チートシート - Qiita](https://qiita.com/moriokumura/items/ed246efe11fc5d3fc760)

平均平方は**「平方和 / 自由度」**とすることで求められ、統計量Fは**「要因の平均平方 / 残差の平均平方」**とすることで求められます。統計量Fは**自由度((d),(e))**のF分布に従い、必ず**「片側検定」**を実施します。

# 参考文献
* [例題で学ぶ初歩からの統計学 第2版](https://www.amazon.co.jp/%E4%BE%8B%E9%A1%8C%E3%81%A7%E5%AD%A6%E3%81%B6%E5%88%9D%E6%AD%A9%E3%81%8B%E3%82%89%E3%81%AE%E7%B5%B1%E8%A8%88%E5%AD%A6-%E7%AC%AC2%E7%89%88-%E7%99%BD%E7%A0%82-%E5%A0%A4%E6%B4%A5%E8%80%B6/dp/453555790X)
* [回帰分析 | 統計用語集 | 統計WEB](https://bellcurve.jp/statistics/glossary/744.html)
* [27-1. 単回帰分析 | 統計学の時間 | 統計WEB](https://bellcurve.jp/statistics/course/9700.html)
* [27-2. 重回帰分析 | 統計学の時間 | 統計WEB](https://bellcurve.jp/statistics/course/9702.html)
* [27-3. 予測値と残差 | 統計学の時間 | 統計WEB](https://bellcurve.jp/statistics/course/9704.html)
* [27-4. 決定係数と重相関係数 | 統計学の時間 | 統計WEB](https://bellcurve.jp/statistics/course/9706.html)
* [単回帰分析と重回帰分析](http://cogpsy.educ.kyoto-u.ac.jp/personal/Kusumi/datasem05/kurimoto.pdf)
* [統計検定2級チートシート - Qiita](https://qiita.com/moriokumura/items/ed246efe11fc5d3fc760)
* [29-1. 分散分析とは | 統計学の時間 | 統計WEB](https://bellcurve.jp/statistics/course/10006.html)
* [29-4. 一元配置分散分析の流れ3 | 統計学の時間 | 統計WEB](https://bellcurve.jp/statistics/course/10035.html)
* [分散分析](http://www.aoni.waseda.jp/abek/document/anova.html)