Aritalab:Lecture/Math/LR

From Metabolomics.JP
< Aritalab:Lecture | Math(Difference between revisions)
Jump to: navigation, search
m
(主成分分析)
Line 37: Line 37:
 
回帰分析でいうと、説明変数間に非常に相関が高いものがある場合です(共線性といいます)。
 
回帰分析でいうと、説明変数間に非常に相関が高いものがある場合です(共線性といいます)。
 
このとき、逆行列の計算も上手くいかず、 <b>b</b> の値がおかしい場合があります。
 
このとき、逆行列の計算も上手くいかず、 <b>b</b> の値がおかしい場合があります。
 
==主成分分析==
 
 
主成分分析は行列の特異値分解を利用した手法です。
 
:<b> X = U Δ V<sup>T</sup> = (U Δ) V<sup>T</sup></b>
 
Δは対角成分に特異値が並んだ行列です。
 
ここで、行列 <b>(U Δ)</b> をスコア、<b>V<sup>T</sup></b> をローディング(固有ベクトルに対応)と呼びます。
 
最も大きな固有値に対応する固有ベクトルを第一主成分といいます。第一主成分はスコア行列の第一列とローディング行列の第一行、第二主成分はスコア行列の第二列とローディング行列の第二行にあたります。
 
各主成分軸は元々の説明変数を線形結合して得られますが、各軸が直交するように設定されるため共線性の問題を回避できます。
 

Revision as of 10:36, 4 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

を満たすことになります。これを行列の形に書くと

\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}

これから逆行列を用いて b を表せば

b = (XTX)-1XTy

となります。重回帰の場合も同じ式になります(行列 X の列数が増えるだけ)。 与えられた y, x からこの式を計算するだけで自動的に b の値が求まるのです。

R による実習ページ

行列のランク落ち

線形代数における行列のランク落ちとは、線形独立な変数の数が次数より少ない状態を指します。 回帰分析でいうと、説明変数間に非常に相関が高いものがある場合です(共線性といいます)。 このとき、逆行列の計算も上手くいかず、 b の値がおかしい場合があります。

Personal tools
Namespaces

Variants
Actions
Navigation
metabolites
Toolbox