Aritalab:Lecture/Math/LR
From Metabolomics.JP
< Aritalab:Lecture | Math(Difference between revisions)
(Created page with "==回帰分析== 回帰分析には 1 変量の単回帰 (univariate linear regression) と多変量の重回帰 (multivariate linear regression) があります。モデル...") |
|||
Line 1: | Line 1: | ||
==回帰分析== | ==回帰分析== | ||
− | 回帰分析には 1 変量の単回帰 (univariate linear regression) と多変量の重回帰 (multivariate linear regression) があります。モデルしたい変量を y (目的変量)、説明に使う変量を x 、係数を b | + | 回帰分析には 1 変量の単回帰 (univariate linear regression) と多変量の重回帰 (multivariate linear regression) があります。モデルしたい変量を y (目的変量)、説明に使う変量を x 、係数を b で表します( b<sub>0</sub> は定数項)。 |
;(重)回帰モデル : y = b<sub>0</sub> + x<sub>1</sub> b<sub>1</sub> + x<sub>2</sub> b<sub>2</sub> + ... + x<sub>n</sub> b<sub>n</sub> (つまり y を複数の変量 x<sub>1</sub>~x<sub>n</sub> の線形結合でモデルするやり方) | ;(重)回帰モデル : y = b<sub>0</sub> + x<sub>1</sub> b<sub>1</sub> + x<sub>2</sub> b<sub>2</sub> + ... + x<sub>n</sub> b<sub>n</sub> (つまり y を複数の変量 x<sub>1</sub>~x<sub>n</sub> の線形結合でモデルするやり方) | ||
− | + | 特に 1 変数の場合を単回帰モデルといいます。 | |
+ | |||
+ | ==最小二乗法== | ||
+ | ここでは最適パラメータを求める最小二乗法を単回帰を使って説明します。 | ||
: y<sub>1</sub> = b<sub>0</sub> + x<sub>1</sub> b<sub>1</sub> + r<sub>1</sub> | : y<sub>1</sub> = b<sub>0</sub> + x<sub>1</sub> b<sub>1</sub> + r<sub>1</sub> | ||
− | : y<sub>2</sub> = b<sub>0</sub> + x<sub>2</sub> b<sub>1</sub> + r<sub> | + | : y<sub>2</sub> = b<sub>0</sub> + x<sub>2</sub> b<sub>1</sub> + r<sub>2</sub> |
− | : y<sub> | + | : : : |
− | : | + | : y<sub>n</sub> = b<sub>0</sub> + x<sub>n</sub> b<sub>1</sub> + r<sub>n</sub> |
+ | |||
+ | というデータがあると仮定しましょう。y と x が与えられ、ここで決めたいのは最適な b<sub>0</sub>, b<sub>1</sub> の値です。r は残差 (residual) といって、y と b<sub>0</sub> + x<sub>1</sub>b<sub>1</sub> との差を表します。 | ||
+ | 最小二乗法とは残差の二乗和 S を最小化するアプローチです。 | ||
+ | : S = <big>Σ</big><sub>i</sub> f<sub>i</sub><sup>2</sup> | ||
+ | S の最小値を満たす b<sub>0</sub> と b<sub>1</sub> を求めるには、S を b<sub>0</sub> と b<sub>1</sub> のそれぞれで偏微分して 0 とおいた連立方程式を解けばOKです。つまり | ||
+ | |||
+ | : y<sub>1</sub> = b<sub>0</sub> + x<sub>1</sub> b<sub>1</sub> | ||
+ | : y<sub>2</sub> = b<sub>0</sub> + x<sub>2</sub> b<sub>1</sub> | ||
+ | : : : | ||
+ | : y<sub>n</sub> = b<sub>0</sub> + x<sub>n</sub> b<sub>1</sub> | ||
+ | |||
+ | を満たすことになります。これを行列の形に書くと | ||
+ | :<math>\mathbf{y = Xb} \quad \mathbf{y} = \begin{bmatrix} y_1\\ y_2\\ \vdots&\vdots\\ y_n \end{bmatrix}, \mathbf{X} = \begin{bmatrix} 1&x_1\\ 1&x_2\\ \vdots&\vdots\\ 1&x_n \end{bmatrix}, \mathbf{b} = \begin{bmatrix} b_0\\ b_1 \end{bmatrix}</math> | ||
+ | これから逆行列を用いて <b>b</b> を表せば | ||
+ | :<b>b = (X<sup>T</sup>X)<sup>-1</sup>X<sup>T</sup>y</b> | ||
+ | となります。重回帰の場合も同じ式になります(行列 <b>X</b> の列数が増えるだけ)。 | ||
+ | 与えられた y, x からこの式を計算するだけで自動的に b の値が求まるのです。 | ||
+ | |||
+ | |||
+ | ==ランク落ち== | ||
− | + | 線形代数における行列のランク落ちとは、線形独立な変数の数が次数より少ない状態を指します。 | |
+ | 回帰分析でいうと、説明変数間に非常に相関が高いものがある場合です。 | ||
+ | このとき、逆行列の計算が上手くいかないため、ソフトウェア等で自動的に求めると <b>b</b> の値がおかしくなります。 |
Revision as of 23:09, 3 June 2013
回帰分析
回帰分析には 1 変量の単回帰 (univariate linear regression) と多変量の重回帰 (multivariate linear regression) があります。モデルしたい変量を y (目的変量)、説明に使う変量を x 、係数を b で表します( b0 は定数項)。
- (重)回帰モデル
- y = b0 + x1 b1 + x2 b2 + ... + xn bn (つまり y を複数の変量 x1~xn の線形結合でモデルするやり方)
特に 1 変数の場合を単回帰モデルといいます。
最小二乗法
ここでは最適パラメータを求める最小二乗法を単回帰を使って説明します。
- y1 = b0 + x1 b1 + r1
- y2 = b0 + x2 b1 + r2
- : :
- yn = b0 + xn b1 + rn
というデータがあると仮定しましょう。y と x が与えられ、ここで決めたいのは最適な b0, b1 の値です。r は残差 (residual) といって、y と b0 + x1b1 との差を表します。 最小二乗法とは残差の二乗和 S を最小化するアプローチです。
- S = Σi fi2
S の最小値を満たす b0 と b1 を求めるには、S を b0 と b1 のそれぞれで偏微分して 0 とおいた連立方程式を解けばOKです。つまり
- y1 = b0 + x1 b1
- y2 = b0 + x2 b1
- : :
- yn = b0 + xn b1
を満たすことになります。これを行列の形に書くと
これから逆行列を用いて b を表せば
- b = (XTX)-1XTy
となります。重回帰の場合も同じ式になります(行列 X の列数が増えるだけ)。 与えられた y, x からこの式を計算するだけで自動的に b の値が求まるのです。
ランク落ち
線形代数における行列のランク落ちとは、線形独立な変数の数が次数より少ない状態を指します。 回帰分析でいうと、説明変数間に非常に相関が高いものがある場合です。 このとき、逆行列の計算が上手くいかないため、ソフトウェア等で自動的に求めると b の値がおかしくなります。