Åý·×²Ê³ØƱ±é½¬ Âè10²ó

統計科学同演習 第 10 回
清 智也 + TA’s
2014 年 6 月 20 日(金)
主成分分析
特異値分解
その他
お知らせ
6 月 20 日
1/13
個体空間と変量空間
I
どの空間での射影を考えているか.
I
データ行列 X の 2 つの見方:


x(1)T


X = (x1 , . . . , xp ) =  ... 
x(n)T
6 月 20 日
I
個体空間:x(1), . . . , x(n) がプロットされる空間 Rp .
I
個体空間の座標軸は変量に対応.
I
変量空間:x1 , . . . , xp がプロットされる空間 Rn .
I
変量空間の座標軸は個体に対応.
I
今日は個体空間に注目する.
2/13
主成分分析 (Principal Component Analysis; PCA)
主成分分析の概要
I 対象
I
I
I
I
目的
I
I
I
特異値分解 (singular value decomposition).
注意点
I
I
6 月 20 日
各点を区別しやすい方向に直交軸を取り直して(回転して)
眺める.
低次元に射影して可視化する.
手段
I
I
量的なデータ行列 X ∈ Rn×p .
例:n 人の学生,p 個の科目の成績.
例:n 人の野球選手,ホームラン数・打率・盗塁数など.
事前に中心化 (centering) を行う. → 黒板
変量間で単位が異なる場合は尺度の基準化 (scaling) が必要.
3/13
軸の回転
I
X の各行(個体空間の各点)を単位ベクトル v ∈ Rp に射影
したとき,n 点の座標は Xv で与えられる.
I
X の各行を 2 つの単位ベクトル v1 , v2 に射影したときの座
標は
X (v1 , v2 )
で与えられる.
I
6 月 20 日
同様に,直交行列 V = (v1 , . . . , vp ) に関する座標は XV と
なる.
4/13
特異値分解
I
n ≥ p とする(役割を入れ替えればこの仮定は不要).
I
任意の行列 X ∈ Rn×p に対して,ある列直交行列 U ∈ Rn×p ,
直交行列 V ∈ Rp×p が存在して
X = UDV T ,
D = diag(d1 , . . . , dp ),
d1 , . . . , dp ≥ 0
と書くことができる.
I
R だと関数 svd
性質
6 月 20 日
I
U の各列は正規直交.V の各列は正規直交基底.
I
rank(X ) = r ⇐⇒ r 個の di が正.
I
U を直交行列,D を長方形の対角行列という形で表すことも
多い.(U に列ベクトル,D に行ベクトルを付加すればよい)
5/13
証明
I
X T X は非負定値行列.
I
よって,次のようなスペクトル分解 (直交行列による対角化)
が可能である:
X T X = V ΛV T
I
Λ = diag(λ1 , . . . , λp ), λi ≥ 0
√
di = λi ,D = diag(d1 , . . . , dp ) とおく.
I
全ての di が正ならば,U = XVD −1 とおくことで
U T U = D −1 V T X T XVD −1 = D −1 ΛD −1 = D −1 D 2 D −1 = Ip
となる.これで X = UDV T が示された.
I
6 月 20 日
di = 0 となる i が存在するときは,対応する列を取り除いて
考え,後から列ベクトルを追加する(→ 詳細は演習).
6/13
主成分分析
I
前処理
I
I
I
中心化
中心化 + 基準化(変量間の尺度が異なる場合)
前処理された X に対して
X = UDV T
= d1 u1 v1T + d2 u2 v2T + · · · + dp up vpT
と特異値分解する.このとき,
I
I
I
6 月 20 日
d1 , u1 , v1 の組を第一主成分,d2 , u2 , v2 の組を第二主成分,· · ·
という.
d1 u1 を,第一主成分スコアという.他も同様.
v1 は,第一主成分における各変量の重みを表す(第一主成分
ベクトルということもある).他も同様.
7/13
寄与率
I
第 i 主成分の寄与率
di2
d12 + · · · + dp2
I
6 月 20 日
累積寄与率
d12 + · · · + di2
d12 + · · · + dp2
8/13
biplot
実演しながら説明.
6 月 20 日
9/13
prcomp
実演しながら説明.
6 月 20 日
10/13
いろいろな分解
主に実行列のみを考えている.
I
I
統計でよく使われるもの
分解
一般
スペクトル分解
特異値分解
○
コレスキー分解
QR 分解
○
○
対称
○
○
○
○
正方
○
○
○
対称
○
○
○
○
非負定値
○
○
○
○
その他のもの
分解
Jordan 標準形
Schur 標準形
LU 分解
Sylvester 標準形
などなど.
6 月 20 日
正方
一般
非負定値
○
○
○
○
参考文献:伊理正夫「一般線形代数」.
11/13
関数 sub, gsub の使い方
sub(pattern, replacement, x)
文字列ベクトル x の各成分に対し,最初に現れる pattern を
replacement に置き換える.gsub は,現れたパターンを全て置き
換える.
> a = c("hiyoshi", "honda")
> sub("h", "k", a)
[1] "kiyoshi" "konda"
> gsub("h", "k", a)
[1] "kiyoski" "konda"
> sub("hi", "o", a)
[1] "oyoshi" "honda"
I
6 月 20 日
検索には関数 grep が使われる.
12/13
お知らせ
6 月 20 日
13/13