備忘録

勉強や読書の記録

ISLR: Chapter 3 Linear Regression

 ISLRを読み進めているのだが,量が多く,忘れてしまいそうなので内容をメモしておく.なお,式は大体そういうものとして突然出てくるが,理論的な背景を知りたいならカステラ本を読めとのこと.本書はあくまで手法を使うにあたって必要な最低限の知識のみにフォーカスしている.

3.1 Simple Linear Regression

 説明変数 Xで目的変数 Yを予測することを考える.この時, X Yの線形関係は下式で表せる.  \displaystyle
\begin{align}
Y  \approx \beta_0 + \beta_1 X \label{regression}
\end{align}
で,訓練データ (x_1,\ y_1),\ (x_2,\ y_2),\ldots,\ (x_n,\ y_n)を使ってパラメタ \beta_0,\ \beta_1を求める.得られた \displaystyle \beta_0,\ \beta_1の推定値を \displaystyle \hat{\beta}_0,\ \hat{\beta}_1とすると,これらを用いて Yの推定値は  \displaystyle
\begin{align}
\hat{Y} = \hat{\beta}_0 + \ \hat{\beta}_1 X
\end{align}
と書くことができる.

3.1.1 Estimating the Coefficients

 いい感じのパラメタはどのように求めるのだろうか?実際の観測値 \displaystyle yと予測値 \displaystyle \hat{y}との差 \displaystyle eが小さければ,いい感じに予測できてると言えそう.そこで,次式で表される残差平方和(Residual Sum of Square,  RSS)を最小化したい. \displaystyle
\begin{align}
RSS = \sum_{i=1}^n e_i^{2},\ \mbox{where}\ e_i = y_i - \hat{y}_i \label{rss}
\end{align}
で,式 \eqref{rss}を最小化するようなパラメタの推定値  \displaystyle \hat{\beta}_0,\ \hat{\beta}_1 は下式で与えられる.  \displaystyle
\begin{align}
\hat{\beta}_1= \frac{ \sum_{i=1}^n (x_i -  \overline{x})(y_i -  \overline{y}) }{ \sum_{i=1}^n (x_i -  \overline{x})^{2} }
\end{align}

 \displaystyle
\begin{align}
\hat{\beta}_0 = \overline{y} - \hat{\beta}_1 \overline{x}
\end{align}
ここで \displaystyle \overline{y} \equiv \frac{1}{n} \sum_{i=1}^{n} y_i,\ \overline{x} \equiv \frac{1}{n} \sum_{i=1}^{n} x_i,つまり \displaystyle \overline{y},\ \overline{x}は標本平均である.

3.1.2 Assessing the Accuracy of the Coefficient Estimates

 式 \eqref{regression}ガウスノイズを加えた  \displaystyle
\begin{align}
Y=\beta_0+\beta_1X+\epsilon \label{plusNoise}
\end{align}
を考える.

 標本平均 \displaystyle \hat{\mu}は母平均 \displaystyle \muの不偏推定量なので,十分な量のデータを与えて平均を取れば \muになる.この \hat{\mu}がどのくらい \muを推定できているかは,標準誤差(Standard Error,  SE)を求める.  \displaystyle
\begin{align}
Var(\hat{\mu}) = SE(\hat{\mu})^2 = \frac{\sigma^2}{n}
\end{align}
ここで  \sigma Y の観測値の標準偏差を表している.また, \beta の標準誤差は,下式で与えられる.  \displaystyle
\begin{align}
SE(\hat{\beta}_0)^2 = \sigma^2 \biggl[  \frac{1}{n} + \frac{\overline{x}^2}{\sum_{i=1}^n (x_i-\overline{x})^2} \biggr],\
\end{align}

 \displaystyle
\begin{align}
SE(\hat{\beta}_1)^2 = \frac{\sigma^2}{\sum_{i=1}^n (x_i -  \overline{x})^{2}},\ \mbox{where}\ \sigma^2 = Var(\epsilon)
\end{align}
一般に分散 \displaystyle \sigma^2は未知なので,推定値を用いる.推定値 \sigmaの誤差は一般に残差標準誤差(Residual Standard Error,  RSS)と呼ばれ,下式で与えられる.  \displaystyle
\begin{align}
RSE=\sqrt{\frac{1}{n-p-1}RSS} \label{rse}
\end{align}
 p は説明変数の個数を表しており,現在は1つの説明変数で回帰しているので, \displaystyle RSE=\sqrt{\frac{1}{n-2}RSS} となる.

 先ほど求めた標準誤差  SE を用いて信頼区間を求めることができる.例えば \hat{\beta}_1の95%信頼区間 \hat{\beta}_1 \pm 2 \times SE(\hat{\beta}_1)で求められる.これは, \beta_1の真の値が95%の確率で  \displaystyle
\begin{align}
\biggl[ \hat{\beta}_1 - 2 \times SE(\hat{\beta}_1),\ \hat{\beta}_1 + 2 \times SE(\hat{\beta}_1) \biggr]
\end{align}
に入ることを意味している.

 また, SEは仮設検定(hypothesis test)にも用いられる.  \displaystyle
\begin{align}
H_0: \beta_1=0,\ H_a: \beta_1 \neq 0
\end{align}
上式において H_0 X Yに関係はないことを表す帰無仮説(null hypothesis)であり, H_a X Yには何かしらの関係があることを表す対立仮説(alternative hypothesis)である.式 \eqref{regression}において,もし \beta_1=0ならば,モデルは Y=\beta_0+\epsilonとなり,説明変数 X Yと関係がないということになる.帰無仮説を検定するためには \hat{\beta}_1が0から十分に離れている必要があるが,どのくらい離れていれば良いかは SE(\hat{\beta}_1)に依存する.例えば,もし SE(\hat{\beta}_1)が小さければ \hat{\beta}_1の絶対値が小さくても良いが,逆に SE(\hat{\beta}_1)が大きければ \hat{\beta}_1の絶対値が十分に大きくなければならない.実際には, \hat{\beta}_1がどの程度0から離れているかを示す t値を用いる.  \displaystyle
\begin{align}
t=\frac{\hat{\beta}_1-0}{SE(\hat{\beta}_1)}
\end{align}
もし X Yに関係がないなら, t値は自由度 n-2 t分布に従う.ちなみに, t分布は n>30正規分布にかなり近くなる. \beta_1=0の時にある値を観測した際,それが \left| t \right|以上の値を取る確率は p値と呼ばれる.したがって, p値が十分に小さければ,説明変数と目的変数の間には何かの関係があるとみなせる.

3.1.3 Assessing the Accuracy of the Model

 帰無仮説を棄却できたら,次は RSE R^2を用いてどの程度モデルがデータにフィットしているかを評価する.

Residual Standard Error

 式 \eqref{rse}の値が3.26だとしたら,平均して3.26単位分ずれているということになる.なので, RSEの値が大きければあまりフィットしていないということになる.

 R^2 Statistic

  RSEは式 \eqref{plusNoise}の欠損を示す指標として有効だが,  Yの単位のみで求められているため,その意味が明確ではない場合もある.そこで,分散が説明されている割合を示す R^2を用いる.  \displaystyle
\begin{align}
R^2=\frac{TSS-RSS}{TSS}=1-\frac{RSS}{TSS},\ \mbox{where}\ TSS=\sum (y_i-\overline{y})^2
\end{align}
 TSSはTotal Sum of squaresのことで, Yのtotal variance(回帰を行う前から Y が含んでいる分散の総和)を表している.一方, RSSは回帰で説明できていないばらつきを示している.もし R^2が小さければ,原因としてはモデルが間違っているか,内在している誤差(inherent error)が大きいか,もしくはその両方かの3通りが考えられる.

  R^2 X Yとの線形関係を表す指標でもある.単回帰なら  \displaystyle
\begin{align}
R^2= r^2,\ \mbox{where}\ r=Cor(X,Y)=\frac{\sum_{i=1}^2 (x_i-\overline{x})(y_i-\overline{y})}{\sqrt{\sum_{i=1}^2 (x_i-\overline{x})^2}\sqrt{\sum_{i=1}^2 (y_i-\overline{y})^2}}
\end{align}
となるが, Cor(X,Y)はある1つの変数の組についての相関を扱っているだけなので,重回帰においてはピアソン相関係数の2乗を R^2とすることはできない.

3.2 Multiple Linear Regression

 重回帰モデルは  \displaystyle
\begin{align}
Y=\beta_0+\sum_{i=1}^p\beta_iX_i+\epsilon
\end{align}
で表される.説明変数[X_j]の係数 \beta_jは,他の説明変数を固定して  X_j を1単位分動かしたときの Yへの平均的な影響の大きさとして解釈できる.

3.2.1 Estimating the Regression Coefficients

 重回帰モデルの予測値  \hat{y} は,  \displaystyle
\begin{align}
\hat{y}=\hat{\beta}_0+\sum_{i=1}^p\hat{\beta}_px_p
\end{align}
で表される.重回帰でも単回帰同様に,式 \eqref{rss}が最小になるように各パラメタ \beta_0,\ \beta_1,\ , \ldots,\ \beta_pを求める.

3.2.2 Some Important Questions

One: Is There a Relationship Between the Response and Predictors?

 説明変数 X_1,\ ,X_2,\ldots,\ X_pの中に少なくとも1つは目的変数の予測に役立つ説明変数が存在するのかどうか知りたい.そこで,  \displaystyle
\begin{align}
H_0: \beta_1=\beta_2=\cdots=\beta_p=0,\ H_a: \mbox{at least one }\beta_j\ \mbox{is non-zero.}
\end{align}
この仮説検定には F-Statisticを用いる.  \displaystyle
\begin{align}
F=\frac{(TSS-RSS)\ /\ p}{RSS\ /\ (n-p-1)}
\end{align}
真の関数の形が線形モデルであるという仮定が正しければ,  \displaystyle
\begin{align}
E\bigl[RSS\ /\ (n-p-1)\bigr]=E\big[RSE^2\bigr]=\sigma^2
\end{align}
になり,また, H_0が正しいのならば,  \displaystyle
\begin{align}
E\bigl[(TSS-RSS)\ /\ p\bigr]=\sigma^2
\end{align}
となる.したがって,説明変数と応答変数に関係がないのならば Fの値は1に近くなる.逆に  H_aが正しいのならば E\bigl[(TSS-RSS)\ /\ p\bigr]>\sigma^2となるので,1よりも大きくなる.

  p個の説明変数のうち q個について検定したい時は,  \displaystyle
\begin{align}
H_0: \beta_{p-q+1}=\beta_{p-q+2}=\cdots=\beta_p=0
\end{align}
として検定を行う. F-Statisticは  \displaystyle
\begin{align}
F=\frac{(RSS_0-RSS)\ /\ q}{RSS\ /\ (n-p-1)}
\end{align}
となる.ここで RSS_0 q個以外の変数について RSSを計算した値である. pが小さい時は個々の p値を見て説明変数と目的変数の関連性を主張できるが, pが大きい時は,個々の p値を見た後に F-Statistic を見る必要がある.例えば説明変数が100個の時は,有意水準5%なら,説明変数と目的変数に関連がなかったとしても,各変数について5%の確率で低い p値を取る変数が出てくる可能性がある.しかし, F-Statisticは説明変数の個数を調整し, q個の説明変数を1つの説明変数として計算しているので,もし仮に H_0 が採択されるなら,説明変数の個数や観測の量に関係なく,5%の確率でしか0.05を下回る p値を取ることがない.

Two: Deciding on Important Variables

 どの説明変数が効いているかを確かめたいが,組み合わせは 2^p通りあるので,効率的な変数選択の方法が必要.AIC, BIC,  adjusted\ R^2等が使われるが,これらはChapter 6で紹介する.

 ここでは簡単に,(1) Forward selection, (2) Backward selection, (3) Mixed selection の3種類を紹介する.

  1. Forward selection  まず,切片のみのモデル(null model)を用意する.このモデルに説明変数を1つ加えたp個の回帰モデルを考える.各モデルについて p値を計算し, RSSが最小となる変数をnull modelに追加する.これを,終了判定を満たすまで続ける.

  2. Backward selection  Forward selectionとは逆に,全ての変数を考慮した回帰モデルから始め, p値が最大となる説明変数をモデルから除去する.例えば全ての説明変数の p値がある閾値以下になったら終了というような,終了判定を満たすまで続ける.

  3. Mixed selection  Forward selectionと同様にnull modelから始め,ある説明変数を追加した結果p値が閾値を超えてしまった場合,その変数を取り除き,次の説明変数を追加する.このforward step, backward stepを,モデル内の全ての説明変数が十分に小さい p値を取るまで続ける.

Backward selectionは  p>nの時は使えないが,forward selectionは使える.また,forward selectionはgreedyなアプローチなので後々いらなくなる変数を含んでしまう可能性があるが,mixed selectionではいらなくなった変数を取り除くことができる.

Three: Model Fit

  R^2 RSEの2つが使える. RSEは式 \eqref{rse}で表されるので,説明変数の個数が多いと, RSSが小さくなっても RSEは大きくなる.

Four: Predictions

 学習によって得られたモデルはあくまで真のモデル(式  \eqref{plusNoise} )の近似に過ぎない.パラメタの推定値はmodel bias (reducible error).線形回帰は,真のモデルが線形という仮定が正しいという前提の上に立っており,また,irreducible error  \epsilonも存在するので,真のモデルを特定することはできない.

 信頼区間 f(X)の真の値が95%の確率で信頼区間に含まれることを意味しているのに対し,予測区間 Yの予測値が95%の確率で予測区間に含まれることを意味している.

3.3 Other Considerations in the Regression Model

3.3.1 Qualitative Predictors

Predictors with Only Two Levels

 性別や人種のような質的データを扱う場合にはダミー変数を導入する.男女ごとのクレジットカードの残高を予測する問題を考える. x_i=1ならば女性,0ならば男性とすると,  \displaystyle
\begin{align}
y_i = \beta_0+\beta_1x_i+\epsilon_i=
\begin{cases}
\beta_0+\beta_1+\epsilon_i\ \ \ \ \mbox{if }i\mbox{th person is female} \\
\beta_0+\epsilon_i\ \ \ \ \ \ \ \ \ \ \ \ \mbox{if }i\mbox{th person is male}
\end{cases}
\end{align}
において, \beta_0 iが男性の時の残高 yの平均, \beta_0+\beta_1は男女によるyの違いということになる.

Qualitative Predictors with More than Two Levels

 質的データが複数の場合もダミー変数の導入が考えられる.人種ごとのクレジットカードの残高を予測する問題を考え, x_{i1}+1の場合はAsian,0の場合はnot Asian,また, x_{i2}=1の場合はCaucasian,0の場合はnot Caucasianとすると,  \displaystyle
\begin{align}
y_i = \beta_0+\beta_1x_{i1}+\beta_2x_{i2}+\epsilon_i=
\begin{cases}
\beta_0+\beta_1+\epsilon_i\ \ \ \ \mbox{if }i\mbox{th person is Asian} \\
\beta_0+\beta_2+\epsilon_i\ \ \ \ \mbox{if }i\mbox{th person is Caucasian} \\
\beta_0+\epsilon_i\ \ \ \ \ \ \ \ \ \ \ \ \mbox{if }i\mbox{th person is African American}
\end{cases}
\end{align}
と書ける.この場合, \beta_0はAfrican Americanのクレジットカードの残高 yの平均 \beta_1はAsianとAfrican Americanの yの平均の違い, \beta_2はCaucasianとAfrican Americanの yの平均の違いということになる.African Americanの場合の式はベースラインと呼ばれる.また,ダミー変数はレベル数(たぶん考慮している質的データのラベル数のこと)-1個作られる.  係数や p値はダミー変数の作り方によって変わるので,個々の係数の値を見るよりも,ダミー変数の作り方に依存しない F検定でパラメタを評価した方が良い.

3.3.2 Extensions of the Linear Model

 線形回帰は現実世界においてはやや無理がある仮定をいくつか置いているが,その中でも特に厳しい仮定が,説明変数と目的変数の間の関係はadditiveかつlinearであるというもの.つまり,ある説明変数 X_j を動かした時の目的変数  Y の変化量は他の説明変数とは独立しており,かつ, X_j の変化による  Y の変化量は一定であるという2つの仮定には無理がある部分がある.そこで,線形モデルを拡張してこれらの仮定を除外する.

Removing the Additive Assumption

 2変数での線形回帰モデルを考える.  \displaystyle
\begin{align}
Y=\beta_0+\beta_1X_1+\beta_2X_2+\epsilon
\end{align}
これに相乗効果を持つような項(interaction term)を加える.つまり,  \displaystyle
\begin{align}
Y=\beta_0+\beta_1X_1+\beta_2X_2+\beta_3X_1X_2+\epsilon
\end{align}
と書け,これを整理して,  \displaystyle
\begin{align}
Y=\beta_0+\tilde{\beta_1}X_1+\beta_2X_2+\epsilon,\ \mbox{where}\ \tilde{\beta_1}=\beta_1+\beta_3X_2
\end{align}
となる. \beta_3 X_2 が1単位変化した時の  X_1 Y への影響力の貢献度,と解釈できる.  相乗項  X_1X_2 p値は小さいが,単一項  X_1,\ X_2 p値が大きい場合は,hierarchical principle(調べても出てこなかった)に従って,相乗項を構成している説明変数の単一項をモデルに含めなければならない.理由としては,相乗項は単一項と相関関係にあるため,単一項を除くと,相乗項の意味合いが変わってしまうから.

 もちろん質的データに対しても相乗項の考え方を適用できる.

Non-linear Relationships

 真の関数が線形でないなら,多項式回帰を考える.詳細はChapter 7で.

3.3.3 Potential Problems

1. Non-linearity of the Data

 各点の残差  e_i=y_i-\hat{y}_i を予測値  \hat{y}_i に対してプロットする(Residual Plot).データが非線形に散っていたら非線形っぽい,直線に近ければ線形っぽい,ぐらいの判定.

2. Correlation of Error Terms

 線形回帰モデルでは誤差項  \epsilon_1,\ \epsilon_2,\cdots,\ \epsilon_n が独立だと仮定してる.標準誤差は誤差が独立という仮定の下で定義されてるので,例えば時系列データを扱う場合など,誤差に依存関係がある時は真の標準誤差よりも低く推定しまう.そうすると信頼区間も真の信頼区間よりも狭くなり,結果として, p値も低くなる.要するに,より統計的に有意だと判定しやすくなる.

3. Non-constant Variance of Error Terms

 線形回帰モデルのもう一つの重要な仮定は,誤差の分散が一定,つまり, Var(\epsilon_i)=\sigma^2.これもResidual Plotを見ればわかる.解決策としては,目的変数を log  Y \sqrt{Y} にすると,大きな値ほど強く縮約されるので,結果として分散が小さくなる.また,例えば i 番目のレスポンスの値が  n_i 回の観測の平均値で,かつ,それぞれの観測が  \sigma^2 とは無関係だったとする.この時,分散の逆数に比例する重み,つまり, w_i=n_i で重みをつけた重み付き最小二乗法で学習するといいらしい.

4. Outliers

 外れ値は,モデルの予測値から大きく離れた観測値のこと.最小二乗法による学習にはあまり影響はないが,外れ値を含むと  RSE が大きくなる.外れ値の確認もResidual Plotで確認できる.単純な解決策は外れ値の除去だが,モデルの欠陥を示している場合もあるので,慎重に判断しなければならない.

5. High Leverage Points

 外れ値は x_iに対する y_iの値がおかしかったことを表しているが,High Leverageは x_iの値がおかしいことを表している.High Leverageはleverage statistic  h_iで判断できる.単回帰の場合は,  \displaystyle
\begin{align}
h_i=\frac{1}{n}+\frac{(x_i-\overline{x})^2}{\sum_{i’=1}^n(x_{i’}-\overline{x})^2}
\end{align}
で求められ,常に \displaystyle [\frac{1}{n},\ 1]の範囲で値をとる.また,全ての観測値についてのaverage leverageは常に \displaystyle \frac{p+1}{n}である.もしも h_i\displaystyle \frac{p+1}{n}よりあまりにも大きければ,その点はhigh leverageかもしれない.

6. Collinearity

 共線性は2つ以上の説明変数がお互いに密接に関連していることを表す.共線性を持つ説明変数が目的変数にどのように関連しているか特定するのは難しい.共線性は回帰係数の推定値の精度を低下させ, SE(\hat{\beta}_j)を増加させる.結果として, SEを用いて求める t-statisticも減少する.要するに,共線性によって仮設検定の妥当性が減少してしまう.

 共線性を特定する最も簡単な方法は説明変数同士の相関行列を作ること.ただ,共線性が複数の説明変数に存在している(多重共線性)時には有効ではない.そこで,分散拡大係数(Variance Inflation Factor,  VIF)を考える.  \displaystyle
\begin{align}
VIF(\hat{\beta}_j)=\frac{1}{ 1-R^2_{X_j\ \mid\ X_{-j}} }
\end{align}
を考える. R^2_{X_j\ \mid\ X_{-j}} X_j以外の説明変数で X_jを回帰した時の R^2を表している. VIFの最小値は1で, VIF=1なら相関なし, 1 \lt VIF \leq 5なら多少の相関あり, VIF \gt 5 ~  10なら強い相関ありと判断できる.

 共線性に直面した場合に,簡単な解決策の1つとして,問題を引き起こしている変数を削除する方法が考えられる.また,共線性を持つ説明変数を,例えば標準化して平均を取るなど,何かしらの方法で統合してしまう方法も考えられる.

3.4 The Marketing Plan

3.5 Comparison of Linear Regression with K-nearest Neighbors

 線形回帰は真の関数の形を線形だと仮定しているのでパラメトリックな手法である.これに対し,ノンパラメトリックな方法で最もシンプルなkNN回帰を考える.kNN回帰においてある点 x_0を入力した際の値を予測したい時は,まずその点についての K個の近傍 \mathcal{N}_0を求める.そして予測値 \hat{f}(x_0)は下式で与えられる.  \displaystyle
\begin{align}
\hat{f}(x_0)=\frac{1}{K}\sum_{x_i \in \mathcal{N}_0}y_i
\end{align}

 最適な Kはバイアス・バリアンスのトレードオフに依存する. Kは小さければ小さいほど柔軟な関数(low bias)になるが,代わりに分散が大きくなる.一方, Kが大きければ,より多くの近傍の平均値を予測値とするので,1つの点の影響が小さくなり,結果としてなめらかで分散の小さい関数になる.  ノンパラならパラメトリックよりも良いかというそうとも限らない.もし真の関数が線形だった場合はノンパラが線形回帰よりも高い精度を出すのは難しい.つまり,ノンパラには分散がバイアスの減少を相殺しないというリスクがある.  そういうわけでkNN回帰が線形回帰よりも必ずしも優れているということはない.例えば説明変数が非常に多ければ次元の呪いで非常に遠くなってしまうかもしれない.一般に,説明変数の数に対して観測が少なければノンパラよりもパラメトリックの方が有効.基本的に,解釈のしやすさという観点からもkNN回帰より線形回帰の方が良さそう.