概要
最近学んだ線形回帰手法の特徴についてまとめる.
具体的には,特定のデータセットに対して,重回帰(Ordinary Least Squares: OLS),リッジ回帰(Ridge Regression: RR),部分最小自乗回帰(Partial Least Squares: PLS)の3つの線形回帰手法を適用し,結果を考察する.
重回帰
説明変数$ X$および目的変数$ y$が与えられているとき,
$ y = X b + e$
のように,目的変数が説明変数と回帰係数$ b$との線形結合によって表されているとするのが,線形回帰の考え方である.
ここで,重回帰においては,残差$ e$の二乗和
$Q = e^T e$
が最小となるように回帰係数を決定する. 残差二乗和が最小となるときの回帰係数は
$ b = ( X^T X)^{-1} X^T y$
として与えられることが知られている.
リッジ回帰
重回帰では,$ X^T X$が逆行列を持たない場合,残差二乗和を最小化できない. これは,説明変数が線形従属である場合や,サンプル数が入力変数の数より少ない場合に対応する. また,説明変数が厳密に線形従属でなくても,変数間に強い相関がある場合には,回帰係数の分散が大きくなり,推定結果の信頼性が低下してしまう問題が起きる. これを,多重共線性の問題という.
回帰係数を小さく抑えるためのひとつの手法として,リッジ回帰が挙げられる. リッジ回帰においては,残差の二乗和に加えて,回帰係数の二乗和を加えた
$Q’ = e^T e + \lambda b^T b$
が最小となるよう,回帰係数を決定する.ここで,$\lambda\ge0$を複雑度パラメータと呼ぶ. 残差二乗和が最小となるときの回帰係数は
$ b = ( X^T X + \lambda I)^{-1} X^T y$
として求められる.
部分最小二乗回帰
部分最小二乗回帰では,潜在変数と呼ばれる新たな変数を導入することで,説明変数と目的変数を関連付ける. 具体的には,説明変数の線形結合によって潜在変数をつくり,潜在変数の線形結合によって目的変数を記述する. ここで,潜在変数は,目的変数との共分散が最大となるように決定される. このことは,主成分分析(Principal Component Analysis, PCA)において,主成分が分散を最大化する方向に決定されることとよく似ており,このことから,部分最小二乗回帰は多重共線性に対してロバストな手法であると言われている.
部分最小二乗回帰において,潜在変数を$ T$とすると
$ X = T P^T + \epsilon$
$ \ y = T q + e $
として表される.
回帰係数を決定するアルゴリズムのひとつに,つぎのNIPALSアルゴリズムがある.
(1) $ X_0 = X, y_0 = Y$
(2) FOR $i = 0,…,N-1$
(2.1)$ w_i = \frac{ X^T_i y_i}{| X^T_i y_i |}$
(2.2)$ t_i = X_i w_i$
(2.3)$ p_i = \frac{ X^T_i t_i}{| t_i|^2}, q_i = \frac{ y^T_i t_i}{| t_i|^2}$
(2.4)$ X_{i+1} = X_{i} - t_i p_i^T, y_{i+1} = y_{i} - t_iq_i$
NIPALSアルゴリズムにおいて,$w_i$ は目的変数と潜在変数との共分散を最大化する重みであり,ここから計算された潜在変数$ t_i$を用いて 各変数をデフレーションしていく.
数値例
今回,統計解析ソフトRのfarawayパッケージに付属するデータmeatspecに対して,それぞれの回帰手法で交差検証を行った.
meatspecはある食品の脂肪分fatと100個のスペクトルデータからなっており,それぞれを目的変数と説明変数として回帰した. 交差検証にあたっては,215個のサンプルデータのうち,115個をモデル構築用データ,残る100個をテストデータとして用いた. リッジ回帰において,複雑度パラメータは$0.1$とした. また,部分最小二乗回帰において,潜在変数の数は$10$とした.
重回帰 | リッジ回帰 | 部分最小二乗回帰 |
---|---|---|
308.9011 | 63.4491 | 30.9327 |
それぞれの手法を用いた時の推定値の二乗誤差和を表に示す. 部分最小二乗回帰,リッジ回帰,重回帰の順に,よい精度の推定値が得られていることがわかる.
結論
データに対して線形回帰を行う場合,説明変数の多重共線性を考慮する必要があることが分かった. とはいえ,用いるデータの多重共線性が問題となるかは,回帰を行わないとわからないので,実際にはいくつかの手法での解析を行い,最も精度良くモデルを構築できている手法を採用するのがよいと思われる.