統計科学同演習 第 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
© Copyright 2024 ExpyDoc