回帰分析

回帰分析

  • このエントリーをはてなブックマークに追加
  • LINEで送る

回帰分析ってなに?

回帰分析についてざっくり説明していきます。
回帰分析とは「ある変数を用いて他の変数を説明(予測)するモデルを作ること」です。
例えば、「ある日のアイスの売上高をその日の気温で説明したい!」というときに使います。
$$(アイスの売上高)=(ある定数)+(ある係数)\times(気温)$$
というモデルを作ることが出来ます。
ここで、(アイスの売上高)のことを目的変数あるいは従属変数、(気温)のことを説明変数あるいは独立変数と呼びます。
回帰分析の方法はたくさんあり、目的変数の形式によっても変わったりします
例えば、目的変数が割合や二値データの場合はロジスティック回帰分析、カウントデータの場合はポアソン回帰分析になります。
回帰という言葉は機械学習でも出てきますが、それはつまり「何かの値を予測したい」という風に捉えればOKです。
機械学習に関しては別ページを見てください。

回帰分析の計算

回帰分析を式で表して理解していきます。先ほどは(アイスの売上高)などを使いましたが記号を使って式にしてみます。n個のサンプルがあるデータセットで一つの目的変数をp個の説明変数で説明するモデルを作ると以下のようになります。
$$y_i=\beta_0+\beta_1x_{i1}+\cdots+\beta_px_{ip}+\epsilon_i, \epsilon_i \sim N(0,\sigma^2),(i=1,\cdots,n)$$
\(y\):目的変数、\(\beta_0\):ある定数、\(\beta_j\):ある係数、\(\epsilon\):誤差項を表しています。また添え字のiはサンプルを表します。
ベクトルで表記すると次のように書き換えられます。
\begin{eqnarray*}
{\bf y}&=&{\bf X}{\bf \beta}+{\bf \epsilon},{\bf \epsilon} \sim N({\bf 0},\sigma^2{\bf I_n})\\
\end{eqnarray*}
\({\bf y}\):n次元ベクトル、\({\bf X}\):n×(p+1)の行列ただし一列目は1を並べた列、\({\bf \beta}\):(p+1)次元ベクトル、\({\bf \epsilon}\):n次元ベクトル。

回帰分析では\({\bf \beta}\)を求めることが目的になります。ではどのように求めるかと言うとデータがモデル式によく当てはまるように求めます。この方法を最小二乗法と言います。
具体的には残差平方和を最小化する\({\bf \beta}\)を求めることになります。
少しの微分の計算によって\({\bf \beta}\)は次のように求められます。
\begin{eqnarray*}
\hat{{\bf \beta}}&=&{({\bf X}^{T}{\bf X})}^{-1}{\bf X}^{T}{\bf y}\\
\end{eqnarray*}
従って、\({\bf y}\)の推定値\(\hat{{\bf y}}\)は次のようになります。
\begin{eqnarray*}
\hat{{\bf y}}&=&{\bf X}{({\bf X}^{T}{\bf X})}^{-1}{\bf X}^{T}{\bf y}\\
\end{eqnarray*}

回帰分析の弱点

さて、ここで気になることがあります。それは\({({\bf X}^{T}{\bf X})}^{-1}\)が必要だということです。
実は、説明変数の相関が非常に高かったり従属関係にある場合に\({({\bf X}^{T}{\bf X})}\)の逆行列が計算出来なくなります。
この問題を多重共線性と言います。多重共線性が起きていると回帰分析は解析が出来なくなってしまいます。多重共線性を回避するためには相関の高い変数を解析から外す(変数選択)などの処置が必要になります。

しかし、変数の数があまりにも多すぎたりすると変数選択も難しくなります。そんなときにはいくつかの変数を一つの合成変数にまとめてしまう主成分回帰やPLS回帰などの方法やパラメータについての制約を与えることで解析可能にする正則化手法などがあります。

回帰分析の参考図書はこちら!

■多変量解析入門

回帰分析・判別分析をはじめとした様々な手法が体系的にまとまっています。非常に分かりやすくまとめてあるので初学者にも優しく、そしてある程度勉強した上での復習としても非常に有用な書籍になっています。

 

■回帰分析入門: Rで学ぶ最新データ解析

一般的な単回帰分析からポアソン回帰・ロジスティック回帰など一般化線形回帰モデルまで回帰に関する内容を網羅しています。Rによる実践例と共に話が進んでいくので手を動かしながら学びましょう。

 

  • このエントリーをはてなブックマークに追加
  • LINEで送る

コメントを残す

*

CAPTCHA