More Related Content
More from anonymousouj (9)
C05
- 11. y3
y1
y2
z1
z2
主成分分析の導出
中心化(または、標準化)
z1 = a11y1 + a12y2 + · · · + a1ryr
z2 = a21y1 + a22y2 + · · · + a2ryr
.
.
. · · ·
zm = am1y1 + am2y2 + · · · + amryr
(x1, x2, · · · xr)
(y1, y2, · · · yr)
!
x
(1)
1 , x
(1)
2 , · · · x(1)
r
"
, · · · ,
!
x
(N)
1 , x
(N)
2 , · · · x(N)
r
"
!
y
(1)
1 , y
(1)
2 , · · · y(1)
r
"
, · · · ,
!
y
(N)
1 , y
(N)
2 , · · · y(N)
r
"
- 12. y3
y1
y2
z1
z2
主成分分析の導出
z1
z2
.
.
.
zm
=
a11 · · · · · · a1r
...
...
am1 · · · · · · amr
y1
y2
.
.
.
.
.
.
yr
中心化(または、標準化)
(x1, x2, · · · xr)
(y1, y2, · · · yr)
!
x
(1)
1 , x
(1)
2 , · · · x(1)
r
"
, · · · ,
!
x
(N)
1 , x
(N)
2 , · · · x(N)
r
"
!
y
(1)
1 , y
(1)
2 , · · · y(1)
r
"
, · · · ,
!
y
(N)
1 , y
(N)
2 , · · · y(N)
r
"
- 21. d
2
N
1
d
d
y
y
1
2
y(N)
y(2)
y(1)
主成分分析の導出(2)
(d(p)
)2
= (a1y
(p)
1 + a2y
(p)
2 )2
U(a1, a2) = s11a2
1 + 2s12a1a2 + s22a2
2
N
(または N - 1 )で割る
(d(1)
)2
= a2
1(y
(1)
1 )2
+ a2
2(y
(1)
2 )2
+ 2a1a2(y
(1)
1 y
(1)
2 )
(d(2)
)2
= a2
1(y
(2)
1 )2
+ a2
2(y
(2)
2 )2
+ 2a1a2(y
(2)
1 y
(2)
2 )
(d(N)
)2
= a2
1(y
(N)
1 )2
+ a2
2(y
(N)
2 )2
+ 2a1a2(y
(N)
1 y
(N)
2 )
+
中心化した場合
- 23. ラグランジュの未定乗数法
a2
1 + a2
2 = 1 という条件のもとで
U(a1, a2) が最大となるような
を求める
,
a1 a2
U(a1, a2) = s11a2
1 + 2s12a1a2 + s22a2
2
中⼼心化されたデータの場合
- 24. ラグランジュの未定乗数法
ラグランジュの未定乗数法
a2
1 + a2
2 = 1 という条件のもとで
U(a1, a2) が最大となるような
を求める
,
a1 a2
G(a1, a2, λ) = U(a1, a2) − λ(a2
1 + a2
2 − 1)
U(a1, a2) = s11a2
1 + 2s12a1a2 + s22a2
2
中⼼心化されたデータの場合
- 25. ラグランジュの未定乗数法
ラグランジュの未定乗数法
a2
1 + a2
2 = 1 という条件のもとで
U(a1, a2) が最大となるような
を求める
,
a1 a2
G(a1, a2, λ) = U(a1, a2) − λ(a2
1 + a2
2 − 1)
U(a1, a2) = s11a2
1 + 2s12a1a2 + s22a2
2
a1で偏微分
a2で偏微分
λ で偏微分
s11a1 + s12a2 − λa1 = 0
s12a1 + s22a2 − λa2 = 0
a2
1 + a2
2 = 1
中⼼心化されたデータの場合
- 26. ラグランジュの未定乗数法
ラグランジュの未定乗数法
a2
1 + a2
2 = 1 という条件のもとで
U(a1, a2) が最大となるような
を求める
,
a1 a2
G(a1, a2, λ) = U(a1, a2) − λ(a2
1 + a2
2 − 1)
U(a1, a2) = s11a2
1 + 2s12a1a2 + s22a2
2
a1で偏微分
a2で偏微分
λ で偏微分
s11a1 + s12a2 − λa1 = 0
s12a1 + s22a2 − λa2 = 0
a2
1 + a2
2 = 1
中⼼心化されたデータの場合
これをまとめると
!
s11 s12
s12 s22
" !
a1
a2
"
= λ
!
a1
a2
"
a2
1 + a2
2 = 1
- 27. ラグランジュの未定乗数法
これをまとめると
ラグランジュの未定乗数法
a2
1 + a2
2 = 1 という条件のもとで
U(a1, a2) が最大となるような
を求める
,
a1 a2
G(a1, a2, λ) = U(a1, a2) − λ(a2
1 + a2
2 − 1)
U(a1, a2) = s11a2
1 + 2s12a1a2 + s22a2
2
!
s11 s12
s12 s22
" !
a1
a2
"
= λ
!
a1
a2
"
a1で偏微分
a2で偏微分
λ で偏微分
s11a1 + s12a2 − λa1 = 0
s12a1 + s22a2 − λa2 = 0
a2
1 + a2
2 = 1
分散共分散行列の
固有値,固有ベクトルを求める
中⼼心化されたデータの場合
a2
1 + a2
2 = 1
- 28. ラグランジュの未定乗数法
これをまとめると
ラグランジュの未定乗数法
a2
1 + a2
2 = 1 という条件のもとで
U(a1, a2) が最大となるような
を求める
,
a1 a2
G(a1, a2, λ) = U(a1, a2) − λ(a2
1 + a2
2 − 1)
U(a1, a2) = s11a2
1 + 2s12a1a2 + s22a2
2
!
s11 s12
s12 s22
" !
a1
a2
"
= λ
!
a1
a2
"
a1で偏微分
a2で偏微分
λ で偏微分
s11a1 + s12a2 − λa1 = 0
s12a1 + s22a2 − λa2 = 0
a2
1 + a2
2 = 1
分散共分散行列の
固有値,固有ベクトルを求める
中⼼心化されたデータの場合
a2
1 + a2
2 = 1
- 29. ラグランジュの未定乗数法
U(a1, a2) = a2
1 + 2r12a1a2 + a2
2
a1 + r12a2 − λa1 = 0
r12a1 + a2 − λa2 = 0
a2
1 + a2
2 = 1
a1で偏微分
a2で偏微分
λ で偏微分
ラグランジュの未定乗数法
a2
1 + a2
2 = 1 という条件のもとで
U(a1, a2) が最大となるような
を求める
,
a1 a2
G(a1, a2, λ) = U(a1, a2) − λ(a2
1 + a2
2 − 1)
相関行列の
固有値,固有ベクトルを求める
標準化されたデータの場合
これをまとめると
a2
1 + a2
2 = 1
!
1 r12
r12 1
" !
a1
a2
"
= λ
!
a1
a2
"
- 30. 固有値と寄与率
中⼼心化後のデータの場合
標準化後のデータの場合
U(a∗
1, a∗
2) = a∗2
1 + a∗2
2 + 2r12a∗
1a∗
2
= a∗
1(a∗
1 + r12a∗
2) + a∗
2(r12a∗
1 + a∗
2)
= λ(a∗2
1 + a∗2
2 ) = λ
U(a∗
1, a∗
2) = s11a∗2
1 + s22a∗2
2 + 2s12a∗
1a∗
2
= a∗
1(s11a∗
1 + s12a∗
2) + a∗
2(s12a∗
1 + s22a∗
2)
= λ(a∗2
1 + a∗2
2 ) = λ
- 31. 固有値と寄与率
中⼼心化後のデータの場合
標準化後のデータの場合
U(a∗
1, a∗
2) = a∗2
1 + a∗2
2 + 2r12a∗
1a∗
2
= a∗
1(a∗
1 + r12a∗
2) + a∗
2(r12a∗
1 + a∗
2)
= λ(a∗2
1 + a∗2
2 ) = λ
U(a∗
1, a∗
2) = s11a∗2
1 + s22a∗2
2 + 2s12a∗
1a∗
2
= a∗
1(s11a∗
1 + s12a∗
2) + a∗
2(s12a∗
1 + s22a∗
2)
= λ(a∗2
1 + a∗2
2 ) = λ
・値の大きい固有値
から順に考える。
・値の大きい固有値に
対応した軸(主成分)
を順に
第1主成分、第2主成分
という。
・固有ベクトルが
互いに直交する。
- 32. 主成分分析の導出(寄与率,累積寄与率)
A =
s11 s12 · · · s1r
s21 s22 · · · s2r
.
.
.
.
.
.
...
.
.
.
sr1 sr2 · · · srr
λ1 ≥ λ2 ≥ · · · ≥ λr ≥ 0
寄与率
累積寄与率
λi
λ1 + λ2 + · · · + λr
=
λi
r
!
k=1
λk
λ1 + · · · + λi
λ1 + λ2 + · · · + λr
=
i
!
j=1
λj
r
!
k=1
λk
⼀一般(r 次元)
中⼼心化後のデータの場合
Aai = λiai ai =
ai1
ai2
.
.
.
air
,
分散共分散⾏行列の固有値・固有ベクトル
- 33. 主成分分析の導出(寄与率,累積寄与率)
⼀一般(r 次元)
標準化後のデータの場合
λ1 ≥ λ2 ≥ · · · ≥ λr ≥ 0
Aai = λiai ai =
ai1
ai2
.
.
.
air
,
A =
1 r12 · · · r1r
r21 1 · · · r2r
.
.
.
.
.
.
...
.
.
.
rr1 rr2 · · · 1rr
寄与率
累積寄与率
相関⾏行列の固有値・固有ベクトル
λi
λ1 + λ2 + · · · + λr
=
λi
r
!
k=1
λk
λ1 + · · · + λi
λ1 + λ2 + · · · + λr
=
i
!
j=1
λj
r
!
k=1
λk
- 34. 主成分分析のまとめ
累積寄与率
⼀一般(r 次元)
中⼼心化後のデータの場合
Aai = λiai ai =
ai1
ai2
.
.
.
air
,
z1 = a11y1 + a12y2 + · · · + a1ryr
z2 = a21y1 + a22y2 + · · · + a2ryr
.
.
. · · ·
zm = am1y1 + am2y2 + · · · + amryr
m 個の固有値・固有ベクトルを計算し
を求める。
A =
s11 s12 · · · s1r
s21 s22 · · · s2r
.
.
.
.
.
.
...
.
.
.
sr1 sr2 · · · srr
λ1 + · · · + λm
λ1 + λ2 + · · · + λr
=
m
!
j=1
λj
r
!
k=1
λk
- 35. 主成分分析のまとめ
累積寄与率
⼀一般(r 次元)
標準化後のデータの場合
Aai = λiai ai =
ai1
ai2
.
.
.
air
,
z1 = a11y1 + a12y2 + · · · + a1ryr
z2 = a21y1 + a22y2 + · · · + a2ryr
.
.
. · · ·
zm = am1y1 + am2y2 + · · · + amryr
m 個の固有値・固有ベクトルを計算し
を求める。
A =
1 r12 · · · r1r
r21 1 · · · r2r
.
.
.
.
.
.
...
.
.
.
rr1 rr2 · · · 1rr
λ1 + · · · + λm
λ1 + λ2 + · · · + λr
=
m
!
j=1
λj
r
!
k=1
λk
- 37. Rによる主成分分析の計算
> w1 <- read.table ( w0.dat ,header=TRUE, row.names=1)
> w2 <- prcomp(w1,center=TRUE, scale=TRUE)
> summary(w2)
>plot(w2$x,type= n )
>text(w2$x,rownames(w2$x))
R
- 38. データについて
体格データ
標準化後
R
name height weight
A1 147.3 52.3
A2 149.9 53.2
A3 152.4 54.5
A4 154.9 55.9
A5 157.5 57.3
A6 160.0 58.6
A7 162.6 60.0
A8 165.1 61.4
A9 167.6 63.2
A10 170.2 64.5
A11 172.7 66.4
A12 175.3 68.2
A13 177.8 70.0
A14 180.3 72.3
A15 182.9 74.5
name height weight
A01 -1.5652476 -1.4022687
A02 -1.3416408 -1.2732255
A03 -1.1180340 -1.0796608
A04 -0.8944272 -0.8860962
A05 -0.6708204 -0.6925315
A06 -0.4472136 -0.4989668
A07 -0.2236068 -0.3054021
A08 0.0000000 -0.1118374
A09 0.2236068 0.1462489
A10 0.4472136 0.3398136
A11 0.6708204 0.5978998
A12 0.8944272 0.8559861
A13 1.1180340 1.1140723
A14 1.3416408 1.4366802
A15 1.5652476 1.7592880
- 39. Rによる主成分分析の計算
> w1 <- read.table( w0.dat ,header=TRUE, row.names=1)
> w2 <- prcomp(w1,center=TRUE, scale=TRUE)
> summary(w2)
>plot(w2$x,type= n )
>text(w2$x,rownames(w2$x))
R
- 40. Rによる主成分分析の計算
> w1 <- read.table( w0.dat ,header=TRUE, row.names=1)
> w2 <- prcomp(w1,center=TRUE, scale=TRUE)
> summary(w2)
>plot(w2$x,type= n )
>text(w2$x,rownames(w2$x))
R
- 43. 補⾜足1 r次元(中心化後)の場合
U(a∗
1, a∗
2, · · · , a∗
r) = s11a∗2
1 + s22a∗2
2 + · · · + srra∗2
r
+2(s12a∗
1a∗
2 + s13a∗
1a∗
3 + · · · + sr−1ra∗
r−1a∗
r)
= s11a∗2
1 + s22a∗2
2 + · · · + srra∗2
r
+( s12a∗
1a∗
2 + s13a∗
1a∗
3 + · · · + s1r−1a∗
r−1a∗
r−1 + s1ra∗
ra∗
r)
+(s21a∗
2a∗
1 + s23a∗
2a∗
3 + · · · + s2r−1a∗
2a∗
r−1 + s2ra∗
2a∗
r)
+(sr1a∗
ra∗
1 + sr2a∗
ra∗
2 + sr3a∗
ra∗
3 + · · · + sr−1ra∗
ra∗
r−1 )
= a∗
1(s11a∗
1 + s12a∗
1 + · · · + s1ra∗
r)
+a∗
2(s21a∗
1 + s22a∗
2 + · · · + s2ra∗
r)
· · ·
+a∗
r(sr1a∗
1 + sr2a∗
2 + · · · + srra∗
r)
= λ(a∗2
1 + a∗2
2 + · · · + a∗2
r ) = λ
r(r - 1)個
r個