数理統計学における主成分分析(PCA)
📂数理統計学 数理統計学における主成分分析(PCA) 概要 主成分分析 は、回帰分析 で多重共線性 を避けることやデータ を要約するなど、統計学 で多くの使い道があり、機械学習 でも次元削減 という重要な意味を持つ。この投稿では、実践的な使用法 よりも、主成分を求める理論的な基盤について説明する。
定義 主成分分析 ランダムベクトル X = ( X 1 , ⋯ , X p ) \mathbf{X} = \left( X_{1} , \cdots , X_{p} \right) X = ( X 1 , ⋯ , X p ) が与えられているとする。確率変数 X 1 , ⋯ , X p X_{1} , \cdots , X_{p} X 1 , ⋯ , X p の線形結合
a k T X = a k 1 X 1 + ⋯ + a k p X p = ∑ l = 1 p a k l X l
\mathbf{a}_{k}^{T} \mathbf{X} = a_{k1} X_{1} + \cdots + a_{kp} X_{p} = \sum_{l = 1}^{p} a_{kl} X_{l}
a k T X = a k 1 X 1 + ⋯ + a k p X p = l = 1 ∑ p a k l X l
について考える。長さが1 1 1 の単位ベクトル をa k = ( a k 1 , ⋯ , a k p ) ∈ R p \mathbf{a}_{k} = \left( a_{k1} , \cdots , a_{kp} \right) \in \mathbb{R}^{p} a k = ( a k 1 , ⋯ , a k p ) ∈ R p のように表記すると、第一のa 1 T X \mathbf{a}_{1}^{T} \mathbf{X} a 1 T X の分散
Var ( a 1 T X )
\operatorname{Var} \left( \mathbf{a}_{1}^{T} \mathbf{X} \right)
Var ( a 1 T X )
を最大化し、Cov ( a 1 T X , a 2 T X ) = 0 \operatorname{Cov} \left( \mathbf{a}_{1}^{T} \mathbf{X} , \mathbf{a}_{2}^{T} \mathbf{X} \right) = 0 Cov ( a 1 T X , a 2 T X ) = 0 を満たしつつ、第二のa 2 T X \mathbf{a}_{2}^{T} \mathbf{X} a 2 T X の分散
Var ( a 2 T X )
\operatorname{Var} \left( \mathbf{a}_{2}^{T} \mathbf{X} \right)
Var ( a 2 T X )
を最大化し、すべてのl < k l < k l < k に対してCov ( a l T X , a k T X ) = 0 \operatorname{Cov} \left( \mathbf{a}_{l}^{T} \mathbf{X} , \mathbf{a}_{k}^{T} \mathbf{X} \right) = 0 Cov ( a l T X , a k T X ) = 0 を満たしつつ、k k k 番目のa i T X \mathbf{a}_{i}^{T} \mathbf{X} a i T X の分散
Var ( a k T X )
\operatorname{Var} \left( \mathbf{a}_{k}^{T} \mathbf{X} \right)
Var ( a k T X )
を最大化するベクトルa 1 , ⋯ , a p \mathbf{a}_{1} , \cdots , \mathbf{a}_{p} a 1 , ⋯ , a p らを見つけ、a 1 T X , ⋯ , a p T X a_{1}^{T} \mathbf{X} , \cdots , a_{p}^{T} \mathbf{X} a 1 T X , ⋯ , a p T X らによってデータ を分析することを 主成分分析 principal Component Analysis, PCA という。
主成分 X \mathbf{X} X の共分散行列 Σ ∈ R p × p \Sigma \in \mathbb{R}^{p \times p} Σ ∈ R p × p の固有対 { ( λ k , e k ) } k = 1 p \left\{ \left( \lambda_{k} , e_{k} \right) \right\}_{k=1}^{p} { ( λ k , e k ) } k = 1 p がλ 1 ≥ ⋯ ≥ λ p ≥ 0 \lambda_{1} \ge \cdots \ge \lambda_{p} \ge 0 λ 1 ≥ ⋯ ≥ λ p ≥ 0 順に並んでいて、e k e_{k} e k らは∥ e k ∥ = 1 \left\| e_{k} \right\| = 1 ∥ e k ∥ = 1 、つまり正規化されているとする。ランダムベクトルX \mathbf{X} X とk k k 番目の固有ベクトルe k e_{k} e k の内積 によって定義される確率変数 Y k Y_{k} Y k をk k k 番目の主成分 k k k th Principal Component と呼ぶ。
Y k : = e k T X
Y_{k} := e_{k}^{T} \mathbf{X}
Y k := e k T X
Y k Y_{k} Y k の実現 y k y_{k} y k を k k k 番目のPCスコアk k k th PC Score と呼ぶ。
定理 主成分分析で主成分を最大化する単位ベクトルは、a k = e k \mathbf{a}_{k} = e_{k} a k = e k のように求められる。k = 1 , ⋯ , p k = 1 , \cdots , p k = 1 , ⋯ , p およびi ≠ j i \ne j i = j に対して、k k k 番目の主成分の分散 および共分散 は次のようになる。
Var ( Y k ) = λ k Cov ( Y i , Y j ) = 0
\begin{align*}
\operatorname{Var} \left( Y_{k} \right) =& \lambda_{k}
\\ \operatorname{Cov} \left( Y_{i}, Y_{j} \right) =& 0
\end{align*}
Var ( Y k ) = Cov ( Y i , Y j ) = λ k 0
証明 共分散行列Σ \Sigma Σ は次のように展開できる。
Σ = Cov ( X ) = ( Var ( X 1 ) Cov ( X 1 , X 2 ) ⋯ Cov ( X 1 , X p ) Cov ( X 2 , X 1 ) Var ( X 2 ) ⋯ Cov ( X 2 , X p ) ⋮ ⋮ ⋱ ⋮ Cov ( X p , X 1 ) Cov ( X p , X 2 ) ⋯ Var ( X p ) )
\begin{align*}
& \Sigma
\\ =& \operatorname{Cov} \left( \mathbf{X} \right)
\\ =& \begin{pmatrix}
\operatorname{Var} \left( X_{1} \right) & \operatorname{Cov} \left( X_{1} , X_{2} \right) & \cdots & \operatorname{Cov} \left( X_{1} , X_{p} \right)
\\ \operatorname{Cov} \left( X_{2} , X_{1} \right) & \operatorname{Var} \left( X_{2} \right) & \cdots & \operatorname{Cov} \left( X_{2} , X_{p} \right)
\\ \vdots & \vdots & \ddots & \vdots
\\ \operatorname{Cov} \left( X_{p} , X_{1} \right) & \operatorname{Cov} \left( X_{p} , X_{2} \right) & \cdots & \operatorname{Var} \left( X_{p} \right)
\end{pmatrix}
\end{align*}
= = Σ Cov ( X ) Var ( X 1 ) Cov ( X 2 , X 1 ) ⋮ Cov ( X p , X 1 ) Cov ( X 1 , X 2 ) Var ( X 2 ) ⋮ Cov ( X p , X 2 ) ⋯ ⋯ ⋱ ⋯ Cov ( X 1 , X p ) Cov ( X 2 , X p ) ⋮ Var ( X p )
共分散行列の性質 :定数の行列A ∈ R k × p A \in \mathbb{R}^{k \times p} A ∈ R k × p が( A ) i j : = a i j (A)_{ij} := a_{ij} ( A ) ij := a ij のように与えられている場合
Cov ( A X ) = A Cov ( X ) A T
\operatorname{Cov} ( A \mathbf{X}) = A \operatorname{Cov} \left( \mathbf{X} \right) A^{T}
Cov ( A X ) = A Cov ( X ) A T
ここで、Σ \Sigma Σ の固有ベクトルで作られた直交行列 P : = [ e 1 ⋯ e p ] ∈ R p × p P := \begin{bmatrix} e_{1} & \cdots & e_{p} \end{bmatrix} \in \mathbb{R}^{p \times p} P := [ e 1 ⋯ e p ] ∈ R p × p を定義すると、共分散行列の性質 によりランダムベクトルY : = P T X \mathbf{Y} := P^{T} \mathbf{X} Y := P T X の共分散は次のように示せる。
Cov ( Y ) = Cov ( P T X ) = P T Cov ( X ) P
\begin{align*}
& \operatorname{Cov} \left( \mathbf{Y} \right)
\\ =& \operatorname{Cov} \left( P^{T} \mathbf{X} \right)
\\ =& P^{T} \operatorname{Cov} \left( \mathbf{X} \right) P
\end{align*}
= = Cov ( Y ) Cov ( P T X ) P T Cov ( X ) P
このCov ( Y ) \operatorname{Cov} \left( \mathbf{Y} \right) Cov ( Y ) の第一の対角成分を展開すると、第一の固有値と同じであることがわかる。
Var ( Y 1 ) = e 1 T Var X e 1 = e 1 T Σ e 1 = λ 1
\begin{align*}
\operatorname{Var} \left( Y_{1} \right) =& e_{1}^{T} \operatorname{Var} \mathbf{X} e_{1}
\\ =& e_{1}^{T} \Sigma e_{1}
\\ =& \lambda_{1}
\end{align*}
Var ( Y 1 ) = = = e 1 T Var X e 1 e 1 T Σ e 1 λ 1
正定値行列の二次形式と固有値 :正の定値行列 A ∈ R p × p A \in \mathbb{R}^{p \times p} A ∈ R p × p の固有対 { ( λ k , e k ) } k = 1 n \left\{ \left( \lambda_{k} , e_{k} \right) \right\}_{k=1}^{n} { ( λ k , e k ) } k = 1 n がλ 1 ≥ ⋯ ≥ λ n ≥ 0 \lambda_{1} \ge \cdots \ge \lambda_{n} \ge 0 λ 1 ≥ ⋯ ≥ λ n ≥ 0 順に並んでいるとする。単位球 上での二次形式x T A x \mathbf{x}^{T} A \mathbf{x} x T A x の最大値と最小値は次のようになる。
max ∥ x ∥ = 1 x T A x = λ 1 , attained when x = e 1 min ∥ x ∥ = 1 x T A x = λ p , attained when x = e p
\begin{align*}
\max_{\left\| \mathbf{x} \right\| = 1} \mathbf{x}^{T} A \mathbf{x} =& \lambda_{1} & \text{, attained when } \mathbf{x} = e_{1}
\\ \min_{\left\| \mathbf{x} \right\| = 1} \mathbf{x}^{T} A \mathbf{x} =& \lambda_{p} & \text{, attained when } \mathbf{x} = e_{p}
\end{align*}
∥ x ∥ = 1 max x T A x = ∥ x ∥ = 1 min x T A x = λ 1 λ p , attained when x = e 1 , attained when x = e p
一方k = 2 , ⋯ , p − 1 k = 2, \cdots , p-1 k = 2 , ⋯ , p − 1 に対して次が成り立つ。
max ∥ x ∥ = 1 x ⊥ e 1 , ⋯ , e k − 1 x T A x = λ k , attained when x = e k
\max_{\substack{\left\| \mathbf{x} \right\| = 1 \\ \mathbf{x} \perp e_{1} , \cdots , e_{k-1} }} \mathbf{x}^{T} A \mathbf{x} = \lambda_{k} \quad \text{, attained when } \mathbf{x} = e_{k}
∥ x ∥ = 1 x ⊥ e 1 , ⋯ , e k − 1 max x T A x = λ k , attained when x = e k
結局、このλ 1 \lambda_{1} λ 1 は∥ x ∥ = 1 \left\| \mathbf{x} \right\| = 1 ∥ x ∥ = 1 という制約のもとでの二次形式x T Σ x \mathbf{x}^{T} \Sigma \mathbf{x} x T Σ x の最大値である。要約すると
Var ( Y 1 ) = λ 1 = max ∥ x ∥ = 1 x T Σ x
\operatorname{Var} \left( Y_{1} \right) = \lambda_{1} = \max_{\left\| \mathbf{x} \right\| = 1} \mathbf{x}^{T} \Sigma \mathbf{x}
Var ( Y 1 ) = λ 1 = ∥ x ∥ = 1 max x T Σ x
同じ定理により、k k k 番目の分散Var ( Y k ) \operatorname{Var} \left( Y_{k} \right) Var ( Y k ) は、∥ x ∥ = 1 \left\| \mathbf{x} \right\| = 1 ∥ x ∥ = 1 とe 1 , ⋯ , e k − 1 e_{1} , \cdots , e_{k-1} e 1 , ⋯ , e k − 1 が直交 するという制約のもとでx T Σ x \mathbf{x}^{T} \Sigma \mathbf{x} x T Σ x の最大値であるk k k 番目の固有値λ k \lambda_{k} λ k と同じになる。つまり
Var ( Y k ) = λ k
\operatorname{Var} \left( Y_{k} \right) = \lambda_{k}
Var ( Y k ) = λ k
この時の制約条件x ⊥ e 1 , ⋯ , e k − 1 \mathbf{x} \perp e_{1} , \cdots , e_{k-1} x ⊥ e 1 , ⋯ , e k − 1 に従って、Y l , Y k Y_{l}, Y_{k} Y l , Y k の共分散は次のように0 0 0 になる。
Cov ( Y l , Y k ) = e l T Σ e k = e l T λ k e k = λ k e l T e k = λ k ⋅ 0 = 0
\begin{align*}
\operatorname{Cov} \left( Y_{l} , Y_{k} \right) =& e_{l}^{T} \Sigma e_{k}
\\ =& e_{l}^{T} \lambda_{k} e_{k}
\\ =& \lambda_{k} e_{l}^{T} e_{k}
\\ =& \lambda_{k} \cdot 0
\\ =& 0
\end{align*}
Cov ( Y l , Y k ) = = = = = e l T Σ e k e l T λ k e k λ k e l T e k λ k ⋅ 0 0
■
参照