最小二乗法(OLS)による線形回帰
線形回帰は時系列データに見られる前の時間との自己相関がないことを前提に
$$ y = \alpha + \sum_i^n \beta_i x_i $$
のような線形関数で表される回帰方程式によって\(y\)を説明変数\(x\)で説明するモデルを作る。
時系列データのMAモデルとARモデル、その定常性と反転可能性 - sambaiz-net
\(x\)が一つの場合は単回帰分析といい、複数の場合は重回帰分析という。 単回帰分析では母集団\(X, Y\)の関係を次の母回帰方程式で表す。 全ての要素が単一の直線上にあることはほとんどないので誤差項\(\varepsilon_i\)が含まれている。
$$ Y_i = \alpha + \beta_1 X_i + \varepsilon_i $$
この誤差項\(\varepsilon_i\)の二乗の和\(S\)が最小となるように係数の値を決めるのが最小二乗法(OLS; Ordinary Least Squares)となる。
$$ S = \sum \varepsilon_i^2 = \sum (Y_i - \alpha - \beta_1 X_i)^2 $$
一次の偏微分が0となる次の連立方程式を解いてそのような最小二乗推定量\(\hat{\alpha},\hat{\beta_1}\)を求める。
$$ \begin{align*} \frac{\partial S}{\partial \alpha} &= -2 \sum (Y_i - \alpha - \beta_1 X_i) = 0 \\ \frac{\partial S}{\partial \beta_1} &= -2 \sum (Y_i - \alpha - \beta_1 X_i) X_i = 0 \end{align*} $$
結果、標本回帰係数と呼ばれる次の値が得られる。
$$ \begin{align*} \hat{\beta_1} &= \frac{\sum(X_i - \bar{X})(Y_i - \bar{Y})}{\sum(X_i - \bar{X})^2} \\ \hat{\alpha} &= \bar{Y} - \hat{\beta_1}\bar{X} \end{align*} $$
重回帰分析の場合、説明変数同士に相関がある多重共線性や、説明変数と誤差項に相関がある内生性があると係数に偏りが発生する可能性がある。 カテゴリカル変数をカテゴリーと同じ数の次元に変換すると多重共線性が生まれてしまう。
カテゴリカル変数を変換するsklearnのLabel/OneHotEncoderとpandasのget_dummies - sambaiz-net
決定係数
\(Y\)の標本平均\(\bar{Y}\)からのばらつき\(Y - \bar{Y}\)の内、\(X\)で説明されない、\(Y\)と回帰値\(\hat{Y}\)のずれ
$$ \hat{e_i} = Y_i - \hat{Y_i} = (Y_i - \bar{Y}) - (\hat{Y_i} - \bar{Y}) $$
を回帰残差(residual)といい、その二乗の和である残差平方和(RSS; Residual Sum of Squares)の、総平方和(TSS; Total Sum of Squares)に対する割合を1から引いたものを決定係数という。 したがって、これが1に近いほどばらつきを説明できている当てはまりの良いモデルといえる。
$$ R^2 = 1 - \frac{RSS}{TSS} = 1 - \frac{\sum \hat{e}^2 }{\sum (Y_i - \bar{Y})^2} $$
重回帰分析では変数を増やすだけで決定係数が大きくなってしまうので、 異なる数の変数を用いたモデルを比較する際はデータ数\(n\)と説明変数の数\(k\)による補正をかけた 自由度修正済み決定係数\(\bar{R}^2\)を用いる。
$$ \bar{R}^2 = 1 - \frac{\frac{RSS}{n-k}}{\frac{TSS}{n-1}} \leqq R^2 $$