QCプラネッツ 品質のプロフェッショナルを育成するサイト

主成分方向の平方和と固有値が一致する理由がわかる

多変量解析

「主成分分析の平方和と固有値がなぜ一致するのかがわからない」などと困っていませんか?

こういう疑問に答えます。

本記事のテーマ

主成分方向の平方和と固有値が一致する理由がわかる

おさえておきたいポイント

  • ①主成分の平方和を計算する
  • ➁主成分の平方和と固有値が一致する理由がわかる(2次元)
  • ➂主成分の平方和と固有値が一致する理由がわかる(3次元)
主成分分析は自分で解けます!
Excelや固有値、因子負荷量とか暗記不要!
自力で導出できるぜ!
教科書などを見ると導出が難しく書いていましたが、
実際解くと、簡単に導出できます!
お任せ下さい。

①主成分の平方和を計算する

平方和を計算

主成分分析は点在するデータから最大限の情報量を抽出する方法です。その情報量を平方和で求めますよね! これは関連記事で解説していますので、ご確認ください。

【重要】主成分分析が導出できる
主成分分析で自力で主成分方向が導出できますか?「主成分分析=固有値解」とインプットしていませんか? 本記事では主成分分析の本質が理解できるために導出過程をわかりやすく解説します。2次元の例で基礎をしっかり理解しましょう。多変量解析を学ぶ人は必読です。

情報量\(S\)は
\(S\)=\(\sum_{i=1}^{n}|z_i^2|\)
=\(a^2 S_{xx}\)+2\(ab S_{xy}\)+\(b^2 S_{yy}\) (2次元)

\(S\)=\(\sum_{i=1}^{n}|z_i^2|\)
=\(a^2 S_{xx}\)+\(b^2 S_{yy}\)+\(c^2 S_{zz}\)
+2\(ab S_{xy}\)+2\(bc S_{yz}\)++2\(ca S_{xz}\)(3次元)
で表現できます。

主成分分析を導出する関係式

主成分分析を解く場合は、必ず次の関係式を使って解きます。公式をいろいろ暗記せず、1つの解法ですべて解けます!

情報量S(平方和)から
ラグランジュの未定係数法を使って
固有方程式を作る。
固有ベクトルは単位ベクトルとする。

でしたね。これも上の関連記事で解説しています。

関係式を並べると

2次元の場合

\(\left(
\begin{array}{cccc}
S_{xx} & S_{xy} \\
S_{xy} & S_{yy}
\end{array}
\right)
\)\(\left(
\begin{array}{cccc}
a_j \\
b_j
\end{array}
\right)
\)=\(λ_j\)\(\left(
\begin{array}{cccc}
a_j \\
b_j
\end{array}
\right)
\)

ただし、
●\(i\)=\(1,2,…,n\) (データ数)
●\(j\)=1,2 (固有値の種類)
\(a_j^2+b_j^2\)=1(単位ベクトル)

3次元の場合

\(\left(
\begin{array}{cccc}
S_{xx} & S_{xy} & S_{xz} \\
S_{xy} & S_{yy} & S_{yz} \\
S_{xz} & S_{yz} & S_{zz}
\end{array}
\right)
\)\(\left(
\begin{array}{cccc}
a_j \\
b_j \\
c_j
\end{array}
\right)
\)=\(λ_j\)\(\left(
\begin{array}{cccc}
a_j \\
b_j \\
c_j
\end{array}
\right)
\)

ただし、
●\(i\)=\(1,2,…,n\) (データ数)
●\(j\)=1,2,3 (固有値の種類)
\(a_j^2+b_j^2+c_j^2\)=1(単位ベクトル)

なお、本記事で証明する方法は、関連記事でも書いていますので、ご確認ください。

因子負荷量が導出できる
因子負荷量は自力で導出できますか? 公式暗記で済ませていませんか?本記事では主成分分析の導出過程をベースに因子負荷量の導出をわかりやすく解説します。多変量解析を学ぶ人は必読です。

➁主成分の平方和と固有値が一致する理由がわかる(2次元)

今回証明したい式は

「主成分の平方和と固有値が一致する」
\(S_j\)=\(λ_j\)
(\(S_j\)=\(\sum_{i=1}^{n}(a_j(x_i-\bar{x})+b_j(y_i-\bar{y}))^2\) )

\(j\)方向の平方和は\(j\)番目の固有値に一致するということです。

証明します!

証明

まず、固有方程式を行列表記から式に直すと、
●\(a_j S_{xx}+b_j S_{xy}\)=\(λ_j a_j\)
●\(a_j S_{xy}+b_j S_{yy}\)=\(λ_j b_j\)
ですね。

次に\(j\)番目の平方和(情報量)の式は
\(S_j\)=\(\sum_{i=1}^{n}|z_i^2|\)
=\(a_j^2 S_{xx}\)+2\(a_j b_j S_{xy}\)+\(b_j^2 S_{yy}\) (2次元)
ですね。

また、
\(S_j\)=\(a_j^2 S_{xx}\)+2\(a_j b_j S_{xy}\)+\(b_j^2 S_{yy}\)
=\(a_j\)(\(a_j S_{xx} + b_j S_{xy}\))+\(b_j\)(\(a_j S_{xy}+ b_j S_{yy}\))
と変形すると、固有方程式を使って
=\(a_j λ_j a_j\)+\(b_j λ_j b_j\)
=\(λ_j\)(\(a_j^2+b_j^2\))
となり、単位ベクトルから\(a_j^2+b_j^2\)=1を代入すると
\(S_j\)=\(λ_j\)
となります。

「主成分の平方和と固有値が一致する」
\(S_j\)=\(λ_j\)
結構シンプルに証明できました。

➂主成分の平方和と固有値が一致する理由がわかる(3次元)

式は複雑になりますが、
解き方は2次元と同じです。シンプルです!

今回証明したい式は

「主成分の平方和と固有値が一致する」
\(S_j\)=\(λ_j\)
(\(S_j\)=\(\sum_{i=1}^{n}(a_j(x_i-\bar{x})+b_j(y_i-\bar{y})+ c_j(z_i-\bar{z}))^2\) )

\(j\)方向の平方和は\(j\)番目の固有値に一致するということです。

証明します!

証明

まず、固有方程式を行列表記から式に直すと、
●\(a_j S_{11}+b_j S_{12}+c_j S_{13}\)=\(λ_j a_j\)
●\(a_j S_{21}+b_j S_{22}+c_j S_{23}\)=\(λ_j b_j\)
●\(a_j S_{31}+b_j S_{32}+c_j S_{33}\)=\(λ_j c_j\)
ですね。

次に\(j\)番目の平方和(情報量)の式は
\(S_j\)=\(\sum_{i=1}^{n}|z_i^2|\)
=\(a^2 S_{xx}\)+\(b^2 S_{yy}\)+\(c^2 S_{zz}\)
+2\(ab S_{xy}\)+2\(bc S_{yz}\)++2\(ca S_{xz}\)(3次元)
ですね。

また、
\(S_j\)=\(a^2 S_{xx}\)+\(b^2 S_{yy}\)+\(c^2 S_{zz}\)
+2\(ab S_{xy}\)+2\(bc S_{yz}\)++2\(ca S_{xz}\)
=\(a_j (a_j S_{11}+b_j S_{12}+c_j S_{13})\)
+\(b_j (a_j S_{21}+b_j S_{22}+c_j S_{23})\)
+\(c_j (a_j S_{31}+b_j S_{32}+c_j S_{33})\)
と変形して、固有方程式を代入すると
=\(a_j λ_j a_j\)+\(b_j λ_j b_j\)+\(c_j λ_j c_j\)
=\(λ_j\)(\(a_j^2+b_j^2+ c_j^2\))
となり、単位ベクトルから\(a_j^2+b_j^2+c_j^2\)=1を代入すると
\(S_j\)=\(λ_j\)
となります。

「主成分の平方和と固有値が一致する」
\(S_j\)=\(λ_j\)
3次元も結構シンプルに証明できました。

同様に、n次元の場合も同様に証明できます。シンプルに証明できました!

まとめ

「主成分方向の平方和と固有値が一致する理由がわかる」を解説しました。

  • ①主成分の平方和を計算する
  • ➁主成分の平方和と固有値が一致する理由がわかる(2次元)
  • ➂主成分の平方和と固有値が一致する理由がわかる(3次元)


Warning: count(): Parameter must be an array or an object that implements Countable in /home/qcplanets/qcplanets.com/public_html/wp-content/themes/m_theme/sns.php on line 119

    Warning: Invalid argument supplied for foreach() in /home/qcplanets/qcplanets.com/public_html/wp-content/themes/m_theme/sns.php on line 122
error: Content is protected !!