線形判別分析を理解する
線形判別分析
線形判別分析(LDA)は各クラスの説明変数の分布が正規分布に従っていること、また各クラスの共分散行列が等しいと仮定した特別な場合です。説明変数が複数ある場合は多変量正規分布になりますが、多変量正規分布の確率密度関数は
です。ここでは次元(説明変数の数が)で、説明変数の平均が(説明変数ごとに平均値があるためベクトル)では共分散行列です。
では線形判別分析によるクラス分類を考えます。各クラスの説明変数の分布が多変量正規分布に従っているとしたとき、クラスの多変量正規分布のパラメータをと書くことにします。では、分類のためクラスの事後確率を求めます。これはベイズの定理より以下のように求めます。
各項の解釈はこちらになります。
- : 事後確率。データが観測されたもとでのクラスが生じる確率。
- : 事前確率。クラスが生じる確率。
- : 尤度。。クラスが与えられたもとでデータが得られる確率密度。
- :周辺化された尤度。 。データが得られる確率。はクラス数(2クラスであれば2)。
この(2)式を使って各クラスの確率を比較してみます。今考えている問題は各クラスの確率です。そのため、クラス(ここではクラス)に依存しない項は意味を持たないため、無視することにします。分母のはデータが得られる確率であり、クラスに依存しないため無視します。比例記号を使って
と表します。つぎに対数を取りと書くことにします。
多変量正規分布の(1)式を代入し、変形していきます。
も各クラス共通に現れるので無視します。
線形判別分析は各クラスが共通の共分散行列を持つと仮定した場合の手法です。なので、とします。
こうするとも各クラス共通になるので無視します。
第2項を展開します。
ここで、はスカラなので、転置をとっても同じ結果になるので、
もクラス共通のため無視します。
この式を線形判別関数といいます。この式の計算結果が最大となるクラスに分類します。
線形判別関数のパラメータ
線形判別関数のパラメータですが、(4)式を眺めると入力データである以外の(, , )です。これらを訓練データを基に推定(学習)する必要があります。と言ってもとくに難しいことではなく、
で推定できます。
対数比による分類
特に2クラス分類のとき、事後確率の対数比から容易に分類が行なえます。
クラス1とクラス2を分類することを考えた場合、それらの事後確率の対数比は、
です。確率比の対数を取る理由ですが、それは確率比のパターンを分けて考えると理解できます。確率比は以下の3パターンです。
- 分子が大きいケース:
- 分母が大きいケース:
- 分子と分母が等しいケース:
それぞれのパターンについて対数を取ると以下になります。
確率が高い方のクラスに分類を行いますので、つまり符号によって分類が行えることになります。なお2クラスの確率が等しい場合は0になりますので、それが決定境界を表します。
上で求めた線形判別関数(4)式を使えば
となります。あとはこの結果の符号を見て判別が行なえます。なお補足になりますが、線形判別関数を求める際に、クラス共通のため無視してきた項というのは1行目が表しているように、引き算により消える運命にあります。
2次判別分析
2次判別分析(QDA)は、線形判別分析で仮定した「各クラスの共分散行列が等しい」を仮定しない場合です。よって、仮定をする前の(3)式である以下が2次判別関数です。
この場合、 が消えず、これはの2次関数であるため、決定境界が2次式となります。
線形判別分析による次元削減
線形判別分析は主成分分析のように次元削減という特徴も持っています。これは別の機会に記事にします。
参考
- 統計的学習の基礎
バイアスとバリアンスを理解する
よくバイアスがあると言うことがありますが、これが一体何を意味しているのかを説明するというのが今回の意図です。データをもとに母数を言い当てることを推定といいます。ちなみに母数とは、正規分布における平均値や分散などそのモデルが持っている特性値です。仮にデータが正規分布をもとに生成されるデータであるとすれば、平均値と分散がわかればそのデータ生成プロセスを解明できることになります。ただ、一般には大本の(母集団)の平均値や分散がわかるということはあまりなく、得られたデータからそれらを言い当てる(推定する)ということになります。当然、完璧に言い当てられるわけではありませんから「誤差」を評価する必要が出てくるわけです。ここで問題になるのがどういった推定量(推定した値)が良いのでしょうか。なるべく誤差が小さければよいというのは当たり前ですが、ちょっとあやふやそうです。というのも、推定量も確率変数なのでなんらかの分布になるのです。一方で母数は定数です。推定量は確率変数なので、期待値や分散が計算できます。よって、これらの統計量が推定量の良さを計るヒントになりそうです。
母数が定数で、推定量が確率変数であるというところを直感的にわかるよう示した図です。この場合、どちらの推定量の分布が良いと言えるでしょうか。はい右側です。推定量の分布の中心が母数に近いからです。分布の中心は期待値を使って数値的に表現できます。母数を、推定量をとしたとき、母数と推定量の期待値の差が小さければ良いので、
と書き、これをバイアスと言います。なので、バイアスとは真の値との平均的なズレのことです。このバイアスが0であるような場合、つまり
のとき、推定量の分布の中心と母数が一致していますので、いわゆる偏りがありません。偏りが無いので不偏性を持つと言います。また、不偏性を持つ推定量を不偏推定量と言います。不偏であるとは推定量が平均的に母数の周りに分布していることを意味します。不偏性を持てばすべてハッピーかと言えばそうでもありません。推定量の散らばりが大きすぎればダメです。ということで、散らばりを評価するため推定量の分散も必要になります。これは分散の定義どおりに、
になります。これを分散、または英語のバリアンスと言います。これら2つを推定量の良さを計る指標をすれば良いことになります。が、できれば1つの式にまとめたいところではあります。ちょっとだけ見方を変えて、推定量と母数の差を評価することを考えてみます(念のためですが、バイアスは推定量の期待値と母数の差を評価していますので違います。)。これはいわゆる誤差の評価になりますので、評価方法はいろいろとあると思いますが、ここでは平均2乗誤差(MSE)を用います。MSEは真の値と予測値の差の2乗の平均値です。推定量は確率変数なので期待値という表現を使うと、
になります。この式を変形してみます。
2行目から3行目については、母数は定数なので期待値の外に出せます。ここで(3)式は分散の公式を使うと以下のように変形できますので、
よって、(5)式は(1)式と(6)式を用いると、
となります。MSEはバイアスとバリアンスの足し算の式で書けることがわかります。なお、不偏推定量であればバイアスが0になりますので、MSEは分散と一致します。
参考
- 現代数理統計学の基礎
ロジスティック回帰をはじめから
ロジスティック回帰について
ロジスティック回帰は機械学習の分類問題において、おそらく基本的な手法に位置するものであると思います。この手法は線形回帰モデルをその目的変数について、カテゴリカルな量に対応できるよう拡張させたものと考えることができます。カテゴリカルな量としてはたとえば、合格と不合格、生と死などそれらが連続的ではないものを指します。たとえば、合格と不合格かを判定するロジックを考えてみます。直感的には、それを説明する変数(たとえば勉強時間や難易度など)を考慮して合格する確率はxx%だというようにすると良さそうです。予測した確率に対してしきい値を設定して、たとえば50%とすればそれを境に合格と不合格を判定することができます。ということを考えると、目的変数としてはあるカテゴリになる確率を設定すれば良さそうです。つまり、ロジスティック回帰は確率の回帰を行うモデルです。しかしながら、線形回帰モデルで出力される値の範囲は-∞から∞です。一方で、確率は0から1です。そのため、線形結合した値について0から1の範囲に収まるように変換が必要になります。この変換にロジスティック分布を用いたものをロジスティック回帰モデル(ロジットモデル)と言います。
ロジスティック回帰モデルを導出する
予測の対象が合格か不合格かなど2値を取るような場合、確率モデルとしてベルヌーイ分布を考えることができます。たとえば合格する確率をとすれば、以下のように書けます。
一般化するために、合格をで表し、複数回分の結果があるとすれば、
となり、それぞれが独立であるとすれば、
と表現できます。合格する確率がのベルヌーイ分布に従います。では、勉強時間などの要因と考えられる説明変数とその回帰係数の線形結合の結果から確率を見たいとします。つまり、線形結合が増加するにつれて、このも増加するように線形結合の値を変換することを考えます。なお、線形結合の範囲は]ですが確率の範囲は]です。よって、変換するための関数の要件は以下になります。
- 線形結合が増加するにつれて、変換後の値も増加する(単調増加)
- ]を]にする
これには確率分布の累積分布関数(分布関数)が使えます。累積分布関数は単調増加関数であり、
という性質を持っています。この数式の意味するところは、をに持っていくと結果がに近づき、をに持っていくと結果がに近づくということです。この性質は要件にピッタリです。この性質は要件にピッタリです。ただし、どんな確率分布の分布関数でも良いわけではなく、たとえば正規分布のように確率変数の範囲が]である必要はあります。下図は標準正規分布の確率密度関数(左)と分布関数(右)です。
分布関数をとして表現すると、
となります。線形結合を分布関数を用いて確率に変換しているという意味です。この分布関数に、標準正規分布の分布関数である
を用いたモデルをプロビットモデルと言います。しかし、このモデルは分布関数に積分があるのでちょっと抵抗があります。分布関数に積分が無いものが扱いやすいですが、そのような確率分布はあるのでしょうか?それがロジスティック分布です。(標準)ロジスティック分布の分布関数はこちらです。
こちらは標準正規分布と違って積分が無いので扱いやすいです。分母と分子にを掛けると、
と変形ができ、(1)式と統合すると、
となります。これがロジスティック回帰モデル(ロジットモデル)です。
ロジスティック回帰モデルの数式を考察する
次にロジスティック回帰モデルの(3)式について、線形結合の形にしてみます。これはロジスティック分布の分布関数の逆関数で下式になります。
左辺を対数オッズ(またはロジット)と言います。オッズは
で表され、ある事象が発生する確率を発生しない確率で割った値です。なので、
- odds > 1 : 発生する確率のほうが大きい
- odds < 1 : 発生しない確率のほうが大きい
- odds = 1 : 発生する確率としない確率が等しい
です。対数を取る理由は発生する確率が大きくなる(が大きくなる)と非常に大きな値になるから、そのスケールを抑えるためです。対数オッズを計算することはロジット変換と呼ぶこともあります。
これは確率(])を]の範囲のデータに変換することを意味します。ロジット変換は確率や比率に対する特徴量エンジニアリングとしても使うことができ、これによって線形回帰モデルを推定することも可能になります。
話をロジスティック回帰モデルに戻すと、(4)式からロジスティック回帰モデルは対数オッズの形で表されるモデルであるということがわかります。
ロジスティック回帰モデルの解釈
たとえば、勉強時間から合格する確率を説明(予測)するとして、ロジスティック回帰モデルを用いることにします。得られたデータから、勉強時間の回帰係数は以下のように推定されたものとします。
- 回帰係数:0.05
- 標準誤差:0.01
勉強時間の単位は1時間であるとします。このとき、勉強時間が増えた場合に合格確率はどう変化するかを考えてみます。線形回帰モデルのときはダイレクトに回帰係数の値を解釈すればよかったですが、ロジスティック回帰モデルでは変換が行われているため、そう単純でもなさそうです。そのために、まず(4)式を変形しますが、左辺のを外すため両辺に指数を取ります。
これは上の話で出てきたオッズの形です。ベクトルの1要因(変数)に着目するので、
ここでは切片項です。が1単位増えた場合とそうでない場合を比較したいので、それらの比を取ります。
これはオッズの比を取っているので、オッズ比と言います。さて、この式が意味するところは、が1単位増えたときのオッズは倍になるということです。仮に1単位増えたときに変化がないとした場合(これは回帰係数が0の場合)は分子と分母が同じになり、1になります。また、回帰係数が負の場合はオッズ比は1より小さくなります。これらの関係をまとめると以下のようになります。
- オッズ比 > 1 : 可能性の増加(回帰係数が正)
- オッズ比 < 1 : 可能性の減少(回帰係数が負)
- オッズ比 = 1 : 変化なし(回帰係数が0)
実際に値を入れてみると理解できると思いますので、先の勉強時間と合格の例で計算してみます。
よって、1時間勉強時間を増やすと合格する確率は5.1%上昇するという解釈になります。標準誤差を用いれば95%信頼区間も構成できて、
となるので、およそ3〜7%の上昇であると見積もれます。
回帰係数の推定
ロジスティック回帰モデルの回帰係数は最尤推定を用いて推定するのが一般的です。をラベルとして、のときの確率をとすればのときの確率はと書けます。尤度関数は確率の積になりますので、
これはベルヌーイ分布の尤度関数です。なお、はロジスティック回帰モデル(3)式であることに注意してください。これに対数を取った対数尤度関数は
となります。この対数尤度が最大となるが解になりますので、で偏微分して0として解きます。しかしながら、これは解析的に解くことはできず数値的に求める必要があります。その手法としてニュートン・ラフソンアルゴリズムがありますが、今回の説明はここまでといたします。
参考
- 現代数理統計学の基礎
- 統計的学習の基礎
リッジ回帰の考察(主成分分析との関係)
リッジ回帰の考察
こちらの回で求めた最小二乗法とリッジ回帰の解は以下のようになりました。
2つの違いは逆行列を求める際に、対角成分にを足し合わせる点です。は罰則項の強さを調整するハイパーパラメータです。これが一体何を意味しているか式変形を行って解明していこうと思います。今回は特異値分解を使用しますので、参考に特異値分解の記事をリンクしておきます。
まず、を以下のように特異値分解します。
ここでとは、となるような行列です。は特異値を持つ対角行列です。(1)式の最小二乗回帰の解について、
これを特異値分解の式(2)を使って、
一方リッジ回帰は、
なお、なので、です。
最小二乗回帰とリッジ回帰との違いはの部分です。この分だけが縮小されます。ハイパーパラメータであるの値を大きくするか、の値が小さくなるとより強く縮小されることを示しています。は特異値の各成分の2乗値ですが、これは一体何を意味しているのでしょうか。
リッジ回帰と主成分分析の関係
実はリッジ回帰は主成分分析と関係があります。主成分分析は標本共分散行列を固有値分解して求めますが、標本共分散行列は下式で求めます。
ただし、は中心化(平均値で引かれている)されているとします。これを特異値分解の式(2)を使って変形すると、
となります。は直交行列であり、は対角行列です。つまりこの式は(を無視すれば)の固有値分解の形になっています。なのでの列ベクトルは固有ベクトルであり、の各値は固有値です。各固有ベクトルはの主成分方向を表しています。たとえば1列目の固有ベクトルとの内積
を第1主成分と言います。第1主成分は他の主成分と比較して、最も大きい標本分散を持っています。つまりは分散の方向を表しています。そして分散の大きさは固有値で表されています。固有値はなので、第1主成分の分散は、
となります。ここで(4)式の話に戻します。問題はが何であるのかということでした。これは(6)式が示しているように分散です。そしてリッジ回帰ではが小さい変数についてより強く縮小するという話でした。が小さいとはつまり、主成分方向にデータを射影したときの分散が小さくなることです。したがいまして、リッジ回帰は小さい分散方向の成分を持つ変数の係数をより強く縮小させることがわかります。
参考
- 現代数理統計学の基礎
- 統計的学習の基礎
固有値分解と特異値分解の説明
固有値分解と特異値分解は統計学や機械学習において頻繁に登場する手法です。とくに、主成分分析やリッジ回帰をより深く理解する上で大いに役立ちます。
固有値分解(Eigenvalue Decompositions)
一言でいうと、与えられた行列を直交するベクトルとその大きさに分解することです。
では数式で説明してみます。固有値分解とはという次元がの正方行列があったとき、下式のように分解することです。
ここでは直交行列、は対角行列です。直交行列とは、
となるような行列です。ここでは単位行列です。自身の内積が単位行列になるとはの各ベクトル(基底)が直交しているということです。たとえばを
というような行列としたときに、自身の内積は
となり、これが単位行列になるので、
これを各成分ごとに書くと、
となります。ところで、行列をベクトルを使って表すと以下になります。
列成分をベクトルと置きました。さて(2)式と(3)式を見比べてみます。(2)式の各式は何を意味しているでしょうか。(2)式の1行目はベクトル[tex:\textbf{p}1, \textbf{p}2]の内積が0であると言っています。
内積が0であるとは2つのベクトルが直交していることを意味しています。これが直交行列という名前が付いている理由になります。また、(2)式の2行目と3行目はそれぞれベクトル[tex:\textbf{p}1, \textbf{p}2]の大きさが1であると言っています。つまり単位ベクトルです。これらのベクトルを固有ベクトルと言います。
直交行列を統計学や機械学習で見ると、列ベクトルは変数(特徴量)に該当しますので、各変数が無相関であるような行列です。
話を固有値分解に戻します。対角行列であるは、対角成分以外が0である行列で、以下のような形状です。
このを固有値と言います。固有ベクトルが方向を示していたのに対して、こちらはその大きさを表現しています。なぜ大きさであるのかは固有値分解の式である(1)を展開するとわかります。簡単のためにをの行列とします。
行列は直交行列の列ベクトル(固有ベクトル)に対角行列の成分(固有値)をかけ合わせ、それらを固有ベクトルの分だけ足し合わせた形に分解できることを意味しています。固有ベクトルは大きさが1で方向のみを表しており、固有値はその方向の大きさを表していることがわかります。また、繰り返しになりますが、各固有ベクトルは直交しているため足し算の形に書き表すことができるわけです。
特異値分解(Singular Value Decompositions ; SVD)
固有値分解は正方行列であるという制限がありますが、一般的には特徴量の数よりデータの数のほうが多いと考えられます(行列が横より縦のほうが長い)。そこで特異値分解です。特異値分解は、ランクが、次元がの行列を下式のように分解することです。
ここで各行列は以下のような性質をを持ったものです。
- : 次元は, 対角行列である
- : 次元は, となるような行列
- : 次元は, となるような行列
なお、はの大文字です。
は以下のように固有値の時と同じ形になっており、各値を特異値と言います。
固有値分解の時はが直交行列であるという性質を持っていましたが、特異値分解では正方行列から一般の行列に拡張を行ったためその性質は失われています。しかしながら、特異値分解対象であるにフルランクであるという制約を設けることで一部その性質を得ることができます。フルランクであるとはランクと列数が同じ()ということです。その制約により、(4)式自体には変化はありませんが、各行列は以下の性質のように変化します。
- : 形状は, 対角行列である
- : 形状は, となるような行列
- : 形状は, となるような直交行列
参考
- 現代数理統計学の基礎
リッジ回帰の数式を導出する
最小二乗法による線形回帰モデル
リッジ回帰を説明する上で最小二乗法による線形回帰モデルの推定方法の理解が必要になりますので、まずこちらから説明します。
説明変数が2以上の線形回帰モデル(重回帰モデル)は以下で表されます。
ここでは目的変数、は説明変数、は切片項を含む回帰係数(偏回帰係数)、は誤差項です。 これの回帰係数を推定する方法として最小二乗法があります。これは観測値とモデルによる予測値の差の二乗がについて最小になるようなを見つける方法です。観測値と予測値の差の二乗を数式で書くと、
この式をベクトルと行列を用いて書き直すと、
となります。なお、1行目から2行目の式変形はベクトルの2乗は自身の内積になるのでという関係を用いています。この観測値と予測値の差の二乗を残差平方和(RSS)と呼びます。ではこのRSSがについて最小となるようにするので、で偏微分してと置きます。ベクトルで微分しているので、0ベクトルとなることに注意してください。
式変形をしてについて解きます。
イコールの形にするためにはの逆行列を両辺の左からかける必要があります。逆行列はすべての行列において計算できるわけではなく、行列がフルランクである必要があります。がフルランクであるとは、言い換えると説明変数同士で完全相関(相関係数が1)している組が無いということです。なお、フルランクでない行列の場合、特異と呼びます。よって、ここではフルランクであることを仮定します。
これが最小二乗法を用いた場合の回帰係数(偏回帰係数)の推定量になります。
最小二乗法とバイアスについて
上の最小二乗法で求めた回帰係数は不偏推定量といって、バイアス(偏り)がありません。これは回帰係数の期待値(平均)が母数(真の値)に一致することを意味しています。しかしながら、回帰係数の選び方は無数にあるため、バイアスはあるもののもっと誤差を減らせる(精度を上げられる)ような回帰係数の選び方もあるかもしれません。そこで、バイアスを増やすことによってこれを実現することを考えます。変数選択もその一つであり、今回取り上げるリッジ回帰やラッソ回帰などの縮小推定があります。縮小推定では推定する回帰係数について制限を設けて縮小または0にする手法です。いずれにしても、縮小推定を用いて推定した回帰係数はバイアスを持つ可能性があるため、解釈には注意が必要になると考えられます。
# 最小二乗法による線形回帰をリッジ回帰に拡張する
最小二乗法による線形回帰は下式で表される残差平方和(RSS)を最小とするようなを求めることでした。
リッジ回帰を含む縮小推定では回帰係数に制限を制限を設けると上で書きました。縮小推定という名前が示しているように回帰係数が小さくなるようにします。残差平方和を最小とするというアプローチは変わりませんが、回帰係数を小さくしたいので回帰係数の大きさに応じてペナルティを課すようにします。具体的には、上の残差平方和の式に回帰係数の大きさを足し合わせます。単純に回帰係数を足し合わせないのは回帰係数はマイナスになることもあり得るからです。大きさという表現は数学的には様々な表現方法がありますが、回帰係数はベクトルであるためノルムになり、絶対値を取る方法(L1ノルム)、2乗する方法(L2ノルム)などがあります。前者を用いるとラッソ回帰に、後者だとリッジ回帰になります。
回帰係数の大きさを表す式を罰則項と呼ぶことにします。は切片項に該当しますが、これはの原点であり今回の関心から外れるものであり、罰則項には含めません。また、説明変数を中心化することで切片の推定量は単純にになります。これは切片の推定量が
から求めることができるので、説明変数が中心化されていることは説明変数の平均値が0になり、第2項が0になることからわかります。
以降では説明変数が中心化されていることを前提とします。つまり説明変数の次元が(個のデータと個の説明変数)です。罰則項を以下のように表現します。
ここでは罰則項の強さを調整するハイパーパラメータです。ではこの項を残差平方和に足し合わせます。
最小二乗法のときと同様にベクトルと行列を用いて書き換えます。
これを最小化するので偏微分してとおきます。
について解きます。
はの単位行列です。最小二乗法の時と同様に逆行列を用いてイコールの形にしますが、今回のリッジ回帰ではつまりが対角成分に足されています。これによって、必ずフルランクになりますので逆行列を持ちます。(個人的な感想ですが、これを始めて見たときにとても感動しました。)よって、
これがリッジ回帰における回帰係数の推定量です。最小二乗法のものと比べてみます。
その違いはがに足されていることだけです。ハイパーパラメータがであれば最小二乗法の式と等価に、で回帰係数がに縮小されます。
この数式が一体何を意味するのかは次回考察します。
参考
- 現代数理統計学の基礎
- 統計的学習の基礎
線形単回帰モデルを数式で理解する
線形単回帰モデル
線形単回帰(Simple linear regression)モデルは1つの入力(変数)を用いて予測をするものであり、回帰モデルの中でも最もシンプルなものです。シンプルであるがゆえに入力と出力との関係を解釈しやすいモデルです。また、特に訓練データの数が少ない場合においては、非線形モデルよりも良い性能を発揮することもあります。そのため、回帰モデルにおいて基礎となるモデルと考えられますので、その仕組みについて把握しておくこと、また使いこなせることは非常に重要であると考えております。
今回はこの線形単回帰モデルを数式を用いて解説を行っていこうと思います。
線形単回帰モデルの概観
入力を、出力をとしたときに、この2つの変数の間に直線で表せるような関係性があるとします。たとえば以下の図のような関係です。
これは直線の関係性があるといって良いと考えられますので、線形単回帰モデルを用いることででを予測することが可能になります。ここで、直線を引くよりも、たとえば各点を結ぶジグサグの線を引くほうがより良い性能のモデルになるのではないのかという考えもあるかもしれません。しかしながら、それは間違いになります。機械学習においてはいわゆる過学習というものになり、それは交差検証を行うことで間違いであることがわかります。そして、間違いである理由は線形単回帰モデルはいわゆる統計モデルの一種になりますが、観測されるデータにはランダムの誤差が含まれているからです。つまり統計モデルで考えた場合、以下のような関数からデータは生成されたと考えます。
今回は、このを線形単回帰モデルで推定することにします。これはつまりには誤差が足されているというわけですから、線形単回帰モデルによって推定された直線上にすべてのデータが乗ることはありえないわけで、直線付近にデータが散らばるのが適切なのです。この誤差は予測な不可能な変数(確率変数)です。もう少し正確に言うと、モデルで予測をしたときに、予測しきれない部分を誤差としているということになります。 さて、線形単回帰モデルは1変数の直線ですので、
という中学校で習った1次関数を用います。が傾きでが切片でした。ただ、線形単回帰モデルでは式が少しだけ異なっていて、こちらは誤差項を考慮しなければなりません。したがいまして、下式のようになります。
また、線形単回帰モデルでは一般的にやではなく、とを用います。くわえて、全部で個のデータ(のとき、のとき、...、のとき)が観測されたとすると、線形単回帰モデルの数式は
と表されます。それぞれの文字には以下のように名前がついています。
- : 応答変数(目的変数, 従属変数)(response variable)
- : 説明変数(独立変数)(explanatory variable)
- : 切片項(intercept term)
- : 回帰係数(regression coefficient)
- : 誤差項(error term)
線形単回帰モデルの仮定
意外と知られていないかもしれないのですが、この線形単回帰モデルには以下の仮定が置かれています。
- 説明変数は確率変数ではなく、定数である
- 誤差項の期待値は0である()
- 誤差項同士は無相関である()(つまり自己相関は0である)
- 誤差項の分散は均一である()
1は目的変数ののみを確率変数として扱うということ、3は時系列性を持ってしまっているということです。これは線形単回帰モデルが時系列データを扱えないというわけはなく、誤差項に時系列性を持たせないように説明変数を選択すれば可能になります。 これらの仮定から外れたデータに対して線形単回帰モデルを適用したときに、どのようなことが起こるのかは今度実験的に解説したいと思います。
回帰係数を求める方法(回帰係数の推定)
さて、得られたデータをこのモデルに当てはめるにはどうすればいいかを考えてみます。これはつまり、線形単回帰モデルのパラメータであるとを得られたデータから求めることになります。機械学習で言えば訓練(学習)です。誤差項の無い1次関数であれば2点(2データ)あれば、連列方程式を用いて切片と傾きを計算できました。しかし誤差項がある線形単回帰モデルではそう単純な話でもありません。まずは下の2つの直線を見比べてみてください。
これは3データに対して線形単回帰モデルを適用したものとお考えください。どちらの方がより適切と言えるでしょうか。直感的には右側の方が良さそうです。良さそうでは評価が曖昧ですので、その理由を定量的に評価できるように数式化してみましょう。
数式化するにあたって、まずなぜ直感的に右側の方が良さそうなのかを考えてみます。それは各観測データがモデルの直線に近いからであると思います。それを図示してみます。
緑色の丸が観測データ、青色の直線がモデル、赤色の矢印がモデルと観測データとの誤差を表しています。こう考えると、直線を引く上で(モデルを推定する上で)大事なことは誤差をなるべく小さくすることだとわかります。誤差は「観測値」と「モデルによる予測値」の差分なので数式で表すと、
ここで注意しなければならないのが、観測値が直線の上にあるか下にあるかで誤差の符号が変わってしまうので、絶対値を取るか2乗してプラスに統一する必要があります。ここでは、後の計算が楽になるので2乗することにします。すべての観測値の分だけ誤差を2乗し、それらを足し合わせます。
これを最小化するようなとを求めれば良いことになります。このアプローチを最小二乗法と呼びます。をとについて最小化するので、それぞれについて偏微分して0とおいた連立方程式を解けば求まります。
最小二乗法の計算
実際にとを求めてみます。もっと効率が良い方法があるとは思うのですが、愚直に計算していってみます。
この関数をとについて偏微分します。
イコール0と置きます。
式を変形してとを求めていきます。
を外します()。
はデータ数なのでゼロはありえないため()、で割ります。
ここでとの平均値は以下のように計算ができるので、
、を用いると、
したがいまして、の推定量は
ここではの推定量です。ではを求めていきます。(3)式に(4)式を代入します。
でくくります。添字が付いていない文字はが外に出ます。
だいぶそれらしくなってきました。続いて分子と分母をそれぞれ変形します(天下り式ではありますが・・・)。まず分母です。
なお、2行目から3行目への変形は平均値の式である(2)式を用いています。次は分子です。
したがいまして、(5)式は、
とてもキレイになりました!さらに、以下の記号を用意します。
すると、の推定量は
という形になります。の推定量と並べて書いてみます。
推定量の考察
求めた推定量の数式について少し考えてみます。 まずです。
の推定量が含まれているため切片の値はに依存していますが、の平均値がかけられています。説明変数であるを中心化もしくは標準化するととなるため切片はつまり目的変数の平均値です。さらにを中心化もしくは標準化すると回帰の直線は原点を通ります。
つづいてです。こちらは、分母がの分散、分子がとの共分散になっています。共分散は2変数の連動性を表しているもので、データが標準化されている場合は相関係数と一致します。よってととで無関係(無相関)であれば分子が0になりますので、回帰係数つまり直線の傾きは0になります。
参考
現代数理統計学の基礎