本文へ移動

単回帰分析

導入

あるスカラー値 を用いて、別のスカラー値 を予測することを考える。この手法を単回帰分析(simple regression analysis)と呼ぶ。このとき、 説明変数(explanatory variable)、 目的変数(objective variable)と呼ぶ。いくつかの の値の組(順序対)をデータ(data)と呼び,1つの組を事例(instance)と呼ぶ。

データ は以下のように表現できる。

【定義】直積集合

直積集合(cartesian product) とは、集合 の要素と集合 の要素の組み合わせ(順序対)全てからなる集合のことである。

【定義】べき集合

べき集合(power set) とは、集合 の部分集合全てからなる集合のことである。

ここで、 は事例の数である。単回帰分析の目的は、予めわかっていて、与えられたデータ (特別に訓練データと呼ぶ)に基づいて、任意の に対して を予測する関数 を求めることである。ここで、暗に の間には

の関係が成り立つと仮定している。(本当の意味で等号が成立することは稀である)関数 について 以外にも暗に依存する変数が存在する。これらはパラメータ(parameter)と呼ばれ、関数 あるいは のように表現することもある。単回帰分析の目的は、パラメータ を適切に選ぶことである。 のパラメータ全体を と表現することにする。

損失関数

ある予測関数 が与えられたとき、その関数およびパラメータがどれだけ良いかを評価するために、損失関数(loss function)を定義する。損失関数は既知のデータ に対して予測関数 とそのパラメータを含んでおり形式的には以下のように定義される。

ここではあえて予測関数 を定義域に含んだ汎函数として損失関数を定義している。

【定義】汎函数

汎函数(functional)とは、関数を入力として受け取り、スカラー値を出力する写像のことである。例えば、 が関数であるとき、以下のような写像 は汎函数である。

【定義】全関数集合

全関数集合(total function space)とは、ある集合 から別の集合 への全ての関数の集合のことである。例えば、

で定義される。これは実数から実数への全ての関数の集合である。

しかし実際には予測関数 をおおよそ決めてから議論を行うことが多いため、以降は損失関数をほとんど自明な に対する の関数として議論を行うことにする。

上のような多種多様な表現が行われている。

残差と平均二乗誤差

ある予測関数 が与えられたとき、事例 に対する残差(residual) は以下で定義される。

で予測された予測値である。残差は予測値と実際の値の差を表している。この残差は正と負の両方の値を取りうるため、残差の大きさを評価するために、残差の二乗和を損失関数として用いてみよう。これは平均二乗誤差(mean squared error, MSE)と呼ばれ、以下で定義される。

ただし, はデータ の事例数で である。

単回帰の解析解

さて、単回帰分析では、予測関数 として線形関数を用いることが多い。すなわち、

であるとする。この関数におけるパラメータ である。ここで、 切片(intercept)、 回帰係数(regression coefficient)と呼ばれる。平均二乗誤差を最小化するような を求めることを考える。平均二乗誤差は以下のように書き換えられる。

ただし、ある変数 について は考えているデータ における(標本)平均(average)を表す。

【定義】平均

ある変数 を確率変数を としたとき、データ における(標本)平均(average) は以下で定義される。

これを最小化する と表現することにする。平均二乗誤差を最小化するためには、以下の条件を満たす必要がある。

についての関数であることは改めて強調しておきたい。偏微分を計算してこれらの方程式を解く。

したがって、最適なパラメータ は以下で与えられる。

ここで確率変数に関して、共分散(covariance) 分散(variance) を以下で定義する。

【定義】分散

ある確率変数 に関して、その分散(variance) は以下で定義される。

これは に等しいことが知られている。 の標本数を としたとき、

なので示された。

【定義】共分散

ある2つの確率変数 に関して、その共分散(covariance) は以下で定義される。

これは に等しいことが知られている。 の標本数を としたとき、

なので示された。

このようにして損失関数を最小化する解は数学的に導出でき、素直に計算できる。このような解を解析解(analytical solution)と呼ぶ。 がより複雑な関数である場合、解析解を求めることが困難になることが多い。後述する勾配法などはそのような場合に用いられる数値的手法である。

解析解の性質

解析解によって得られた予測関数 回帰直線(regression line)と呼ぶ。回帰直線は以下の様々な性質を満たす。

【性質】予測値の平均は目的変数の平均に等しい

主張

予測値 について

である。

証明

【性質】訓練データの重心は回帰直線上にある

主張

訓練データ の重心 は回帰直線上の点である。

証明

【性質】残差の和は0になる

主張

残差 について

である。さらに、残差の平均も0である。

証明

ここで以下のように定義される相関係数(correlation coefficient) を考える。

【定義】相関係数

ある2つの確率変数 に関して、その相関係数(correlation coefficient) は以下で定義される。

相関係数 を満たし、 のとき、2つの確率変数 正の相関(positive correlation)があると言い、 のとき、負の相関(negative correlation)があると言う。 のとき、2つの確率変数は無相関(no correlation)であると言う。

この相関係数について、以下の性質が成り立つ。

【性質】説明変数と残差は無相関である

主張

説明変数 と残差 は無相関である。

証明

の共分散

であるので

である。したがって、説明変数 と残差 は無相関である。

【性質】推定値と残差は無相関である

主張

推定値 と残差 は無相関である。

証明

推定値 と残差 の共分散

であるので

である。したがって、推定値 と残差 は無相関である。

決定係数

まず、目的変数 について以下の命題が成り立つ。

【命題】全変動の分解

主張

ある目的変数 について、以下の等式が成り立つ。

証明

ここでそれぞれ以下のような用語を定義する。

  • 全変動(total variation):
    訓練データにおける目的変数の変動の大きさを表す。
  • 回帰変動(regression variation):
    予測関数 によって説明される目的変数の予測値の変動の大きさを表す。
  • 残差変動(residual variation):
    予測関数 によって説明されない目的変数の残差の変動の大きさを表す。

そして、全変動のうち回帰変動で説明できた割合を決定係数(coefficient of determination) として以下で定義する。

【定義】決定係数

ある目的変数 と回帰によって得られた予測値 について、その決定係数(coefficient of determination) は以下で定義される。

決定係数 を満たし、 が大きいほど、予測関数 は良いとされる。

重回帰分析

導入

単回帰分析では説明変数は1つのスカラー値であったが、説明変数が複数のスカラー値からなる場合を考える。この手法を重回帰分析(multiple regression analysis)と呼ぶ。説明変数が 個のスカラー値からなる場合、説明変数はベクトル値 として表現される。データ は以下のように表現できる。

【定義】ベクトル

ベクトル(vector)とは、複数のスカラー値を1つにまとめたものである。例えば、 次元実ベクトル は以下で定義される。

また、これは の行列としても解釈することができ、縦ベクトル(column vector)と呼ばれる。

【定義】多変数関数

多変数関数(multivariate function)とは、複数の変数を引数として受け取る関数のことである。変数 を受け取るような 以外にも のようなベクトルとして受け取る のような関数も多変数関数である。つまり、 個の変数を受け取る関数と を受け取る関数は同じものであると考えることができる。

【注意】添え字と変数の種別

ここで、約束事として変数の添え字ではない「本体」の部分がその変数の種別を表していて、 などはすべてベクトルである。ただ、 の各成分はスカラー値であり、 のように表現されることがある。 は全く別の変数であることに注意されたい。

【注意】添え字の表現方法

ベクトル、行列のある成分を表現したいとき、特に指定がない場合は変数の小文字を普通文字で書いて添え字で成分座標を示す。また、明示したいときは を用いて表すことにする。

行列 とベクトル について以下のように表記する。

  • 行列 列成分: または
  • ベクトル 成分: または

このとき、予測関数 (引数がベクトルになっていることに注意)は以下のように表現される。

ただし、 である。このとき、パラメータ である。ここで、今まで考えてきた切片 が含まれていないように見える。が、実際には説明変数 の最初の成分 (もしくは最後の成分)を常に1に固定することで、切片 を含めることができる。すなわち、 とする。このようにして、重回帰分析においても切片 として含めることができる。以降は上のような一般化された予測関数 を考えることにする。

計画行列

重回帰分析では、説明変数がベクトル値であるため、計算を行う際に行列を用いることで見通しをよくすることができる。まず、パラメータを重み行列 として以下で定義する。

このとき、予測関数 は以下のように表現できる。

これはベクトルの標準内積である。

【定義】標準内積

ある2つの 次元実ベクトル に関して、その標準内積(standard inner product) は以下で定義される。

これは、2つのベクトルを の行列として解釈したときの行列積としても解釈できる。また、内積はその順番に関係なく同じ値になる。

このようにすると、複数の事例をまとめて計算することはできる。まず、データ の説明変数をまとめた計画行列(design matrix) を以下で定義する。

なお、 である。また、目的変数をまとめたベクトル を以下で定義する。

同様に、予測関数 によって得られた予測値をまとめたベクトル を以下で定義する。

このとき、

と表現できる。証明は以下の通りである。

【定理】計画行列による予測値の表現
主張

計画行列 と重み行列 を用いて、予測値ベクトル

で表現される。

証明

このようにして、重回帰分析では計画行列を用いて予測値を簡潔に表現することができる。

解析解

重回帰分析における平均二乗誤差も同様に定義される。

ただし、ここでは簡単のため で割って平均を取らないことにする。この関数の最小化は元の平均二乗誤差の最小化と同じ解を与える。上の式はより簡潔に以下のように表現できる。

【定義】2ノルム

あるベクトル に関して、その2ノルム(2-norm) は以下で定義される。

これは 自身との内積でも表現できる。

さて、この平均二乗誤差を最小化する重み行列 を求めることを考える。最適な重み行列を と表現することにする。ここで、あるスカラー値に対してベクトルによる偏微分を以下のように定義する。

【定義】ベクトルによる偏微分

ベクトル による偏微分作用素 は以下で定義される。

例えば,スカラー関数 に対して をスカラーとみなし、作用素との積のように解釈される。

【定義】勾配

あるスカラー関数 に関して、その勾配(gradient) は以下で定義される。

ただし、 の引数全てを並べたベクトルであることに注意されたい。

この偏微分を用いて、平均二乗誤差を最小化するための条件は以下で与えられる。

この場合、 である。偏微分を計算してこれらの方程式を解く。

まずは内積に関する微分公式を示す。

【定理】内積の微分公式
主張

ある互いに独立なベクトル に関して、以下の等式が成り立つ。

証明

で偏微分すると、

したがって、

であるので示された。 についても

であるので示された。

【定理】ノルムの二乗の微分公式
主張

あるベクトル に関して、以下の等式が成り立つ。

証明

で偏微分すると、

したがって、

であるので示された。

【定義】ヤコビアン

あるベクトル値関数 に関して、下のように をそれぞれ の成分関数と表現することにする。

このとき、ベクトル値関数 ヤコビアン(Jacobian) は以下で定義される。

例えば、ベクトルを右に作用させる は最も基本的な のベクトル値関数とみなせる。

【定理】行列のヤコビアンは行列そのもの
主張

ある行列 に関して、 および

で定義されるとき、ヤコビアン は以下で与えられる。

証明

成分 で偏微分すると、

したがって、

であるので示された。

【定理】内積に関する連鎖律
主張

ある互いに に関して、以下の等式が成り立つ。

証明

を偏微分すると、

であるので示された。

加えて、転置について下の性質が成り立つ。

また、以下も成り立つ。

【定理】自分自身の転置との行列積は対称行列になる
主張

ある行列 に関して、行列積 は対称行列である。すなわち、

である。

証明

であるので示された。

これを用いて を展開してみる。

ここで、 とおくと、

となる。これを で偏微分すると、

となる。最終項について、連鎖律とヤコビアンを用いると

である。ここで、 は対称行列であるので である。したがって、

である。これを用いると、

である。これを と等しくすると、

である。したがって、重回帰分析における解析解は以下で与えられる。

解析解の性質

解析解によって得られた予測関数 回帰平面(regression plane)と呼ばれる。この回帰平面にはいくつかの性質が成り立つ。ここでは、切片を含む場合について考える。切片を含む場合、計画行列 について、各行の最初の成分がすべて1になる。

【定義】訓練データの各説明変数と残差は直交である
主張

である。ここで、 は残差ベクトルである。

証明

改めて、

を満たすものであった。これを変形すると

である。

この命題を分解してみるとそもそも

であるので各行は 番目の説明変数の値を並べたベクトルである。これをあえて, とおく。これと の行列積が になるということは、

であることを意味する。すなわち、訓練データの各説明変数と残差は直交していることを意味する。

【性質】残差の和は0になる
主張

残差ベクトル について

である。さらに、残差の平均も0である。

証明

先ほど示した定理より、

である。 計画行列 の最初の列はすべて であるので、 の第1成分を計算すると、

である。したがって、

である。さらに、残差の平均も0である。

【性質】推定値の平均は目的変数の平均に等しい
主張

推定値ベクトル の平均は目的変数ベクトル の平均に等しい。すなわち、

である。

証明

であるので、

である。したがって、 である。

【性質】訓練データの重心は回帰平面上にある
主張

訓練データの重心 は回帰平面上にある。すなわち、

である。なお、ベクトルの平均とは、各成分の平均をとったベクトルであり、ベクトルを足し合わせて で割ったものである。

証明

である。

【性質】各説明変数と残差は無相関である
主張

説明変数のうち 番目の成分の確率変数 と残差 は無相関である。すなわち、

証明
【性質】推定値と残差は無相関である
主張

推定値 と残差 は無相関である。すなわち、

証明

決定係数

決定係数に関する議論・定義や全変動の分解も単回帰分析と同様に成り立つ。なぜなら、その議論においては上で示した性質のみを用いているからである。

多項式回帰分析

重回帰分析では説明変数が複数のスカラー値からなる場合を考えたが、説明変数が1つのスカラー値であっても、予測関数 が線形関数でない場合を考えることができる。この手法を多項式回帰分析(polynomial regression analysis)と呼ぶ。つまり、予測関数を以下のように定義する。

このとき、パラメータ である。しかしここで、訓練データ について次のような計画行列を定義する。

つまり、 番目の説明変数 とみなす。このとき、これは 次元の説明変数を持つ重回帰分析とみなすことができる。以降の議論は重回帰分析と同様である。

正則化

過学習

過学習(overfitting)とは、訓練データに対してあまりにも適合しすぎることで、新しいデータに対する予測性能が低下する現象である。例えば、多項式回帰分析において、非常に高次の多項式を用いると、訓練データを完全に通過するような予測関数 を得ることができる。しかし、このような予測関数は新しいデータに対しては大きく外れる可能性が高い。一般のデータに対して良い予測性能を持つ予測関数を得るようにすることを汎化(generalization)と呼ぶ。

正則化

過学習を防ぐための手法の1つに正則化(regularization)がある。正則化では、パラメータ に対してペナルティを課すことで、過学習を防ぐ。パラメータ に関してその複雑さや「悪さ」を測る関数 を用いて新しい損失関数 を以下で定義する。

ここで、 は正則化パラメータであり、 は正則化項(regularization term)と呼ばれる。 のような、予測関数 のパラメータ を最適化することに用いるパラメータをハイパーパラメータ(hyperparameter)と呼ぶ。

L2正則化

L2正則化(L2 regularization)は、正則化項 として、パラメータをベクトルとして解釈した時のL2ノルムの二乗を用いる手法である。L2正則化を用いた回帰を リッジ回帰(ridge regression)と呼ぶ。具体的には、重回帰分析において、正則化項 を以下で定義する。

このようにすると重回帰分析における正則化付き平均二乗誤差は以下で与えられる。

このとき、正則化付き平均二乗誤差を最小化する重み行列を求めてみたい。 であるので、重回帰分析における解析解の導出を用いれば、

である。これを と等しくすると、

で与えられる。ここで、 は単位行列である。