月: 2023年2月

  • 【まとめ】主成分分析を究める

    【まとめ】主成分分析を究める

    「主成分分析がよくわからない、何を学べばよいかわからない?」などと困っていませんか?

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

    本記事のテーマ

    【まとめ】主成分分析を究める

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

    • ①主成分分析で習得すべきポイント
    • ➁主成分分析の実践演習
    • ➂主成分分析の注意点
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】多変量解析問題集を販売します!

    QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
    【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    主成分分析の流れを自分で導出し
    n次元の分析を演習し
    さらに、教科書等であまり書いていない注意点も解説!

    ①主成分分析で習得すべきポイント

    主成分分析とは何かを理解する

    一番ダメなのは

    主成分分析は固有値を求めること
    と条件反射的に公式暗記すること

    確かに、テストとかでは点数とれますが、
    本質は全く分かっていないと見抜かれますよ

    本質は、

    「主成分分析はデータを要約するもの
    散布したデータの情報量が集まった方向を探す手法

    平方和を使って方向を探す」
    その条件式が固有方程式になるだけ

    その集約した方向が主成分方向であり、
    それと垂直な方向は誤差方向であり、
    主成分方向は情報量を最大化
    誤差方向は情報量を最小化
    させるのが主成分方向の目的です。

    主成分分析

    主成分分析の演習問題を解いていくと、確かに、固有方程式を解くところはボリュームが大きいので、固有値を求めるのが主成分分析と頭がインプットされてしまいますが、

    主成分分析はデータの集約であり、集約する情報量の式が最も大事です。

    関連記事で解説

    主成分分析の基礎をまとめた関連記事を紹介します。
    主成分分析の解き方より、考えたが大事です。
    分析結果が出ても、「だから何なの?」とならないよう
    本質を理解しましょう。

    主成分分析はデータ集約する点を理解する

    データ集約する方法をわかりやすく2次元の場合、多次元の場合の記事を用意しています。2次元で理解出来たら、次元を拡張すれば多次元も理解できます。

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

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

    主成分分析で使う変数の特徴を理解する

    主成分分析を実施するといろいろな変数が必要となります。

    1. 相関係数行列
    2. 固有値、固有ベクトル
    3. 主成分の寄与率、累積寄与率
    4. 因子負荷量
    5. 主成分負荷量
    6. 主成分得点

    いろいろな変数がある中で、どうしても気になるのが
    因子負荷量って何者?
    固有値と主成分方向の平方和が等しいのは何で?
    何で固有ベクトルって互いに直交するの?
    と教科書では当たり前に書いているところに疑問がわくはずです。

    なので、関連記事で解説しています。導出過程を理解しながら読み進めてください。

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

    主成分方向の平方和と固有値が一致する理由がわかる
    主成分の平方和と固有値が一致する理由が説明できますか?本記事では主成分分析を導出する過程で主成分方向の平方和と固有値が一致する理由をわかりやすく解説します。シンプルに証明できるので、た

    固有ベクトルが直交する理由がわかる
    主成分分析にも出て来る固有ベクトルがなぜ互いに直交するか説明できますか?本記事では、固有ベクトルが互いに直交する理由をわかりやすく解説します。行列が苦手な人でも、高校数学レベルでわかるように解説します。多変量解析を学ぶ人は必読です。

    主成分分析が計算できる
    主成分負荷量、主成分得点、主成分平方和、主成分の寄与率は説明・計算ができますか? 本記事は各変数の導出方法を丁寧に解説します。ただ、主成分分析の本質は先に習得しておきましょう。多変量解析を学ぶ人は必読です。

    主成分分析の演習の前に、主成分分析とは何か?、どんな変数で分析を評価するかをまず、関連記事で確認しましょう。

    ➁主成分分析の実践演習

    基礎が理解できたら、あとはどんどん実践演習しましょう。
    基本は手で解析して理解を深める事ですが、3次元で計算が複雑な場合や、4次元以上はPCや計算機を使いましょう。

    1. 2次元は簡単な計算で、流れを理解する
    2. 3次元もなるべく手計算で、2次元と同じ流れで解けることを確認する
    3. 5次元はツールを駆使するが、2次元、3次元と同じ流れで解ける事を確認する
    4. 主成分分析=固有値解ではなく、データの縮約であることを忘れないこと

    上の4点を意識して、演習用の関連記事を紹介します。ご確認ください。

    主成分分析ができる(2次元)
    主成分分析が解けますか?本記事では変数が2つの場合における主成分分析をわかりやすく解説します。相関係数行列,固有値、固有ベクトル,主成分の寄与率、累積寄与率,因子負荷量,主成分負荷量,主成分得点を丁寧に解説します。多変量解析を学ぶ人は必読です。

    主成分分析ができる(3次元)
    主成分分析が解けますか?本記事では変数が3つの場合における主成分分析をわかりやすく解説します。相関係数行列,固有値、固有ベクトル,主成分の寄与率、累積寄与率,因子負荷量,主成分負荷量,主成分得点を丁寧に解説します。多変量解析を学ぶ人は必読です。

    主成分分析ができる(5次元)
    主成分分析が解けますか?本記事では変数が5つの場合における主成分分析をわかりやすく解説します。相関係数行列,固有値、固有ベクトル,主成分の寄与率、累積寄与率,因子負荷量,主成分負荷量,主成分得点を丁寧に解説します。多変量解析を学ぶ人は必読です。

    ➂主成分分析の注意点

    ここまで来たら、主成分分析はマスターしたと自信もってOKですが、
    QCプラネッツ自身、さらに気になった3点があるので、紹介します。

    同じデータを用意されて
    主成分分析と回帰分析を両方したら、
    両手法の違いを意識して解けるかどうか?
    データの標準化して固有値解を解くが
    同じデータでも
    データの標準化する・しないで
    固有値・固有ベクトルの値って違うのご存じでした?
    主成分分析で固有方程式解いたら
    重解がでちゃった。
    固有値、固有ベクトルとかはちゃんと
    計算されるの?

    普通、ここまでやりませんが、
    他の手法と比較したり、他の単元と主成分分析を比較するといろいろ気になることが出て来ます。それを解決するのがstudyですよね!

    関連記事で解説しています。

    主成分分析と回帰分析の違いがわかる
    主成分分析と回帰分析の違いが説明できますか?本記事は、データ事例を用意して実際に分析することで両者の違いをわかりやすく解説します。多変量解析を学ぶと違いがわかりにくく混乱しがちです。多変量解析を学ぶ人は必読です。

    【注意】平方和・相関行列から求めた固有値・固有ベクトルは一致しない
    主成分分析では、固有値・固有ベクトルを算出する時に使う平方和行列、相関係数行列によって値が異なります。その理由をわかりやすく解説し、両者からでも同じ固有値・固有ベクトルとなる場合も紹介します。多変量解析を学ぶ人は必読です。

    主成分分析ができる(3次元で重解がある場合)
    主成分分析する際、めったにないですが、固有値解が重解をもつ場合があります。その場合、どう処理してよいかをわかりやすく解説します。固有値の重解の処理方法を復習しつつ主成分分析が学べます。ここまで読めば、主成分分析は網羅できたと言える記事です。多変量解析を学ぶ人はひ

    ここまで理解すれば、主成分分析はマスターできますよね!

    是非、関連記事を読み進めて、主成分分析をマスターしましょう!

    まとめ

    「【まとめ】主成分分析を究める」を解説しました。

    • ①主成分分析で習得すべきポイント
    • ➁主成分分析の実践演習
    • ➂主成分分析の注意点

  • 主成分分析ができる(3次元で重解がある場合)

    主成分分析ができる(3次元で重解がある場合)

    「主成分分析がうまくできない、固有方程式で重解が出たらどう解けばいいの?」などと困っていませんか?

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

    本記事のテーマ

    主成分分析ができる(3次元で重解がある場合)

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

    • ①2次元データの場合、重解な固有値はない
    • ➁例題
    • ➂相関係数行列の計算
    • ➃固有値、固有ベクトルの計算
    • ➄主成分の寄与率、累積寄与率
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】多変量解析問題集を販売します!

    QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
    【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    固有方程式から重解が出た場合を解説!
    ここまで解説するのはQCプラネッツだけ!

    ①2次元データの場合、重解な固有値はない

    主成分分析の本質

    主成分分析はいろいろな値が計算できますが、本質をおさえることが最重要です。関連記事で解説していますので、まずは確認してください。

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

    2次元データが重解な固有値を持つための条件

    2次元データの場合の固有方程式は、
    固有方程式\(Rv\)=\(λv\)
    より

    \(\left(
    \begin{array}{cccc}
    a & b \\
    b & c \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    x \\
    y\\
    \end{array}
    \right)
    \)=\(λ\)\(
    \left(
    \begin{array}{c}
    x \\
    y\\
    \end{array}
    \right)
    \)
    から固有値を計算します。なお、主成分分析で固有方程式を解くときは、
    対称行列を使いますね。

    固有方程式から、条件式
    \((a-λ)(c-λ)-b^2\)=0
    \(λ^2-(a+c)λ+(ac-b^2)\)=0
    と2次方程式を作り、重解をもつので、判別式D=0ですね。

    判別式D=\((a+c)^2-4(ac-b^2)\)=0
    =\((a-c)^2+4b^2\)=0
    となります。
    等号成立条件は
    \(a=c\)かつ\(b\)=0となり、これは単位行列しかないことになります。

    2次元の主成分分析では、
    データの平方和や相関係数行列が
    単位行列になることはないので、
    2次元データからは重解が出ることはありません。

    では、3次元以上の場合も、主成分分析データから重解はないのかどうか、データを作ってみたら、3次元では重解になるデータがありました!というか見つけました!結構時間かかったけど!

    では、3次元で重解となる主成分分析を解説します。

    ➁例題

    例題

    3次元の主成分分析の例題は次の通りです。3次元の行列式を解く場面もあるので、行列式も練習しましょう。

    例題

    【問題】
    以下のデータにおいて、主成分分析せよ。
    (1)相関係数行列\(R\)
    (2)固有値\(λ_i\)
    (3)固有ベクトル\(v_i\)
    (4)寄与率と累積寄与率
    (5)因子負荷量(標準化)
    (6)主成分得点(標準化)

    データ(下表)

    No x1 x2 x3
    1 1 1 3
    2 2 4 2
    3 3 2 1
    4 4 5 5
    5 5 3 4
    15 15 15
    平均 3 3 3

    重解をもつデータとなるように、いろいろデータ値をいれて試した結果、運良く重解をもつデータが見つかりました!

    3次元の主成分分析ですが、手計算で解いて主成分分析の理解を深めましょう。

    データの標準化

    因子負荷量や主成分得点などをツールから計算するために、データを標準化しておきます。
    データの標準化は
    \(z_i\)=\(\frac{x_i-\bar{x}}{s}\)と変換して、
    平均0、標準偏差\(s\)=1の変数\(z_i\)に変換することです。

    上のデータ表からは、標準偏差を計算すると、下表になります。

    No x1 x2 x3
    標準偏差\(s\) 1.41 1.41 1.41

    なので、データを標準化します。結果は下表のとおりです。

    No x1 x2 x3
    1 -1.414 -1.414 0.000
    2 -0.707 0.707 -0.707
    3 0 -0.707 -1.414
    4 0.707 1.414 1.414
    5 1.414 0.000 0.707
    0 0 0
    平均 0 0 0
    標準偏差 1 1 1

    確かに、平均0、標準偏差1に変換できていますね。

    ➂相関係数行列の計算

    各平方和を先に計算

    科目ごとの平方和を先に計算します。
    \(S_{ij}\)=\(\sum_{k=1}^{n}(x_{ki}-\bar{x_i})(x_{kj}-\bar{x_j})\)
    として、x1とx2の平方和は
    \(S_{12}\)=\(\sum_{k=1}^{n=5}(x_{ki}-\bar{x_i})(x_{kj}-\bar{x_j})\)
    と計算します。

    全部のパターンを計算した結果を下表にまとめます。

    平方和S x1 x2 x3
    x1 \(S_{11}\)=10 \(S_{12}\)=5 \(S_{13}\)=5
    x2 \(S_{21}\)=5 \(S_{22}\)=10 \(S_{23}\)=5
    x3 \(S_{31}\)=5 \(S_{32}\)=5 \(S_{33}\)=10

    相関係数行列の計算

    相関係数\(r_{ij}\)は
    ●\(r_{ij}\)=\(\frac{S_{ij}}{\sqrt{S_{ii} S_{jj}}}\)
    から計算できて、それをまとめたら
    相関係数行列が計算できますね。

    まず、さっき求めた平方和\(S_{ij}\)から相関係数\(r_{ij})\)を計算すると下表になります。

    相関係数\(r_{ij}\) x1 x2 x3
    x1 \(r_{11}\)=1 \(r_{12}\)=0.5 \(r_{13}\)=0.5
    x2 \(r_{21}\)=0.5 \(r_{22}\)=1 \(r_{23}\)=0.5
    x3 \(r_{31}\)=0.5 \(r_{32}\)=0.5 \(r_{33}\)=1

    よって相関係数行\(R\)は

    \(R\)=\(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} & r_{13} \\
    r_{21} & r_{22} & r_{23} \\
    r_{31} & r_{32} & r_{33} \\
    \end{array}
    \right)
    \)
    =\(\left(
    \begin{array}{cccc}
    1 & 0.5 & 0.5 \\
    0.5 & 1 & 0.5 \\
    0.5 & 0.5 & 1 \\
    \end{array}
    \right)
    \)

    固有方程式が重解をもつための下準備が終わりました。
    本題はここからです。

    ➃固有値、固有ベクトルの計算

    固有値、固有ベクトルの解法

    ツールを使った解法を解説する前に、主成分分析の本質を再確認しましょう。

    本記事のテーマではありませんが、主成分分析は必ず固有方程式を解きます。

    固有方程式

    平方和でも相関係数でもどちらでも固有方程式は解けますが、今回は相関係数を使って解きます。

    固有方程式
    \(Rv\)=\(λv\)
    より

    \(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} & r_{13} \\
    r_{21} & r_{22} & r_{23} \\
    r_{31} & r_{32} & r_{33} \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    c\\
    \end{array}
    \right)
    \)=\(λ\)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    c\\
    \end{array}
    \right)
    \)
    を満たす、固有値\(λ\)と固有ベクト\(v\)を解きます。

    3次元になりますが、行列式を解いて手計算で行きましょう。
    その後で、解析ツールに頼りましょう。
    手計算で何を解いているのかの理解を深めましょう。

    【重要】固有値の計算

    3×3行列における、固有方程式を書くと
    \(Rv\)=\(λv\)
    \((R-λE)v=0\)
    より

    行列式|\(R-λE\)|=0を満たすλを計算します。

    \(R-λE\)=\(\left(
    \begin{array}{cccc}
    r_{11}-λ & r_{12} & r_{13} \\
    r_{21} & r_{22}-λ & r_{23} \\
    r_{31} & r_{32} & r_{33}-λ \\
    \end{array}
    \right)
    \)
    から

    |\(R-λE\)|=\(
    \begin{vmatrix}
    r_{11}-λ & r_{12} & r_{13} \\
    r_{21} & r_{22}-λ & r_{23} \\
    r_{31} & r_{32} & r_{33}-λ \\
    \end{vmatrix}
    \)=\(
    \begin{vmatrix}
    1-λ & 0.5 & 0.5 \\
    0.5 & 1-λ & 0.5 \\
    0.5 & 0.5 & 1-λ \\
    \end{vmatrix}
    \)

    行列式の公式を紹介すると

    \(
    \begin{vmatrix}
    A_{11} & A_{12} & A_{13} \\
    A_{21} & A_{22} & A_{23} \\
    A_{31} & A_{32} & A_{33}-λ \\
    \end{vmatrix}
    \)
    \(A_{11}A_{22}A_{33}\)+\(A_{12}A_{23}A_{31}\)+\(A_{13}A_{21}A_{32}\)
    -\(A_{13}A_{22}A_{31}\)-\(A_{12}A_{21}A_{33}\)-\(A_{11}A_{23}A_{32}\)
    となります。線形代数の教科書に書いていますので参考ください。

    行列式を解くと
    \(
    \begin{vmatrix}
    1-λ & 0.5 & 0.5 \\
    0.5 & 1-λ & 0.5 \\
    0.5 & 0.5 & 1-λ \\
    \end{vmatrix}
    \)=0
    \((1-λ)^3\)+\(\frac{1}{8}\)+\(\frac{1}{8}\)-\(\frac{1}{4}(1-λ)\)- \(\frac{1}{4}(1-λ)\)- \(\frac{1}{4}(1-λ)\)=0
    \(4λ^3-12λ^2+9λ-2\)=0
    となり、因数分解すると
    \((2λ-1)^2 (λ-2)\)=0
    と因数分解でき、固有値は
    \(λ\)=0.5 (重解),2
    が得られます。

    よって、固有値λは
    ●λ1=2
    ●λ2,λ3=0.5
    となります。

    【重要】固有ベクトルの計算

    主成分分析で重解が出たら
    固有ベクトルはどう求めるの?
    重解でない場合と同じですが、
    グラムシュミットの直交化法
    という処理が1つ必要です。

    λ1=2の場合

    \(\left(
    \begin{array}{cccc}
    -1 & 0.5 & 0.5 \\
    0.5 & -1 & 0.5 \\
    0.5 & 0.5 & -1 \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    c\\
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    0 \\
    0\\
    0\\
    \end{array}
    \right)
    \)
    から、関係式を作ると

    ●\(-2a+b+c\)=0
    ●\(a-2b+c\)=0
    ●\(a+b-2c\)=0
    より、
    \(a=b=c\)の関係式ができるので、固有ベクトルは単位ベクトルに注意して
    \(v_1\)=\(\frac{1}{\sqrt{3}}
    \left(
    \begin{array}{c}
    1 \\
    1\\
    1\\
    \end{array}
    \right)
    \)
    となります。

    λ2=0.5(重解)の場合

    同様に解くと、

    \(\left(
    \begin{array}{cccc}
    0.5 & 0.5 & 0.5 \\
    0.5 & 0.5 & 0.5 \\
    0.5 & 0.5 & 0.5 \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    c\\
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    0 \\
    0\\
    0\\
    \end{array}
    \right)
    \)
    から、関係式を作ると

    ●\(a+b+c\)=0
    の1つしか関係式ができません。これは重解だからですね。

    でも、焦る必要はなく、
    \(c\)=\(-(a+b)\)
    と変形して、ベクトル表記します。

    \(v_2\)=\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    -(a+b)\\
    \end{array}
    \right)
    \)=\(a
    \left(
    \begin{array}{c}
    1 \\
    0\\
    -1\\
    \end{array}
    \right)
    \)+\(b
    \left(
    \begin{array}{c}
    0 \\
    1\\
    -1\\
    \end{array}
    \right)
    \)
    となり、2つのベクトル(単位ベクトル処理はあとにしますが)

    \(v_2\)=\(
    \left(
    \begin{array}{c}
    1 \\
    0\\
    -1\\
    \end{array}
    \right)
    \)

    \(v_3\)=\(
    \left(
    \begin{array}{c}
    0 \\
    1\\
    -1\\
    \end{array}
    \right)
    \)

    が得られます。

    ただし、注意点があり、内積\(v_2\)・\(v_3\)=1≠0で直交しません。
    なので、グラムシュミットの直交化法を使って処理が1つ増えます。

    グラムシュミットの直交化法は他のサイトでも解説していますので、それに任せるとすると
    \(u_2\)=\(\frac{1}{\sqrt{2}}
    \left(
    \begin{array}{c}
    1 \\
    0\\
    -1\\
    \end{array}
    \right)
    \)
    \(u_2\)は単純に単位ベクトル化

    \(a_3\)=\(v_3-(v_3・u_2)u_2\)=\(\frac{1}{2}
    \left(
    \begin{array}{c}
    -1 \\
    2\\
    -1\\
    \end{array}
    \right)
    \)
    単位ベクトル化すると
    \(u_3\)=\(\frac{1}{2\sqrt{6}}
    \left(
    \begin{array}{c}
    -1 \\
    2\\
    -1\\
    \end{array}
    \right)
    \)
    となります。

    以上、固有値と固有ベクトルを下表にまとめます。

    固有ベクトル 主成分1 主成分2 主成分3
    x1 0.5773 0.707 -0.204
    x2 0.5773 0 0.408
    x3 0.5773 -0.707 -0.204
    固有値 2 0.5 0.5

    固有値、固有ベクトルの計算結果を検算

    固有値の計算の理解を深める方法の1つとして、実際に検算することをお勧めします。
    実際、検算すると\(Rv=λv\)が成り立ちます。

    ここからは、個々の値を求めていきましょう。

    単に数字があっていればOKではなく、値の意味をまず関連記事で確認しましょう。

    主成分分析が計算できる
    主成分負荷量、主成分得点、主成分平方和、主成分の寄与率は説明・計算ができますか? 本記事は各変数の導出方法を丁寧に解説します。ただ、主成分分析の本質は先に習得しておきましょう。多変量解析を学ぶ人は必読です。

    ➃主成分の寄与率、累積寄与率

    主成分の寄与率、累積寄与率

    ●主成分の寄与率は、個々の固有値を自由度で割った値ですね。
    ●累積寄与率は、寄与率の累積値です。

    結果は下表のとおりです。

    主成分寄与率 主成分1 主成分2 主成分3
    固有値 2 0.5 0.5
    寄与率 2/3 1/6 1/6
    累積寄与率 2/3 5/6 1

    寄与率を平方和でなく固有値で考える理由

    各主成分の平方和は固有値になります。これは関連記事で解説していますが、一番簡単にわかる証明方法があります。

    固有方程式 \(Sv\)=\(λv\)から
    全ての変数をスカラ(数値)と考えると、
    両辺を\(v\)で割れば、
    (平方和)\(S\)=\(λ\)(固有値)

    確かに、(平方和)\(S\)=\(λ\)(固有値)となりますよね。これを行列、ベクトル表記にしてn次元化していますが、考え方は同じなので、主成分平方和は固有値として考えてよいということです。平方和と固有値は別物と思いがちですが、一致しています。意外ですよね。

    主成分分析で重解となる場合をわかりやすく解説しました。

    まとめ

    「主成分分析ができる(3次元で重解がある場合)」を解説しました。

    • ①2次元データの場合、重解な固有値はない
    • ➁例題
    • ➂相関係数行列の計算
    • ➃固有値、固有ベクトルの計算
    • ➄主成分の寄与率、累積寄与率

  • 【注意】平方和・相関行列から求めた固有値・固有ベクトルは一致しない

    【注意】平方和・相関行列から求めた固有値・固有ベクトルは一致しない

    「主成分分析の固有値解は平方和、相関係数どちらでも同じ結果になるの?」と疑問に思っていませんか?

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

    本記事のテーマ

    【注意】平方和・相関係数行列から求めた固有値・固有ベクトルは一致しない

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

    • ①平方和行列と相関係数行列は別物
    • ➁平方和行列と相関係数行列から固有値・固有ベクトルを算出
    • ➂平方和行列と相関係数行列は関係性がある場合がある
    • ➃平方和が等しい場合
    • ➄平方和が1の場合
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】多変量解析問題集を販売します!

    QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
    【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    平方和行列と相関係数行列から固有値・固有ベクトルは一致しません!

    一致しない理由や、一致する特別な条件は何かを解説していきます。
    案外、本記事のテーマをしっかり解説した教科書はないんですよ!

    まず、主成分分析の基礎は関連記事で解説していますので、ご確認ください。

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

    ①平方和行列と相関係数行列は別物

    平方和行列

    主成分分析で固有値を求める際、固有方程式を作ります。
    \(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & \ldots & S_{1n} \\
    S_{12} & S_{22} & \ldots & S_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    S_{1n} & S_{2n} & \ldots & S_{n}
    \end{array}
    \right)
    \) \(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2 \\
    \vdots \\
    a_n
    \end{array}
    \right)
    \)=\(λ\)\(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2 \\
    \vdots \\
    a_n
    \end{array}
    \right)
    \)
    となり、n×n行列のおける固有方程式ができます。

    この、
    \(S\)=\(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & \ldots & S_{1n} \\
    S_{12} & S_{22} & \ldots & S_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    S_{1n} & S_{2n} & \ldots & S_{n}
    \end{array}
    \right)
    \)
    は平方和から計算した行列ですよね。

    相関係数行列

    一方、データを標準化してから、主成分分析する場合もあります。その場合は、
    平方和ではなく、相関係数を使って固有方程式を作ります。
    \(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} & \ldots & r_{1n} \\
    r_{12} & r_{22} & \ldots & r_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    r_{1n} & r_{2n} & \ldots & r_{n}
    \end{array}
    \right)
    \) \(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2 \\
    \vdots \\
    a_n
    \end{array}
    \right)
    \)=\(λ\)\(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2 \\
    \vdots \\
    a_n
    \end{array}
    \right)
    \)
    となり、n×n行列のおける固有方程式ができます。

    この、
    \(R\)=\(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} & \ldots & r_{1n} \\
    r_{12} & r_{22} & \ldots & r_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    r_{1n} & r_{2n} & \ldots & r_{n}
    \end{array}
    \right)
    \)
    は相関係数から作った、相関係数行列と呼んでいます。

    平方和行列と相関係数行列は別物

    さて、固有値・固有ベクトルを算出する式が2つありますが、結果は同じなのかというと、異なります。

    なぜなら、

    平方和行列と相関係数行列は別物だから

    式でいうと、

    \(S\)=\(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & \ldots & S_{1n} \\
    S_{12} & S_{22} & \ldots & S_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    S_{1n} & S_{2n} & \ldots & S_{n}
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} & \ldots & r_{1n} \\
    r_{12} & r_{22} & \ldots & r_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    r_{1n} & r_{2n} & \ldots & r_{n}
    \end{array}
    \right)
    \)=\(R\)
    なのです。

    同じデータでも、固有方程式は
    \(Sv=λv\)
    \(Rv=λv\)
    で\(S\)≠\(R\)なら、
    \(λ,v\)は変わってきますよね!

    ➁平方和行列と相関係数行列から固有値・固有ベクトルを算出

    平方和行列と相関係数行列からそれぞれ固有値・固有ベクトルを算出して比較してみましょう。わかりやすく説明するために2次元データで考えます。

    データ事例

      

    下表のデータを用意します。必要な数値も準備しておきます。

    No x y x’\(標準化) y'(標準化)
    1 0 3 -1.414 0.267
    2 1 2 -0.707 -1.069
    3 2 2 0 -1.069
    4 3 4 0.707 1.604
    5 4 3 1.414 0.267
    合計 10 14 0 0
    平均 2 2.8 0 0
    標準偏差 1.41 0.75

    平方和と相関係数も計算しておきますが、是非、確かめてみてください。

    x,y 標準化x’,y’
    \(S_{xx}\) 10 \(S_{x’x’}\) 5
    \(S_{xy}\) 2 \(S_{x’y’}\) 1.89
    \(S_{yy}\) 2.8 \(S_{y’y’}\) 5
    R 0.143 R 0.143

    平方和行列から固有値・固有ベクトルを算出

    平方和行列は
    \(S\)=\(\left(
    \begin{array}{cccc}
    S_{xx} & S_{xy} \\
    S_{xy} & S_{yy}
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    10 & 2 \\
    2 & 2.8
    \end{array}
    \right)\)
    より、固有方程式を作ると、

    \(Sv\)=\(λv\)
    \(\left(
    \begin{array}{cccc}
    10 & 2 \\
    2 & 2.8
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2
    \end{array}
    \right)\)
    =\(λ\left(
    \begin{array}{cccc}
    a_1 \\
    a_2
    \end{array}
    \right)
    \)

    固有方程式から
    \((10-λ)(2.8-λ)-2^2\)=0
    \(λ\)=10.518,2.282

    また単位ベクトルを気にせず、固有ベクトルを計算すると(実際やってみてください)
    \(v_1\)=\(
    \left(
    \begin{array}{c}
    1 \\
    0.259
    \end{array}
    \right)\)
    \(v_2\)=\(
    \left(
    \begin{array}{c}
    1 \\
    -3.859
    \end{array}
    \right)\)
    となります。

    相関係数行列から固有値・固有ベクトルを算出

    相関係数行列\(R\)は
    \(R\)=\(\left(
    \begin{array}{cccc}
    r_{xx} & r_{xy} \\
    r_{xy} & r_{yy}
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    1 & 0.143 \\
    0.143 & 1
    \end{array}
    \right)\)
    より、固有方程式を作ると、

    \(Rv\)=\(λv\)
    \(\left(
    \begin{array}{cccc}
    1 & 0.143 \\
    0.143 & 1
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2
    \end{array}
    \right)\)
    =\(λ\left(
    \begin{array}{cccc}
    a_1 \\
    a_2
    \end{array}
    \right)
    \)

    固有方程式から
    \((1-λ)^2-0.143^2\)=0
    \(λ\)=1.143,0.857

    また単位ベクトルを気にせず、固有ベクトルを計算すると(実際やってみてください)
    \(v_1\)=\(
    \left(
    \begin{array}{c}
    1 \\
    1
    \end{array}
    \right)\)
    \(v_2\)=\(
    \left(
    \begin{array}{c}
    1 \\
    -1
    \end{array}
    \right)\)
    となります。

    固有値と固有ベクトルを比較すると

    平方和から 相関係数行列から 一致、不一致
    固有値1 10.518 1.143 ×
    固有ベクトルv1 \(
    \left(
    \begin{array}{c}
    1 \\
    0.259
    \end{array}
    \right)\)
    \(
    \left(
    \begin{array}{c}
    1 \\
    1
    \end{array}
    \right)\)
    ×
    固有値2 2.282 0.857 ×
    固有ベクトル2 \(
    \left(
    \begin{array}{c}
    1 \\
    -3.859
    \end{array}
    \right)\)
    \(
    \left(
    \begin{array}{c}
    1 \\
    -1
    \end{array}
    \right)\)
    ×

    と、固有値も固有ベクトルも一致していません。

    \(S\)=\(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & \ldots & S_{1n} \\
    S_{12} & S_{22} & \ldots & S_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    S_{1n} & S_{2n} & \ldots & S_{n}
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} & \ldots & r_{1n} \\
    r_{12} & r_{22} & \ldots & r_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    r_{1n} & r_{2n} & \ldots & r_{n}
    \end{array}
    \right)
    \)=\(R\)
    から、固有値と固有ベクトルが一致しませんが、
    両者に関係性があれば、固有値・固有ベクトルは一致する場合があります。

    ➂平方和行列と相関係数行列は関係性がある場合がある

    もともと相関係数は
    \(r_{ij}\)=\(\frac{S_{ij}}{\sqrt{S_{ii} S_{jj}}}\)です。
    基本的には、データはランダムデータですから、当然

    \(S_{ii}\)≠\(S_{jj}\)です。

    これが、行列
    \(S\)≠\(R\)
    の理由です。

    平方和が等しい場合

    でも、逆に言えば、

    \(S_{ii}\)=\(S_{jj}\)
    の場合は\(S\)=定数倍×\(R\)
    の関係性ができます。

    例えば、
    \(S_{ii}\)=\(S_{jj}\)=\(T\)として、仮に
    \(S_{ij}\)=\(kT\)とおくと
    \(r_{ij}\)=\(\frac{S_{ij}}{\sqrt{S_{ii} S_{jj}}}\)=\(\frac{kT}{\sqrt{T^2}}\)=\(k\)となります。

    そうなると、平方和行列と相関係数行列に関係性が生まれ、
    \(S\)=\(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & \ldots & S_{1n} \\
    S_{12} & S_{22} & \ldots & S_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    S_{1n} & S_{2n} & \ldots & S_{n}
    \end{array}
    \right)\)= \(\left(
    \begin{array}{cccc}
    T & kT & \ldots & kT \\
    kT & T & \ldots & kT \\
    \vdots & \vdots & \ddots & \vdots \\
    kT & kT & \ldots & T
    \end{array}
    \right)\)
    =\(T\left(
    \begin{array}{cccc}
    1 & k & \ldots & k \\
    k & 1 & \ldots & k \\
    \vdots & \vdots & \ddots & \vdots \\
    k & k & \ldots & 1
    \end{array}
    \right)\)=\(TR\)
    となり、
    \(S\)=\(TR\)
    と関係式ができます。

    平方和が1の場合

    さらに、平方和の値\(T\)=1まで特別なデータを用意すると、
    \(S\)=\(R\)
    となり、この場合、平方和でも相関係数でも
    固有値・固有ベクトルは一致します。
    でも、そこまでそろうデータは普通ありませんけど。

    ということで、平方和行列と相関係数行列に関係性があるデータの場合をこれから、実際に主成分分析してみましょう。

    ➃平方和が等しい場合

    データ事例

    実データではほぼありえませんが、下表のように、\(x,y\)両方の平方和が等しい場合を想定します。

    No x y
    1 0 0
    2 1 2
    3 2 3
    4 3 1
    5 4 4
    合計 10 10
    平均 2 2
    標準偏差 1.41 1.41

    平方和と相関係数は

    x,y
    \(S_{xx}\) 10
    \(S_{xy}\) 7
    \(S_{yy}\) 10
    R 0.143

    平方和行列(S)と相関係数行列(R)はそれぞれ

    \(S\)=\(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} \\
    S_{12} & S_{22}
    \end{array}
    \right)\)= \(\left(
    \begin{array}{cccc}
    10 & 7 \\
    7 & 10
    \end{array}
    \right)\)
    \(R\)=\(\left(
    \begin{array}{cccc}
    r_{11} &r_{12} \\
    r_{12} & r_{22}
    \end{array}
    \right)\)= \(\left(
    \begin{array}{cccc}
    1 & 0.7 \\
    0.7 & 1
    \end{array}
    \right)\)
    となり、

    \(S\)=10\(R\)の関係となることがわかりますね。

    平方和行列から固有値・固有ベクトルを算出

    固有方程式は
    \(Sv\)=\(λv\)
    \(\left(
    \begin{array}{cccc}
    10 & 7 \\
    7 & 10
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2
    \end{array}
    \right)\)
    =\(λ\left(
    \begin{array}{cccc}
    a_1 \\
    a_2
    \end{array}
    \right)
    \)
    より、
    \((10-λ)^2=7^2\)

    よって、固有値λ=17,3
    固有ベクトルは単位ベクトルを気にせず求めると
    \(v\)=\(\left(
    \begin{array}{cccc}
    1 \\
    1
    \end{array}
    \right)
    \),\(\left(
    \begin{array}{cccc}
    -1 \\
    1
    \end{array}
    \right)
    \)
    となります。

    相関係数行列から固有値・固有ベクトルを算出

    固有方程式は
    \(Rv\)=\(λv\)
    \(\left(
    \begin{array}{cccc}
    1 & 0.7 \\
    0.7 & 1
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2
    \end{array}
    \right)\)
    =\(λ\left(
    \begin{array}{cccc}
    a_1 \\
    a_2
    \end{array}
    \right)
    \)
    より、
    \((1-λ)^2=0.7^2\)

    よって、固有値λ=1.7,0.3と、
    平方和行列の場合の1/10の値になります。
    固有ベクトルは単位ベクトルを気にせず求めると
    \(v\)=\(\left(
    \begin{array}{cccc}
    1 \\
    1
    \end{array}
    \right)
    \),\(\left(
    \begin{array}{cccc}
    -1 \\
    1
    \end{array}
    \right)
    \)
    平方和行列の場合と同じ結果になります。

    平方和行列と相関係数行列のそれぞれ結果をまとめると、

    1. 行列は\(S=kR\)の関係が成り立つ
    2. 固有値は\(k\)倍異なる
    3. 固有値ベクトルは同じになる

    ➄平方和が1の場合

    データ事例

    先のデータでは平方和\(S_{xx}\)=\(S_{yy}\)=10でしたので、データを1/\(\sqrt{10}\)倍に変えてみましょう。

    データ事例

    実データではほぼありえませんが、下表のように、\(x,y\)両方の平方和が等しく、1となる場合を想定します。

    No x y
    1 0 0
    2 0.316 0.632
    3 0.632 0.949
    4 0.949 0.316
    5 1.265 1.265
    合計 3.16 3.16
    平均 0.632 0.632
    標準偏差 0.45 0.45

    平方和と相関係数は

    x,y
    \(S_{xx}\) 1
    \(S_{xy}\) 0.7
    \(S_{yy}\) 1
    R 0.143

    平方和行列(S)と相関係数行列(R)はそれぞれ

    \(S\)=\(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} \\
    S_{12} & S_{22}
    \end{array}
    \right)\)= \(\left(
    \begin{array}{cccc}
    1 & 0.7 \\
    0.7 & 1
    \end{array}
    \right)\)
    \(R\)=\(\left(
    \begin{array}{cccc}
    r_{11} &r_{12} \\
    r_{12} & r_{22}
    \end{array}
    \right)\)= \(\left(
    \begin{array}{cccc}
    1 & 0.7 \\
    0.7 & 1
    \end{array}
    \right)\)
    となり、

    \(S\)=\(R\)の関係となることがわかりますね。

    行列から固有値・固有ベクトルを算出

    固有方程式は
    \(Sv\)=\(λv\)
    \(\left(
    \begin{array}{cccc}
    1 & 0.7 \\
    0.7 & 1
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2
    \end{array}
    \right)\)
    =\(λ\left(
    \begin{array}{cccc}
    a_1 \\
    a_2
    \end{array}
    \right)
    \)
    より、
    \((1.0-λ)^2=0.7^2\)

    よって、固有値λ=1.7,0.3
    固有ベクトルは単位ベクトルを気にせず求めると
    \(v\)=\(\left(
    \begin{array}{cccc}
    1 \\
    1
    \end{array}
    \right)
    \),\(\left(
    \begin{array}{cccc}
    -1 \\
    1
    \end{array}
    \right)
    \)
    となります。

    平方和行列と相関係数行列のそれぞれ結果をまとめると、

    1. 行列は\(S=R\)の関係が成り立つ
    2. 固有値も固有ベクトルも同じになる
    3. でも、非常にレアなデータである点に注意

    まとめ

    「【注意】平方和・相関係数行列から求めた固有値・固有ベクトルは一致しないがわかる」を解説しました。

    • ①平方和行列と相関係数行列は別物
    • ➁平方和行列と相関係数行列から固有値・固有ベクトルを算出
    • ➂平方和行列と相関係数行列は関係性がある場合がある
    • ➃平方和が等しい場合
    • ➄平方和が1の場合

  • 主成分分析と回帰分析の違いがわかる

    主成分分析と回帰分析の違いがわかる

    「主成分分析と回帰分析って何が違いのかわからない」と困っていませんか?

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

    本記事のテーマ

    主成分分析と回帰分析の違いがわかる

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

    • ①主成分分析と回帰分析の違い
    • ➁主成分分析
    • ➂回帰分析
    • ➃主成分方向と回帰直線の違い
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】多変量解析問題集を販売します!

    QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
    【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    実際に主成分分析と回帰分析を解いて違いを理解しましょう。

    ①主成分分析と回帰分析の違い

    全く別物

    定義を自分の言葉でおさえていると、違いがはっきりします。

    【回帰分析とは】
    データとの誤差が最小になる直線・面を作ること
    【主成分分析とは】
    データをできるだけ集約できる方向を求めること

    データとの誤差が最小にする方法と

    データを最大限に集約する方法

    全く違う手法ですが、意外と違いはあいまいな人が多いです。

    どの程度違うか実際解いてみよう

    主成分分析と回帰分析の違いがあいまいになる理由は

    同じデータを使って両手法を比較していないから

    なので、本記事ではわかりやすくするため、
    1つの簡易データを使って
    主成分分析と単回帰分析の違いを解きながら見ていきます。

    解析データ

    主成分分析と単回帰分析を実施するためのデータを用意します。

    No \(x\) \(y\) A=
    \(x\)-\(\bar{x}\)
    B=
    \(y-\bar{y}\)
    \(A^2\) \(AB\) \(B^2\)
    1 0 1 -2 -2 4 4 4
    2 1 3 -1 0 1 0 0
    3 2 2 0 -1 0 0 1
    4 3 4 1 1 1 1 1
    5 4 5 2 2 4 4 4
    合計 10 15 0 0 10 9 10
    平均 2 3 ↑\(S_{xx}\) ↑\(S_{xy}\) ↑\(S_{yy}\)

    ➁主成分分析

    基礎は関連記事で

    主成分分析の解析方法は関連記事で詳細に解説しています。ご確認ください。

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

    主成分分析の解法

    主成分分析では、
    ●相関係数行列
    ●固有値
    ●固有ベクトル
    ●主成分の寄与率

    ●因子負荷量
    ●主成分負荷量
    ●主成分得点
    など解きますが、今回は上の4つを解いて回帰分析との違いを比較しましょう。

    相関係数行列の解法

    相関係数は
    ●\(r_{xx}\)=\(\frac{S_{xx}}{\sqrt{S_{xx} S_{xx}}}\)=1
    ●\(r_{xy}\)=\(\frac{S_{xy}}{\sqrt{S_{xx} S_{yy}}}\)=\(\frac{9}{\sqrt{10^2}}\)=0.9
    ●\(r_{yy}\)=\(\frac{S_{xx}}{\sqrt{S_{xx} S_{xx}}}\)=1

    ●相関係数行列\(R\)
    =\(\left(
    \begin{array}{cccc}
    r_{xx} & r_{xy} \\
    r_{xy} & r_{yy} \\
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    1 & 0.9 \\
    0.9 & 1 \\
    \end{array}
    \right)
    \)

    固有値の解法

    上の表の平方和から固有方程式を作ります。固有値はλと置きます。

    固有方程式
    \(Rv\)=\(λv\)
    より

    \(\left(
    \begin{array}{cccc}
    r_{xx} & r_{xy} \\
    r_{xy} & r_{yy} \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    \end{array}
    \right)
    \)=\(λ\)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    \end{array}
    \right)
    \)を満たす、固有値\(λ\)と固有ベクト\(v\)を解きます。

    変形して
    \(\left(
    \begin{array}{cccc}
    1-λ & 0.9 \\
    0.9 & 1-λ \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    0 \\
    0\\
    \end{array}
    \right)
    \)
    より、
    \((1-λ)^2-0.81=0\)
    \(λ\)=1.9,0.1

    固有値が出ました。

    固有ベクトルの解法

    固有値が2つあるので、

    ●λ=1.9のとき
    \(\left(
    \begin{array}{cccc}
    -0.9 & 0.9 \\
    0.9 & -0.9 \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    0 \\
    0\\
    \end{array}
    \right)
    \)
    から、単位ベクトルに注意すると
    \(v_1\)=\(\frac{1}{\sqrt{2}}
    \left(
    \begin{array}{c}
    1 \\
    1\\
    \end{array}
    \right)
    \)

    ●λ=0.1のとき
    \(\left(
    \begin{array}{cccc}
    0.9 & 0.9 \\
    0.9 & 0.9 \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    0 \\
    0\\
    \end{array}
    \right)
    \)
    から、単位ベクトルに注意すると
    \(v_1\)=\(\frac{1}{\sqrt{2}}
    \left(
    \begin{array}{c}
    -1 \\
    1\\
    \end{array}
    \right)
    \)

    主成分の寄与率

    主成分の寄与率は\(\frac{λ_i}{2}\)より
    ●主成分1の寄与率=\(\frac{1.9}{2}\)=0.95
    ●主成分2の寄与率=\(\frac{0.1}{2}\)=0.05
    となります。

    ➂回帰分析

    単回帰分析では、回帰直線と寄与率を求めます。

    回帰直線

    ●傾きは\(\frac{S_{xy}}{S_{xx}}\)=0.9
    ●y切片は \(\bar{y}\)-0.9\(\bar{x}\)=1.2

    よって、
    \(y=0.9x+1.2\)

    寄与率R

    寄与率R=\(\frac{S_{xy}^2}{S_{xx} S_{yy}}\)=0.81
    となります。

    両手法の比較をわかりやすくするため、計算はこんなくらいで簡単に済ませましょう。

    ➃主成分方向と回帰直線の違い

    傾き、ベクトル

    両者の結果をグラフにプロットしましょう。

    主成分分析

    回帰直線の目的は

    【回帰分析とは】
    データとの誤差が最小になる直線・面を作ること

    誤差が最小となるように回帰直線が作られます。

    主成分分析

    主成分分析の目的は

    【主成分分析とは】
    データをできるだけ集約できる方向を求めること

    データが最大限集約できる方向が計算できます。

    主成分分析

    両者を再度比較すると、若干傾きが異なっていることがわかります。
    主成分分析と回帰分析は目的が違うため、傾きが異なるのは当然です。

    主成分分析

    ですが、両者がどれくらい異なるかは、一回演習して見ておくことは大事です。

    寄与率

    なお、主成分分析と回帰分析において、寄与率と同じ言葉を使っても意味が異なります。

    主成分分析の寄与率=固有値/全自由度
    回帰分析の寄与率 =\(\frac{S_{xy}}{S_{xx} S_{yy}}\)<
    と全く別物です。

    とはいえ、

    いろいろな多変量解析を学ぶと
    各手法と変数を覚えていくことになり、
    同じ変数名があると、うまく整理しないと混乱していきます。

    主成分分析と回帰分析は全く別物ですが、目的や変数の意味を理解して整理しないと、混乱のもとになるので、1つずつ理解を深めていきましょう。

    まとめ

    「主成分分析と回帰分析の違いがわかる」を解説しました。

    • ①主成分分析と回帰分析の違い
    • ➁主成分分析
    • ➂回帰分析
    • ➃主成分方向と回帰直線の違い

  • 主成分分析ができる(2次元)

    主成分分析ができる(2次元)

    「主成分分析がうまくできない」などと困っていませんか?

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

    本記事のテーマ

    主成分分析ができる(2次元)

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

    • ①例題
    • ➁相関係数行列の計算
    • ➂固有値、固有ベクトルの計算
    • ➃主成分の寄与率、累積寄与率
    • ➄因子負荷量
    • ⑥主成分負荷量
    • ⑦主成分得点
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】多変量解析問題集を販売します!

    QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
    【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    2次元は簡単なので、解き方をしっかり理解してから次元数を増やしていきましょう。

    ①例題

    主成分分析の本質

    主成分分析はいろいろな値が計算できますが、本質をおさえることが最重要です。関連記事で解説していますので、まずは確認してください。

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

    例題

    2次元の主成分分析の例題は次の通りです。

    例題

    【問題】
    以下のデータにおいて、主成分分析せよ。
    (1)相関係数行列\(R\)
    (2)固有値\(λ_i\)
    (3)固有ベクトル\(v_i\)
    (4)寄与率と累積寄与率
    (5)因子負荷量(標準化)
    (6)主成分得点(標準化)

    データ(下表)

    No x y
    1 0 1
    2 1 3
    3 2 2
    4 3 4
    5 4 5
    合計 10 15
    平均 2 3

    2次元の主成分分析なので、手計算で解いて主成分分析の理解を深めましょう。

    データの標準化

    因子負荷量や主成分得点などをツールから計算するために、データを標準化しておきます。
    データの標準化は
    \(z_i\)=\(\frac{x_i-\bar{x}}{s}\)と変換して、
    平均0、標準偏差\(s\)=1の変数\(z_i\)に変換することです。

    上のデータ表からは、標準偏差を計算すると、下表になります。

    No x y
    標準偏差\(s\) 1.41 1.41

    なので、データを標準化します。結果は下表のとおりです。

    No x y
    1 -1.414 -1.414
    2 -0.707 0
    3 0 -0.707
    4 0.707 0.707
    5 1.414 1.414
    合計 0 0
    平均 0 0
    標準偏差 1 1

    確かに、平均0、標準偏差1に変換できていますね。

    ➁相関係数行列の計算

    各平方和を先に計算

    科目ごとの平方和を先に計算します。
    \(S_{xx}\)=\(\sum_{i=1}^{n}(x_{i}-\bar{x})^2\)
    \(S_{yy}\)=\(\sum_{i=1}^{n}(y_{i}-\bar{y})^2\)
    \(S_{xy}\)=\(\sum_{i=1}^{n}(x_{i}-\bar{x})(y_{i}-\bar{y})\)
    と計算します。

    全部のパターンを計算した結果を下表にまとめます。

    平方和S x y
    x \(S_{xx}\)=10 \(S_{xy}\)=9
    y \(S_{xy}\)=9 \(S_{yy}\)=10

    相関係数行列の計算

    相関係数\(r_{ij}\)は
    ●\(r_{ij}\)=\(\frac{S_{ij}}{\sqrt{S_{ii} S_{jj}}}\)
    から計算できて、それをまとめたら
    相関係数行列が計算できますね。

    まず、さっき求めた平方和\(S_{ij}\)から相関係数\(r_{ij})\)を計算すると下表になります。

    相関係数\(r_{ij}\) x y
    x \(r_{xx}\)=1 \(r_{xy}\)=0.9
    y \(r_{xy}\)=0.9 \(r_{yy}\)=1

    よって相関係数行\(R\)は

    \(R\)=\(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} \\
    r_{21} & r_{22} \\
    \end{array}
    \right)
    \)
    =\(\left(
    \begin{array}{cccc}
    1 & 0.9 \\
    0.9 & 1 \\
    \end{array}
    \right)
    \)

    2次元なら、あえて相関係数行列は要らないですが、3次元、5次元と関連記事で解説していますので、流れは理解しておきましょう。

    ➂固有値、固有ベクトルの計算

    固有値、固有ベクトルの解法

    ツールを使った解法を解説する前に、主成分分析の本質を再確認しましょう。

    本記事のテーマではありませんが、主成分分析は必ず固有方程式を解きます。

    固有方程式

    平方和でも相関係数でもどちらでも固有方程式は解けますが、今回は相関係数を使って解きます。

    固有方程式
    \(Rv\)=\(λv\)
    より

    \(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} \\
    r_{21} & r_{22} \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    \end{array}
    \right)
    \)=\(λ\)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    \end{array}
    \right)
    \)
    を満たす、固有値\(λ\)と固有ベクト\(v\)を解きます。

    【重要】固有値の計算

    2×2行列における、固有方程式を書くと
    \(Rv\)=\(λv\)
    \((R-λE)v=0\)
    より

    行列式|\(R-λE\)|=0を満たすλを計算します。ただ、2×2行列なので、ad-bc=0の簡単な式になります。

    \((R-λE)\)=\(\left(
    \begin{array}{cccc}
    r_{11}-λ & r_{12} \\
    r_{21} & r_{22}-λ \\
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    1-λ & 0.9 \\
    0.9 & 1-λ \\
    \end{array}
    \right)
    \)
    から

    |\(R-λE\)|=\((1-λ)^2-0.9^2\)=0
    \((1-λ)\)=±0.9
    よって、固有値は
    ●λ1=1.9
    ●λ2=0.1
    となります。

    裏話ですが、固有値が因数分解可能なくらい簡単な2次方程式で計算できましたが、そうなるようにQCプラネッツ側でデータを作りました。普段は解の方式で、固有値が無理数になります。

    【重要】固有ベクトルの計算

    λ1=1.9 の場合

    \(\left(
    \begin{array}{cccc}
    -0.9 & 0.9 \\
    0.9 & -0.9 \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    v_{11} \\
    v_{12}\\
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    0 \\
    0\\
    \end{array}
    \right)
    \)
    から、関係式を作ると

    ●\(- 0.9v_{11} + 0.9v_{12}\)=0
    ●単位ベクトル
    を考えると

    よって、固有ベクトル\(v_1\)は
    \(v_1\)=\(
    \left(
    \begin{array}{c}
    \frac{1}{\sqrt{2}} \\
    \frac{1}{\sqrt{2}} \\
    \end{array}
    \right)
    \)

    λ2=0.1の場合

    \(\left(
    \begin{array}{cccc}
    0.9 & 0.9 \\
    0.9 & 0.9 \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    v_{21} \\
    v_{22}\\
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    0 \\
    0\\
    \end{array}
    \right)
    \)
    から、関係式を作ると

    ●\(0.9v_{21} + 0.9v_{22}\)=0
    ●単位ベクトル
    を考えると

    よって、固有ベクトル\(v_2\)は
    \(v_2\)=\(
    \left(
    \begin{array}{c}
    -\frac{1}{\sqrt{2}} \\
    \frac{1}{\sqrt{2}} \\
    \end{array}
    \right)
    \)

    以上、固有値と固有ベクトルを下表にまとめます。

    固有ベクトル 主成分1 主成分2
    x1 \(\frac{1}{\sqrt{2}}\) \(\frac{1}{\sqrt{2}}\)
    x2 -\(\frac{1}{\sqrt{2}}\) \(\frac{1}{\sqrt{2}}\)
    固有値 1.9 0.1

    固有値、固有ベクトルの計算結果を検算

    固有値の計算の理解を深める方法の1つとして、実際に検算することをお勧めします。
    実際、検算すると\(Rv=λv\)が成り立ちます。

    ここからは、個々の値を求めていきましょう。

    単に数字があっていればOKではなく、値の意味をまず関連記事で確認しましょう。

    主成分分析が計算できる
    主成分負荷量、主成分得点、主成分平方和、主成分の寄与率は説明・計算ができますか? 本記事は各変数の導出方法を丁寧に解説します。ただ、主成分分析の本質は先に習得しておきましょう。多変量解析を学ぶ人は必読です。

    ➃主成分の寄与率、累積寄与率

    主成分の寄与率、累積寄与率

    ●主成分の寄与率は、個々の固有値を自由度で割った値ですね。
    ●累積寄与率は、寄与率の累積値です。

    固有値はそれぞれλ1=1.9, λ2=0.1 です。

    結果は下表のとおりです。

    主成分寄与率 主成分1 主成分2
    固有値 1.9 0.1
    寄与率 0.95 0.05
    累積寄与率 0.95 1

    寄与率を平方和でなく固有値で考える理由

    各主成分の平方和は固有値になります。これは関連記事で解説していますが、一番簡単にわかる証明方法があります。

    固有方程式 \(Sv\)=\(λv\)から
    全ての変数をスカラ(数値)と考えると、
    両辺を\(v\)で割れば、
    (平方和)\(S\)=\(λ\)(固有値)

    確かに、(平方和)\(S\)=\(λ\)(固有値)となりますよね。これを行列、ベクトル表記にしてn次元化していますが、考え方は同じなので、主成分平方和は固有値として考えてよいということです。平方和と固有値は別物と思いがちですが、一致しています。意外ですよね。

    ➄因子負荷量

    因子負荷量の公式

    因子負荷量の公式を下表にまとめます。公式から計算しましょう。

    因子負荷量 主成分1 主成分2
    主成分1 \(v_{11} \sqrt{λ_1}\) \(v_{21} \sqrt{λ_2}\)
    主成分2 \(v_{12} \sqrt{λ_1}\) \(v_{22} \sqrt{λ_2}\)

    因子負荷量の計算結果

    因子負荷量 主成分1 主成分2
    主成分1 0.975 0.975
    主成分2 -0.224 0.224

    ➄主成分負荷量

    「主成分負荷量」名前は立派ですが、簡単にいうと固有ベクトルの個々の値です。すでに表で結果が出ていますが、再掲します。

    主成分負荷量 主成分1 主成分2
    主成分1 0.7071 0.7071
    主成分2 -0.7071 0.7071

    ⑥主成分得点

    主成分得点の求め方は、

    主成分得点は、標準化した各データに
    個々の主成分負荷量を
    掛け算して足し合わせたもの
    つまり、
    主成分得点\(z_i\)=\(λ_1 x_{1j}\)+\(λ_2 x_{2j}\)

    主成分得点の結果を下表にまとめます。

    No 主成分1 主成分2
    1.000 -2.000 1.000
    2.000 -0.500 0.000
    3.000 -0.500 0.500
    4.000 1.000 -0.500
    5.000 2.000 -1.000
    合計 0.000 0.000

    2次元主成分分析でしっかり解法の流れを理解しましょう。

    主成分分析は解析のボリュームが多いですが、
    何を求めているのかを常に意識しましょう。

    まとめ

    「主成分分析ができる(2次元)」を解説しました。

    • ①例題
    • ➁相関係数行列の計算
    • ➂固有値、固有ベクトルの計算
    • ➃主成分の寄与率、累積寄与率
    • ➄因子負荷量
    • ⑥主成分負荷量
    • ⑦主成分得点

  • 主成分分析ができる(3次元)

    主成分分析ができる(3次元)

    「主成分分析がうまくできない」などと困っていませんか?

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

    本記事のテーマ

    主成分分析ができる(3次元)

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

    • ①例題
    • ➁相関係数行列の計算
    • ➂固有値、固有ベクトルの計算
    • ➃主成分の寄与率、累積寄与率
    • ➄因子負荷量
    • ⑥主成分負荷量
    • ⑦主成分得点
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】多変量解析問題集を販売します!

    QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
    【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    ただ、多次元になると
    固有方程式が手計算で解くのは辛い!
    今回はツールを使って解きます。

    ①例題

    主成分分析の本質

    主成分分析はいろいろな値が計算できますが、本質をおさえることが最重要です。関連記事で解説していますので、まずは確認してください。

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

    例題

    3次元の主成分分析の例題は次の通りです。3次元の行列式を解く場面もあるので、行列式も練習しましょう。

    例題

    【問題】
    以下のデータにおいて、主成分分析せよ。
    (1)相関係数行列\(R\)
    (2)固有値\(λ_i\)
    (3)固有ベクトル\(v_i\)
    (4)寄与率と累積寄与率
    (5)因子負荷量(標準化)
    (6)主成分得点(標準化)

    データ(下表)

    No x1 x2 x3
    1 1 5 4
    2 2 4 2
    3 3 3 3
    4 4 4 1
    5 5 5 5
    15 21 15
    平均 3 4.2 3

    3次元の主成分分析ですが、手計算で解いて主成分分析の理解を深めましょう。

    データの標準化

    因子負荷量や主成分得点などをツールから計算するために、データを標準化しておきます。
    データの標準化は
    \(z_i\)=\(\frac{x_i-\bar{x}}{s}\)と変換して、
    平均0、標準偏差\(s\)=1の変数\(z_i\)に変換することです。

    上のデータ表からは、標準偏差を計算すると、下表になります。

    No x1 x2 x3
    標準偏差\(s\) 1.41 0.75 1.41

    なので、データを標準化します。結果は下表のとおりです。

    No x1 x2 x3
    1 -1.414 1.069 0.707
    2 -0.707 -0.267 -0.707
    3 0 -1.604 0
    4 0.707 -0.267 -1.414
    5 1.414 1.069 1.414
    0 0 0
    平均 0 0 0
    標準偏差 1 1 1

    確かに、平均0、標準偏差1に変換できていますね。

    ➁相関係数行列の計算

    各平方和を先に計算

    科目ごとの平方和を先に計算します。
    \(S_{ij}\)=\(\sum_{k=1}^{n}(x_{ki}-\bar{x_i})(x_{kj}-\bar{x_j})\)
    として、x1とx2の平方和は
    \(S_{12}\)=\(\sum_{k=1}^{n=5}(x_{ki}-\bar{x_i})(x_{kj}-\bar{x_j})\)
    と計算します。

    全部のパターンを計算した結果を下表にまとめます。

    平方和S x1 x2 x3
    x1 \(S_{11}\)=10 \(S_{12}\)=0 \(S_{13}\)=1
    x2 \(S_{21}\)=0 \(S_{22}\)=2.8 \(S_{23}\)=3
    x3 \(S_{31}\)=1 \(S_{32}\)=3 \(S_{33}\)=10

    相関係数行列の計算

    相関係数\(r_{ij}\)は
    ●\(r_{ij}\)=\(\frac{S_{ij}}{\sqrt{S_{ii} S_{jj}}}\)
    から計算できて、それをまとめたら
    相関係数行列が計算できますね。

    まず、さっき求めた平方和\(S_{ij}\)から相関係数\(r_{ij})\)を計算すると下表になります。

    相関係数\(r_{ij}\) x1 x2 x3
    x1 \(r_{11}\)=1 \(r_{12}\)=0 \(r_{13}\)=0.1
    x2 \(r_{21}\)=0 \(r_{22}\)=1 \(r_{23}\)=0.567
    x3 \(r_{31}\)=0.1 \(r_{32}\)=0.567 \(r_{33}\)=1

    よって相関係数行\(R\)は

    \(R\)=\(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} & r_{13} \\
    r_{21} & r_{22} & r_{23} \\
    r_{31} & r_{32} & r_{33} \\
    \end{array}
    \right)
    \)
    =\(\left(
    \begin{array}{cccc}
    1 & 0 & 0.1 \\
    0 & 1 & 0.567 \\
    0.1 & 0.567 & 1 \\
    \end{array}
    \right)
    \)

    ここで、相関係数\(r_{12}\)=0となっています。変な感じですが、このあとの行列式を簡単に解くためにあえて、相関係数0になるように、x2のデータを作っています。

    x2-x1のグラフをプロットすると2次関数っぽい感じになります。(プロットしてみてくださいね。)

    ➂固有値、固有ベクトルの計算

    固有値、固有ベクトルの解法

    ツールを使った解法を解説する前に、主成分分析の本質を再確認しましょう。

    本記事のテーマではありませんが、主成分分析は必ず固有方程式を解きます。

    固有方程式

    平方和でも相関係数でもどちらでも固有方程式は解けますが、今回は相関係数を使って解きます。

    固有方程式
    \(Rv\)=\(λv\)
    より

    \(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} & r_{13} \\
    r_{21} & r_{22} & r_{23} \\
    r_{31} & r_{32} & r_{33} \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    c\\
    \end{array}
    \right)
    \)=\(λ\)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    c\\
    \end{array}
    \right)
    \)
    を満たす、固有値\(λ\)と固有ベクト\(v\)を解きます。

    3次元になりますが、行列式を解いて手計算で行きましょう。
    その後で、解析ツールに頼りましょう。
    手計算で何を解いているのかの理解を深めましょう。

    【重要】固有値の計算

    3×3行列における、固有方程式を書くと
    \(Rv\)=\(λv\)
    \((R-λE)v=0\)
    より

    行列式|\(R-λE\)|=0を満たすλを計算します。

    \(R-λE\)=\(\left(
    \begin{array}{cccc}
    r_{11}-λ & r_{12} & r_{13} \\
    r_{21} & r_{22}-λ & r_{23} \\
    r_{31} & r_{32} & r_{33}-λ \\
    \end{array}
    \right)
    \)
    から

    |\(R-λE\)|=\(
    \begin{vmatrix}
    r_{11}-λ & r_{12} & r_{13} \\
    r_{21} & r_{22}-λ & r_{23} \\
    r_{31} & r_{32} & r_{33}-λ \\
    \end{vmatrix}
    \)=\(
    \begin{vmatrix}
    1-λ & 0 & b \\
    0 & 1-λ & a \\
    b & a & 1-λ \\
    \end{vmatrix}
    \)
    (\(a\)=0.567,\(b\)=0.1とします。)

    行列式の公式を紹介すると

    \(
    \begin{vmatrix}
    A_{11} & A_{12} & A_{13} \\
    A_{21} & A_{22} & A_{23} \\
    A_{31} & A_{32} & A_{33}-λ \\
    \end{vmatrix}
    \)
    \(A_{11}A_{22}A_{33}\)+\(A_{12}A_{23}A_{31}\)+\(A_{13}A_{21}A_{32}\)
    -\(A_{13}A_{22}A_{31}\)-\(A_{12}A_{21}A_{33}\)-\(A_{11}A_{23}A_{32}\)
    となります。線形代数の教科書に書いていますので参考ください。

    行列式を解くと
    \(
    \begin{vmatrix}
    1-λ & 0 & b \\
    0 & 1-λ & a \\
    b & a & 1-λ \\
    \end{vmatrix}
    \)
    =\((1-λ)^3\)+0+0-\(b^2(1-λ)\)-0-\(a^2(1-λ)\)
    =\((1-λ)((1-λ)^2-(a^2+b^2))\)=0
    となり、綺麗に因数分解できます。

    一般的には、因数分解できない3次方程式が多いので、数値解析しますが、今回は勉強用に因数分解でできるデータを用意しました。

    よって、固有値λは
    λ=1, 1±\(\sqrt{a^2+b^2}\)
    \(a\)=0.567,\(b\)=0.1を代入して
    ●λ1=1.5757
    ●λ2=1
    ●λ3=0.4243
    となります。

    \(c=\sqrt{a^2+b^2}\)として、今後
    ●λ1=1+c
    ●λ2=1
    と簡略化して、最後に値を代入しましょう。

    【重要】固有ベクトルの計算

    λ1=1+c の場合

    \(\left(
    \begin{array}{cccc}
    -c & 0 & b \\
    0 & -c & a \\
    b & a & -c \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    v_{11} \\
    v_{12}\\
    v_{13}\\
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    0 \\
    0\\
    0\\
    \end{array}
    \right)
    \)
    から、関係式を作ると

    ●\(-cv_{11}+bv_{13}\)=0
    ●\(-cv_{12}+av_{13}\)=0
    \(v_{13}\)=1とすると
    ・\(v_{11}\)=\(\frac{b}{c}\)
    ・\(v_{12}\)=\(\frac{a}{c}\)

    よって、固有ベクトル\(v_1\)は
    \(v_1\)=\(
    \left(
    \begin{array}{c}
    b \\
    a\\
    c\\
    \end{array}
    \right)
    \)
    となり、大きさ|\(v_1\)|は
    |\(v_1\)|2=\(a^2+b^2+c^2\)=\(2c^2\)
    |\(v_1\)|=\(\sqrt{2}c\)
    となります。まとめると、

    \(v_1\)=\(\frac{1}{\sqrt{2}c}
    \left(
    \begin{array}{c}
    0.1228 \\
    0.6965\\
    0.7072\\
    \end{array}
    \right)
    \)
    となります。

    λ2=1の場合

    同様に解くと、

    \(\left(
    \begin{array}{cccc}
    0 & 0 & b \\
    0 & 0 & a \\
    b & a & 0 \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    v_{21} \\
    v_{22}\\
    v_{23}\\
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    0 \\
    0\\
    0\\
    \end{array}
    \right)
    \)
    から、関係式を作ると

    ●\(bv _{23}\)=0
    ●\(av_{23}\)=0
    ●\(bv_{21}+av_{22}=0\)
    \(v_{23}\)=0, (bv_{21}+av_{22}=0\)を満たしつつ、単位ベクトルとなるように解くと、

    よって、固有ベクトル\(v_2\)は
    \(v_2\)=\(
    \left(
    \begin{array}{c}
    0.9848 \\
    -0.1737\\
    0\\
    \end{array}
    \right)
    \)
    となります。

    λ3=1-c の場合

    同様に解くと

    \(v_3\)=\(
    \left(
    \begin{array}{c}
    0.1228\\
    0.6964\\
    -0.7071\\
    \end{array}
    \right)
    \)
    となります。

    以上、固有値と固有ベクトルを下表にまとめます。

    固有ベクトル 主成分1 主成分2 主成分3
    x1 0.1228 0.9848 0.1228
    x2 0.6964 -0.1737 0.6964
    x3 0.7071 0 -0.7071
    固有値 1.5757 1 0.4243

    固有値、固有ベクトルの計算結果を検算

    固有値の計算の理解を深める方法の1つとして、実際に検算することをお勧めします。
    実際、検算すると\(Rv=λv\)が成り立ちます。

    ここからは、個々の値を求めていきましょう。

    単に数字があっていればOKではなく、値の意味をまず関連記事で確認しましょう。

    主成分分析が計算できる
    主成分負荷量、主成分得点、主成分平方和、主成分の寄与率は説明・計算ができますか? 本記事は各変数の導出方法を丁寧に解説します。ただ、主成分分析の本質は先に習得しておきましょう。多変量解析を学ぶ人は必読です。

    ➃主成分の寄与率、累積寄与率

    主成分の寄与率、累積寄与率

    ●主成分の寄与率は、個々の固有値を自由度で割った値ですね。
    ●累積寄与率は、寄与率の累積値です。

    結果は下表のとおりです。

    主成分寄与率 主成分1 主成分2 主成分3
    固有値 1.5757 1 0.4243
    寄与率 0.525 0.333 0.142
    累積寄与率 0.525 0.858 1

    寄与率を平方和でなく固有値で考える理由

    各主成分の平方和は固有値になります。これは関連記事で解説していますが、一番簡単にわかる証明方法があります。

    固有方程式 \(Sv\)=\(λv\)から
    全ての変数をスカラ(数値)と考えると、
    両辺を\(v\)で割れば、
    (平方和)\(S\)=\(λ\)(固有値)

    確かに、(平方和)\(S\)=\(λ\)(固有値)となりますよね。これを行列、ベクトル表記にしてn次元化していますが、考え方は同じなので、主成分平方和は固有値として考えてよいということです。平方和と固有値は別物と思いがちですが、一致しています。意外ですよね。

    ➄因子負荷量

    因子負荷量の公式

    因子負荷量の公式を下表にまとめます。公式から計算しましょう。

    因子負荷量 主成分1 主成分2 主成分3
    主成分1 \(v_{11} \sqrt{λ_1}\) \(v_{21} \sqrt{λ_2}\) \(v_{31} \sqrt{λ_3}\)
    主成分2 \(v_{12} \sqrt{λ_1}\) \(v_{22} \sqrt{λ_2}\) \(v_{32} \sqrt{λ_3}\)
    主成分3 \(v_{13} \sqrt{λ_1}\) \(v_{23} \sqrt{λ_2}\) \(v_{33} \sqrt{λ_3}\)

    因子負荷量の計算結果

    因子負荷量 主成分1 主成分2 主成分3
    主成分1 0.1542 0.8741 0.8876
    主成分2 0.9848 -0.1737 0
    主成分3 0.08 0.4536 -0.4606

    ➄主成分負荷量

    「主成分負荷量」名前は立派ですが、簡単にいうと固有ベクトルの個々の値です。すでに表で結果が出ていますが、再掲します。

    主成分負荷量 主成分1 主成分2 主成分3
    主成分1 0.1228 0.6964 0.7071
    主成分2 0.9848 -0.1737 0
    主成分3 0.1228 0.6964 -0.7071

    ⑥主成分得点

    主成分得点の求め方は、

    主成分得点は、標準化した各データに
    個々の主成分負荷量を
    掛け算して足し合わせたもの
    つまり、
    主成分得点\(z_i\)=\(λ_1 x_{1j}\)+\(λ_2 x_{2j}\)+\(λ_3 x_{3j}\)

    主成分得点の結果を下表にまとめます。

    主成分得点 主成分1 主成分2 主成分3
    1 -0.9577 -1.4118 0.0633
    2 0.6914 -0.5813 0.2031
    3 0.9988 0.2491 -0.9988
    4 0.9832 0.6644 0.8056
    5 -1.7156 1.0796 -0.0732

    長い計算でしたが、3次元主成分分析ができましたね。

    主成分分析は解析のボリュームが多いですが、
    何を求めているのかを常に意識しましょう。

    まとめ

    「主成分分析ができる(3次元)」を解説しました。

    • ①例題
    • ➁相関係数行列の計算
    • ➂固有値、固有ベクトルの計算
    • ➃主成分の寄与率、累積寄与率
    • ➄因子負荷量
    • ⑥主成分負荷量
    • ⑦主成分得点

  • 主成分分析ができる(5次元)

    主成分分析ができる(5次元)

    「主成分分析がうまくできない」などと困っていませんか?

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

    本記事のテーマ

    主成分分析ができる(5次元)

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

    • ①例題
    • ➁相関係数行列の計算
    • ➂固有値、固有ベクトルの計算
    • ➃主成分の寄与率、累積寄与率
    • ➄因子負荷量
    • ⑥主成分負荷量
    • ⑦主成分得点
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】多変量解析問題集を販売します!

    QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
    【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    ただ、多次元になると
    固有方程式が手計算で解くのは辛い!
    今回はツールを使って解きます。

    ①例題

    主成分分析の本質

    主成分分析はいろいろな値が計算できますが、本質をおさえることが最重要です。関連記事で解説していますので、まずは確認してください。

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

    例題

    QC検定®1級受験に必須な教科書にある、5次元の主成分分析を実際に解いてみましょう。

    ●商標使用について、
    ①QC検定®と品質管理検定®は、一般財団法人日本規格協会の登録商標です。
    ➁このコンテンツは、一般財団法人日本規格協会の承認や推奨、その他の検討を受けたものではありません。
    ➂QCプラネッツは、QC検定®と品質管理検定®の商標使用許可を受けています。

    例題

    【問題】
    30人に対して5科目(英語、数学、国語、理科、社会)の試験を実施した点数結果である。これを主成分分析せよ。
    (1)相関係数行列\(R\)
    (2)固有値\(λ_i\)
    (3)固有ベクトル\(v_i\)
    (4)寄与率と累積寄与率
    (5)因子負荷量(標準化)
    (6)主成分得点(標準化)

    データ(下表)

    No 英語(1) 数学(2) 国語(3) 理科(4) 社会(5)
    1 74 90 74 95 73
    2 79 100 74 89 82
    3 74 68 70 60 77
    4 70 66 64 74 62
    5 53 49 54 41 51
    6 63 43 55 51 61
    7 64 42 71 56 59
    8 48 36 61 47 51
    9 64 88 69 91 73
    10 77 78 72 72 82
    11 79 76 74 77 64
    12 86 89 75 78 78
    13 46 30 61 51 63
    14 90 78 71 83 76
    15 67 45 61 51 67
    16 64 41 66 44 58
    17 57 65 69 59 56
    18 78 79 73 97 85
    19 56 43 62 56 62
    20 96 92 79 93 78
    21 71 53 67 48 65
    22 91 74 80 86 92
    23 59 42 63 58 52
    24 58 42 62 48 53
    25 72 95 75 98 66
    26 90 98 76 84 82
    27 84 77 87 79 82
    28 58 41 65 45 67
    29 63 46 58 55 65
    30 79 71 76 69 83
    合計 2110 1937 2064 2035 2065
    平均 70.33 64.57 68.8 67.83 68.83
    標準偏差 13.03 21.23 7.63 18.14 11.28

    教科書以上に詳しく解法を解説していきます。

    ここで、各科目に数字を入れています。英語なら「1」、数学なら「2」として区別します。

    データの標準化

    因子負荷量や主成分得点などをツールから計算するために、データを標準化しておきます。
    データの標準化は
    \(z_i\)=\(\frac{x_i-\bar{x}}{s}\)と変換して、
    平均0、標準偏差\(s\)=1の変数\(z_i\)に変換することです。

    上のデータ表からは、

    No 英語(1) 数学(2) 国語(3) 理科(4) 社会(5)
    合計 2110 1937 2064 2035 2065
    平均\(\bar{x}\) 70.33 64.57 68.8 67.83 68.83
    標準偏差\(s\) 13.03 21.23 7.63 18.14 11.28

    なので、データを標準化します。結果は下表のとおりです。

    No 英語(1) 数学(2) 国語(3) 理科(4) 社会(5)
    1 0.281 1.198 0.682 1.498 0.369
    2 0.665 1.669 0.682 1.167 1.167
    3 0.281 0.162 0.157 -0.432 0.724
    4 -0.026 0.067 -0.629 0.34 -0.606
    5 -1.33 -0.733 -1.941 -1.48 -1.581
    6 -0.563 -1.016 -1.81 -0.928 -0.694
    7 -0.486 -1.063 0.288 -0.652 -0.872
    8 -1.713 -1.345 -1.023 -1.149 -1.581
    9 -0.486 1.104 0.026 1.277 0.369
    10 0.511 0.633 0.42 0.23 1.167
    11 0.665 0.538 0.682 0.505 -0.428
    12 1.202 1.151 0.813 0.561 0.813
    13 -1.867 -1.628 -1.023 -0.928 -0.517
    14 1.509 0.633 0.288 0.836 0.635
    15 -0.256 -0.921 -1.023 -0.928 -0.163
    16 -0.486 -1.11 -0.367 -1.314 -0.96
    17 -1.023 0.02 0.026 -0.487 -1.138
    18 0.588 0.68 0.551 1.608 1.433
    19 -1.1 -1.016 -0.892 -0.652 -0.606
    20 1.969 1.292 1.337 1.388 0.813
    21 0.051 -0.545 -0.236 -1.094 -0.34
    22 1.586 0.444 1.469 1.002 2.054
    23 -0.87 -1.063 -0.761 -0.542 -1.492
    24 -0.946 -1.063 -0.892 -1.094 -1.403
    25 0.128 1.433 0.813 1.663 -0.251
    26 1.509 1.574 0.944 0.891 1.167
    27 1.049 0.586 2.386 0.616 1.167
    28 -0.946 -1.11 -0.498 -1.259 -0.163
    29 -0.563 -0.874 -1.416 -0.708 -0.34
    30 0.665 0.303 0.944 0.064 1.256
    合計 0 0 0 0 0
    平均 0 0 0 0 0
    標準偏差 1 1 1 1 1

    確かに、平均0、標準偏差1に変換できていますね。

    ➁相関係数行列の計算

    各平方和を先に計算

    科目ごとの平方和を先に計算します。
    \(S_{ij}\)=\(\sum_{k=1}^{n}(x_{ki}-\bar{x_i})(x_{kj}-\bar{x_j})\)
    として、英語と数学の平方和は
    \(S_{12}\)=\(\sum_{k=1}^{n=30}(x_{ki}-\bar{x_i})(x_{kj}-\bar{x_j})\)
    と計算します。

    全部のパターンを計算した結果を下表にまとめます。

    平方和\(S\) 英語(1) 数学(2) 国語(3) 理科(4) 社会(5)
    英語(1) 30 23.72 23.99 21.99 24.53
    数学(2) 23.72 30 22.73 27.29 21.5
    国語(3) 23.99 22.73 30 22.41 22.63
    理科(4) 21.99 27.29 22.41 30 21.19
    社会(5) 24.53 21.5 22.63 21.19 30

    相関係数行列の計算

    相関係数\(r_{ij}\)は
    ●\(r_{ij}\)=\(\frac{S_{ij}}{\sqrt{S_{ii} S_{jj}}}\)
    から計算できて、それをまとめたら
    相関係数行列が計算できますね。

    まず、さっき求めた平方和\(S_{ij}\)から相関係数\(r_{ij})\)を計算すると下表になります。

    平方和\(S\) 英語(1) 数学(2) 国語(3) 理科(4) 社会(5)
    英語(1) 1 0.791 0.8 0.733 0.818
    数学(2) 0.791 1 0.758 0.91 0.717
    国語(3) 0.8 0.758 1 0.747 0.754
    理科(4) 0.733 0.91 0.747 1 0.706
    社会(5) 0.818 0.717 0.754 0.706 1

    よって相関係数行\(R\)は

    \(R\)=\(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} & r_{13} & r_{14} & r_{15} \\
    r_{12} & r_{22} & r_{23} & r_{24} & r_{25} \\
    r_{13} & r_{23} & r_{33} & r_{34} & r_{35} \\
    r_{14} & r_{24} & r_{34} & r_{44} & r_{45} \\
    r_{15} & r_{25} & r_{35} & r_{45} & r_{55} \\
    \end{array}
    \right)
    \)
    =\(\left(
    \begin{array}{cccc}
    1 & 0.791 & 0.8 & 0.733 & 0.818 \\
    0.791 & 1 & 0.758 & 0.91 & 0.717 \\
    0.8 & 0.758 & 1 & 0.747 & 0.754 \\
    0.733 & 0.91 & 0.747 & 1 & 0.706 \\
    0.818 & 0.717 & 0.754 & 0.706 & 1 \\
    \end{array}
    \right)
    \)

    ➂固有値、固有ベクトルの計算

    固有値、固有ベクトルの解法

    ツールを使った解法を解説する前に、主成分分析の本質を再確認しましょう。

    本記事のテーマではありませんが、主成分分析は必ず固有方程式を解きます。

    固有方程式

    平方和でも相関係数でもどちらでも固有方程式は解けますが、今回は相関係数を使って解きます。

    固有方程式
    \(Rv\)=\(λv\)
    より

    \(\left(
    \begin{array}{cccc}
    r_{11} & r_{12} & r_{13} & r_{14} & r_{15} \\
    r_{12} & r_{22} & r_{23} & r_{24} & r_{25} \\
    r_{13} & r_{23} & r_{33} & r_{34} & r_{35} \\
    r_{14} & r_{24} & r_{34} & r_{44} & r_{45} \\
    r_{15} & r_{25} & r_{35} & r_{45} & r_{55} \\
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    c\\
    d\\
    e\\
    \end{array}
    \right)
    \)=\(λ\)\(
    \left(
    \begin{array}{c}
    a \\
    b\\
    c\\
    d\\
    e\\
    \end{array}
    \right)
    \)
    を満たす、固有値\(λ\)と固有ベクト\(v\)を解きます。

    ただし、1つ問題があります。

    5次元になると、固有方程式から5次方程式を解く必要があるため、
    手計算ではムリ!

    なので、解析ツールを使って解きましょう。

    ただし、ツールは手段!
    主成分分析の本質を意識しながら解きましょう。

    固有値、固有ベクトルの解法ツール

    ツールは何でもいいですが、今回は、フリーソフトを使って計算しました。

    使い方はリンク先をご覧ください。

    ここから

    固有値、固有ベクトルの計算

    実際に固有値と、固有ベクトルを解くと、

    固有値 \(λ_1\) \(λ_2\) \(λ_3\) \(λ_4\) \(λ_5\)
    固有値 4.094 0.4071 0.2398 0.1786 0.0805

    固有ベクトル 主成分1 主成分2 主成分3 主成分4 主成分5
    英語1 -0.4525 -0.3398 0.0753 0.7768 -0.2661
    数学2 -0.4567 0.4857 0.1173 0.1796 0.7138
    国語3 -0.4431 -0.2177 -0.8302 -0.2509 0.0642
    理科4 -0.4478 0.5723 0.112 -0.2386 -0.6343
    社会5 -0.4356 -0.5231 0.5281 -0.4945 0.1148

    固有ベクトルは、最初に紹介した「QC検定®受検テキスト1級」の結果と比較すると正負が入れ替わっています。ただし、固有方程式の両辺に固有ベクトルが付くので、正負±は両辺で消せますので、問題ありません。

    固有値、固有ベクトルの計算結果を検算

    固有値の計算の理解を深める方法の1つとして、実際に検算することをお勧めします。
    実際、検算すると\(Rv=λv\)が成り立ちます。

    ここからは、個々の値を求めていきましょう。

    単に数字があっていればOKではなく、値の意味をまず関連記事で確認しましょう。

    主成分分析が計算できる
    主成分負荷量、主成分得点、主成分平方和、主成分の寄与率は説明・計算ができますか? 本記事は各変数の導出方法を丁寧に解説します。ただ、主成分分析の本質は先に習得しておきましょう。多変量解析を学ぶ人は必読です。

    ➃主成分の寄与率、累積寄与率

    主成分の寄与率、累積寄与率

    ●主成分の寄与率は、個々の固有値を自由度で割った値ですね。
    ●累積寄与率は、寄与率の累積値です。

    結果は下表のとおりです。

    寄与率 寄与率 累積寄与率
    主成分1 \(\frac{λ_1}{p=5}\)=\(\frac{4.094}{5}\)=0.819 0.819
    主成分2 \(\frac{λ_2}{p=5}\)=\(\frac{0.4071}{5}\)=0.081 0.9
    主成分3 \(\frac{λ_3}{p=5}\)=\(\frac{0.2398}{5}\)=0.048 0.948
    主成分4 \(\frac{λ_4}{p=5}\)=\(\frac{0.1786}{5}\)=0.036 0.984
    主成分5 \(\frac{λ_5}{p=5}\)=\(\frac{0.0805}{5}\)=0.016 1

    寄与率を平方和でなく固有値で考える理由

    各主成分の平方和は固有値になります。これは関連記事で解説していますが、一番簡単にわかる証明方法があります。

    固有方程式 \(Sv\)=\(λv\)から
    全ての変数をスカラ(数値)と考えると、
    両辺を\(v\)で割れば、
    (平方和)\(S\)=\(λ\)(固有値)

    確かに、(平方和)\(S\)=\(λ\)(固有値)となりますよね。これを行列、ベクトル表記にしてn次元化していますが、考え方は同じなので、主成分平方和は固有値として考えてよいということです。平方和と固有値は別物と思いがちですが、一致しています。意外ですよね。

    ➄因子負荷量

    因子負荷量の公式

    因子負荷量の公式を下表にまとめます。公式から計算しましょう。

    因子負荷量 主成分1 主成分2 主成分3 主成分4 主成分5
    英語 \(v_{11} \sqrt{λ_1}\) \(v_{21} \sqrt{λ_2}\) \(v_{31} \sqrt{λ_3}\) \(v_{41} \sqrt{λ_4}\) \(v_{51} \sqrt{λ_5}\)
    数学 \(v_{12} \sqrt{λ_1}\) \(v_{22} \sqrt{λ_2}\) \(v_{32} \sqrt{λ_3}\) \(v_{42} \sqrt{λ_4}\) \(v_{52} \sqrt{λ_5}\)
    国語 \(v_{13} \sqrt{λ_1}\) \(v_{23} \sqrt{λ_2}\) \(v_{33} \sqrt{λ_3}\) \(v_{43} \sqrt{λ_4}\) \(v_{53} \sqrt{λ_5}\)
    理科 \(v_{14} \sqrt{λ_1}\) \(v_{24} \sqrt{λ_2}\) \(v_{34} \sqrt{λ_3}\) \(v_{44} \sqrt{λ_4}\) \(v_{54} \sqrt{λ_5}\)
    社会 \(v_{15} \sqrt{λ_1}\) \(v_{25} \sqrt{λ_2}\) \(v_{35} \sqrt{λ_3}\) \(v_{45} \sqrt{λ_4}\) \(v_{55} \sqrt{λ_5}\)

    因子負荷量の計算結果

    因子負荷量 主成分1 主成分2 主成分3 主成分4 主成分5
    英語 -0.916 -0.217 0.037 0.328 -0.075
    数学 -0.924 0.31 0.057 0.076 0.203
    国語 -0.897 -0.139 -0.407 -0.106 0.018
    理科 -0.906 0.365 0.055 -0.101 -0.18
    社会 -0.881 -0.334 0.259 -0.209 0.033

    最初に紹介した「QC検定®受検テキスト1級」の結果と比較すると正負が入れ替わっています。固有ベクトルの正負が逆であることが理由です。特に問題はありませんが、気になるようなら、固有ベクトルの標準化対応して個々の値を計算すればよいでしょう。正負に自由度があるようなので、値が一致しないと焦る気持ちはよくわかりますが、数式的は問題ありません。

    ➄主成分負荷量

    「主成分負荷量」名前は立派ですが、簡単にいうと固有ベクトルの個々の値です。すでに表で結果が出ていますが、再掲します。

    主成分負荷量 主成分1 主成分2 主成分3 主成分4 主成分5
    英語1 -0.4525 -0.3398 0.0753 0.7768 -0.2661
    数学2 -0.4567 0.4857 0.1173 0.1796 0.7138
    国語3 -0.4431 -0.2177 -0.8302 -0.2509 0.0642
    理科4 -0.4478 0.5723 0.112 -0.2386 -0.6343
    社会5 -0.4356 -0.5231 0.5281 -0.4945 0.1148

    ⑥主成分得点

    主成分得点の求め方は、

    主成分得点は、標準化した各データに
    個々の主成分負荷量を
    掛け算して足し合わせたもの
    つまり、
    主成分得点\(z_i\)=\(λ_1 x_{1j}\)+\(λ_2 x_{2j}\)+\(λ_3 x_{3j}\)+\(λ_4 x_{4j}\)+\(λ_5 x_{5j}\)

    計算はExcelでもいいでしょうね。具体的な計算の様子は下図のとおりです。

    主成分分析

    主成分得点の結果を下表にまとめます。

    No 主成分1 主成分2 主成分3 主成分4 主成分5
    1 -1.808 1.002 -0.042 -0.277 -0.084
    2 -2.396 0.493 0.427 -0.21 0.452
    3 -0.393 -0.677 0.243 -0.047 0.408
    4 0.371 0.69 0.247 0.369 -0.271
    5 3.148 0.498 0.425 0.457 0.463
    6 2.238 -0.076 0.87 0.399 -0.182
    7 1.249 -0.331 -0.934 -0.054 -0.297
    8 3.046 0.321 -0.401 -0.26 -0.023
    9 -1.029 1.233 0.409 -0.673 0.151
    10 -1.318 -0.437 0.406 -0.226 0.331
    11 -0.889 0.4 -0.622 0.533 -0.119
    12 -2.035 -0.131 0.042 0.401 0.291
    13 2.682 -0.194 0.141 -1.009 -0.201
    14 -1.751 -0.122 0.377 0.7 -0.389
    15 1.476 -0.584 0.532 0.194 -0.085
    16 1.896 -0.544 -0.516 0.304 0.037
    17 1.156 0.668 -0.752 -0.119 0.467
    18 -2.165 0.181 0.604 -0.652 -0.492
    19 1.913 0.018 0.145 -0.358 -0.145
    20 -3.049 0.036 -0.226 0.693 -0.303
    21 0.968 -0.679 -0.166 0.43 0.237
    22 -2.914 -1.144 0.149 -0.311 -0.41
    23 2.109 0.415 -0.407 0.192 -0.403
    24 2.41 0.108 -0.319 0.253 -0.032
    25 -1.708 1.559 -0.444 -0.12 -0.043
    26 -2.728 -0.054 0.231 0.428 0.352
    27 -2.583 -0.85 -1.148 -0.403 0.036
    28 1.79 -0.745 -0.015 -0.429 0.208
    29 1.746 -0.152 0.772 0.098 -0.156
    30 -1.433 -0.904 -0.028 -0.302 0.203
    合計 0 0 0 0 0

    長い計算でしたが、5次元主成分分析ができましたね。

    主成分分析は解析のボリュームが多いですが、
    何を求めているのかを常に意識しましょう。

    まとめ

    「主成分分析ができる(5次元)」を解説しました。

    • ①例題
    • ➁相関係数行列の計算
    • ➂固有値、固有ベクトルの計算
    • ➃主成分の寄与率、累積寄与率
    • ➄因子負荷量
    • ⑥主成分負荷量
    • ⑦主成分得点

  • 主成分分析が計算できる

    主成分分析が計算できる

    「主成分負荷量、主成分得点、主成分平方和、主成分の寄与率とかいろいろあるけど、何かわからない」などと困っていませんか?

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

    本記事のテーマ

    主成分分析が計算できる

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

    • ①例題
    • ➁固有値、固有ベクトルの計算
    • ➂主成分負荷量
    • ➃主成分得点
    • ➄主成分平方和
    • ⑥主成分の寄与率
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】多変量解析問題集を販売します!

    QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
    【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    主成分負荷量、主成分得点、主成分平方和、主成分の寄与率は試験でよく出題されます。

    ①例題

    主成分分析の本質

    主成分分析はいろいろな値が計算できますが、本質をおさえることが最重要です。関連記事で解説していますので、まずは確認してください。

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

    例題

    では、主成分負荷量、主成分得点、主成分平方和、主成分の寄与率を理解するための例題を用意します。

    2次元の場合で主成分分析を考えます。下表を用意します。

    No x y \(A\)=
    \(x_i-\bar{x}\)
    \(B\)=
    \(y_i-\bar{y}\)
    \(A^2\) \(B^2\) \(AB\)
    1 4 3 -1 -1 1 1 1
    2 3 4 -2 0 4 0 0
    3 6 5 1 1 1 1 1
    4 5 3 0 -1 0 1 0
    5 7 5 2 1 4 1 2
    合計 25 20 0 0 10 4 4
    平均 5 4 ↑\(S_{xx}\) ↑\(S_{yy}\) ↑\(S_{xy}\)

    ➁固有値、固有ベクトルの計算

    本記事のテーマではありませんが、主成分分析は必ず固有方程式を解きます。

    固有方程式

    \(\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)
    \)

    固有値を計算

    \(\begin{vmatrix}
    S_{xx}-λ & S_{xy} \\
    S_{xy} & S_{yy}-λ
    \end{vmatrix}\)=\(\begin{vmatrix}
    10-λ & 4 \\
    4 & 4-λ
    \end{vmatrix}\)
    =\((10-λ)(4-λ)-16\)=0
    =\((λ-12)(λ-2)\)=0

    よって、固有値\(λ\)は
    ●\(λ\)=12,2

    固有ベクトルを計算

    ●\(λ\)=12の場合

    \(\left(
    \begin{array}{cccc}
    -2 & 4 \\
    4 & -8
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    a_j\\
    b_j
    \end{array}
    \right)
    \)=12\(\left(
    \begin{array}{cccc}
    a_j \\
    b_j
    \end{array}
    \right)
    \)
    より、
    \(\left(
    \begin{array}{cccc}
    a \\
    b
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    \frac{2}{\sqrt{5}} \\
    \frac{1}{\sqrt{5}}
    \end{array}
    \right)
    \)

    単位ベクトルになる点に注意して計算しました。

    ●\(λ\)=2の場合

    \(\left(
    \begin{array}{cccc}
    8 & 4 \\
    4 & 2
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    a_j\\
    b_j
    \end{array}
    \right)
    \)=2\(\left(
    \begin{array}{cccc}
    a_j \\
    b_j
    \end{array}
    \right)
    \)
    より、
    \(\left(
    \begin{array}{cccc}
    a \\
    b
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    -\frac{1}{\sqrt{5}} \\
    \frac{2}{\sqrt{5}}
    \end{array}
    \right)
    \)

    単位ベクトルになる点に注意して計算しました。

    ➂主成分負荷量

    主成分負荷量とは

    \(z_i (i=1,2)\)の\(x,y\)の係数のこと

    主成分負荷量の計算

    となると、固有方程式から固有値・固有ベクトルを計算したので、
    実はすでに主成分負荷量は出ています!

    下表にまとめましょう。

    z_1 z_2
    固有値\(λ\) 12 2
    固有ベクトル \(\left(
    \begin{array}{cccc}
    \frac{2}{\sqrt{5}} \\
    \frac{1}{\sqrt{5}}
    \end{array}
    \right)
    \)
    \(\left(
    \begin{array}{cccc}
    -\frac{1}{\sqrt{5}} \\
    \frac{2}{\sqrt{5}}
    \end{array}
    \right)
    \)
    主成分負荷量x \(\frac{2}{\sqrt{5}} \) \(-\frac{1}{\sqrt{5}}\)
    主成分負荷量y \(\frac{1}{\sqrt{5}} \) \(\frac{2}{\sqrt{5}} \)

    主成分負荷量が求まりました。

    ➃主成分得点

    主成分得点とは

    簡単に言えば、

    各\(i (i=1,2,…n)\)における\(z_{j} (j=1,2)\)の値のこと

    まず、そもそも\(z_j\)は
    \(z_j\)=\(a(x_i-\bar{x})+b(y_i -\bar{y})\)
    で係数\(a,b\)がさっきの主成分負荷量でした。

    固有値が2つあるので、\(z_j\)も2つあります。
    ●\(z_1\)=\(\frac{2}{\sqrt{5}} (x_i -5)\)+ \(\frac{1}{\sqrt{5}} (y_i -4)\)
    =\(\frac{1}{\sqrt{5}}(2x_i + y_i -14)\)
    ●\(z_2\)=\(\frac{-1}{\sqrt{5}} (x_i -5)\)+ \(\frac{2}{\sqrt{5}} (y_i -4)\)
    =\(\frac{1}{\sqrt{5}}(-x_i + 2y_i -3)\)

    主成分得点の計算

    上の\(z_1\),\(z_2\)を計算します。計算結果は下表になり、各\(x,y\)に対する\(z_1\),\(z_2\)が主成分得点となります。

    No x y \(z_{1i}\)=
    \(\frac{2x_i + y_i -14}{\sqrt{5}}\)
    \(z_{2i}\)=
    \(\frac{-x_i + 2y_i -3}{\sqrt{5}}\)
    1 4 3 -\(\frac{3}{\sqrt{5}}\) -\(\frac{1}{\sqrt{5}}\)
    2 3 4 -\(\frac{4}{\sqrt{5}}\) \(\frac{2}{\sqrt{5}}\)
    3 6 5 \(\frac{3}{\sqrt{5}}\) \(\frac{1}{\sqrt{5}}\)
    4 5 3 -\(\frac{1}{\sqrt{5}}\) -\(\frac{2}{\sqrt{5}}\)
    5 7 5 \(\frac{5}{\sqrt{5}}\) \(\frac{0}{\sqrt{5}}\)

    ➄主成分平方和

    主成分平方和とは

    簡単にいうと、

    主成分得点の2乗和

    主成分得点の2乗和であり、固有値と一致する面白い特徴がある。

    式で書くと、
    \(S_j\)=\(\sum_{i=1}^{n} z_{ji}^2\)

    主成分平方和を計算

    実際に計算すると、

    ●\(S_1\)=\(\sum_{i=1}^{n} z_{1i}^2\)
    =\(\frac{(-3)^2+(-4)^2+3^2+(-1)^2+5^2}{(\sqrt{5})^2}\)
    =12=\(λ_1\)

    ●\(S_2\)=\(\sum_{i=1}^{n} z_{2i}^2\)
    =\(\frac{(-1)^2+2^2+1^2+(-2)^2+0^2}{(\sqrt{5})^2}\)
    =2=\(λ_2\)

    なお、主成分平方和と固有値が一致する理由は関連記事に書いていますので、ご確認ください。固有方程式からあっさり証明できます。

    主成分方向の平方和と固有値が一致する理由がわかる
    主成分の平方和と固有値が一致する理由が説明できますか?本記事では主成分分析を導出する過程で主成分方向の平方和と固有値が一致する理由をわかりやすく解説します。シンプルに証明できるので、た

    ⑥主成分の寄与率

    簡単にいうと、

    各主成分の平方和の比

    ●第1主成分の寄与率= \(\frac{12}{12+2}\)=\(\frac{6}{7}\)
    ●第2主成分の寄与率= \(\frac{2}{12+2}\)=\(\frac{1}{7}\)
    となります。

    以上、いろいろな値を導出しました。ただ、試験対策に近い要素であり、主成分分析の本質ではありません。主成分分析の本質は点在する情報を1つの方向に集約することでしたね。

    主成分分析の本質を先に習得してから、各値の計算を見ていきましょう。

    まとめ

    「主成分分析が計算できる」を解説しました。

    • ①例題
    • ➁固有値、固有ベクトルの計算
    • ➂主成分負荷量
    • ➃主成分得点
    • ➄主成分平方和
    • ⑥主成分の寄与率

  • 固有ベクトルが直交する理由がわかる

    固有ベクトルが直交する理由がわかる

    「主成分分析で解く固有ベクトルはなぜ互いに直交するのかがわからない」などと困っていませんか?

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

    本記事のテーマ

    固有ベクトルが直交する理由がわかる

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

    • ①対称行列\(A\)の性質
    • ➁対称行列\(A\)の性質\((A \vec{x})・\vec{y}\)=\(\vec{x}・(A \vec{y})\)の証明
    • ➂固有ベクトルが互いに直交する理由がわかる
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】多変量解析問題集を販売します!

    QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
    【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    線形代数の代名詞な固有ベクトル
    互いに直交する理由をわかりやすく解説します。
    線形代数・行列の式変形は
    難しいし、苦手なので、
    成分を書き出して
    わかりやすく計算します!

    ①対称行列\(A\)の性質

    固有方程式

    線形代数でもおなじみの固有方程式、固有値、固有ベクトル。
    関連記事で解説したとおり、主成分分析でも出て来ます。

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

    2次元、3次元の固有方程式を書き出すと

    2次元の場合

    \(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} \\
    S_{12} & S_{22}
    \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_{11} & S_{12} & S_{13} \\
    S_{12} & S_{22} & S_{23} \\
    S_{13} & S_{23} & S_{33}
    \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次元なら
    \(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} \\
    S_{12} & S_{22}
    \end{array}
    \right)
    \)

    ●3次元なら
    \(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & S_{13} \\
    S_{12} & S_{22} & S_{23} \\
    S_{13} & S_{23} & S_{33}
    \end{array}
    \right)
    \)

    です。よく見ると、
    これらの行列は対称行列になっています。

    対称行列\(A\)は、\(i\)行、\(j\)列の成分\(a_{ij}\)において、
    \(a_{ij}\)=\(a_{ji}\)と行列入れ替えた成分の値がすべて同じもので、
    よく\(A={}^tA\)と書きます。

    以下、行列\(A\)は\(a_{ij}\)=\(a_{ji}\)と行列入れ替えた成分の値が同じである対称行列が前提として話を進めます。

    ➁対称行列\(A\)の性質\((A \vec{x})・\vec{y}\)=\(\vec{x}・(A \vec{y})\)の証明

    \((A \vec{x})・\vec{y}\)の計算

    実際に計算していきましょう。

    まず行列\(A\)とベクトル\(\vec{x}\),\(\vec{y}\)を準備します。

    \(A\)=\(\left(
    \begin{array}{cccc}
    a_{11} & a_{12} & \ldots & a_{1n} \\
    a_{21} & a_{22} & \ldots & a_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    a_{n1} & a_{n2} & \ldots & a_{nn}
    \end{array}
    \right)
    \)

    \(\vec{x}\)=\(
    \left(
    \begin{array}{c}
    x_1 \\
    x_2 \\
    \vdots \\
    x_n
    \end{array}
    \right)
    \)

    \(\vec{y}\)=\(
    \left(
    \begin{array}{c}
    y_1 \\
    y_2 \\
    \vdots \\
    y_n
    \end{array}
    \right)
    \)

    では、計算してきましょう。

    \((A \vec{x})\)の計算

    \((A \vec{x})\)=\(\left(
    \begin{array}{cccc}
    a_{11} & a_{12} & \ldots & a_{1n} \\
    a_{21} & a_{22} & \ldots & a_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    a_{n1} & a_{n2} & \ldots & a_{nn}
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    x_1 \\
    x_2 \\
    \vdots \\
    x_n
    \end{array}
    \right)
    \)
    =\(
    \left(
    \begin{array}{c}
    a_{11} x_1+ a_{12} x_2+…+ a_{1n} x_n \\
    a_{21} x_1+ a_{22} x_2+…+ a_{2n} x_n \\
    \vdots \\
    a_{n1} x_1+ a_{n2} x_2+…+ a_{nn} x_n
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    \sum_{i=1}^{n} a_{1i} x_i\\
    \sum_{i=1}^{n} a_{2i} x_i \\
    \vdots \\
    \sum_{i=1}^{n} a_{ni} x_i
    \end{array}
    \right)
    \)

    式は複雑ですが、機械的に計算しているだけです。

    \((A \vec{x})・\vec{y}\)の計算

    次に、\(\vec{y}\)も付加しましょう。

    \((A \vec{x})・\vec{y}\)=\(
    \left(
    \begin{array}{c}
    a_{11} x_1+ a_{12} x_2+…+ a_{1n} x_n \\
    a_{21} x_1+ a_{22} x_2+…+ a_{2n} x_n \\
    \vdots \\
    a_{n1} x_1+ a_{n2} x_2+…+ a_{nn} x_n
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    y_1 \\
    y_2 \\
    \vdots \\
    y_n
    \end{array}
    \right)
    \)
    ですが、これは内積なのでスカラー量になりますね。
    =\( (a_{11} x_1+ a_{12} x_2+…+ a_{1n} x_n) y_1 \)
    + \((a_{21} x_1+ a_{22} x_2+…+ a_{2n} x_n) y_2\)

    + \((a_{n1} x_1+ a_{n2} x_2+…+ a_{nn} x_n) y_n\)
    これを∑でまとめて表記すると
    =\(\sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} x_j y_i\) =(式1)
    となります。

    次に(右辺)側を計算します。

    \(\vec{x}・(A \vec{y})\)の計算

    機械的にどんどん計算します。

    \((A \vec{y})\)=\(
    \left(
    \begin{array}{c}
    a_{11} y_1+ a_{12} y_2+…+ a_{1n} y_n \\
    a_{21} y_1+ a_{22} y_2+…+ a_{2n} y_n \\
    \vdots \\
    a_{n1} y_1+ a_{n2} y_2+…+ a_{nn} y_n
    \end{array}
    \right)
    \)
    これは、さっき\((A \vec{x})\)を計算したときの結果をx⇒yに変えればOKですね。

    \(\vec{x}・(A \vec{y})\)=\(
    \left(
    \begin{array}{c}
    x_1 \\
    x_2 \\
    \vdots \\
    x_n
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    a_{11} y_1+ a_{12} y_2+…+ a_{1n} y_n \\
    a_{21} y_1+ a_{22} y_2+…+ a_{2n} y_n \\
    \vdots \\
    a_{n1} y_1+ a_{n2} y_2+…+ a_{nn} y_n
    \end{array}
    \right)
    \)
    これは内積なのでスカラー量になりますね。
    =\(( a_{11} y_1+ a_{12} y_2+…+ a_{1n} y_n) x_1\)
    +\(( a_{21} y_1+ a_{22} y_2+…+ a_{2n} y_n) x_2\)

    +\(( a_{n1} y_1+ a_{n2} y_2+…+ a_{nn} y_n) x_n\)
    これを∑でまとめて表記すると
    =\(\sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} y_j x_i\) =(式2)
    となります。

    \((A \vec{x})・\vec{y}\)=\(\vec{x}・(A \vec{y})\)の証明の計算

    さて、
    (左辺)= \(\sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} x_j y_i\) =(式1)
    (右辺)= \(\sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} y_j x_i\) =(式2)
    と似たようで違う式になっていますが、等しいことを証明していきます。

    まず、行列\(A\)は対称行列でしたね。

    対称行列\(A\)は、\(i\)行、\(j\)列の成分\(a_{ij}\)において、
    \(a_{ij}\)=\(a_{ji}\)と行列入れ替えた成分の値がすべて同じもの

    \(a_{ij}\)=\(a_{ji}\)を(式2)に代入すると、
    (式2)= \(\sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} y_j x_i \)
    = \(\sum_{i=1}^{n} \sum_{j=1}^{n} a_{ji} x_i y_j \)
    ここで、\(i\)⇒\(j\),\(j\)⇒\(i\)と入れ替えると
    = \(\sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} x_j y_i\)
    =(左辺)

    となるので、証明できました!

    対称行列\(A\)の性質\((A \vec{x})・\vec{y}\)=\(\vec{x}・(A \vec{y})\)
    が証明できました。

    ➂固有ベクトルが互いに直交する理由がわかる

    対称行列\(A\)の性質\((A \vec{x})・\vec{y}\)=\(\vec{x}・(A \vec{y})\)

    固有ベクトルの直交性の話のために、長々と証明してきましたが、この式を使うと簡単に固有ベクトルの直交性が証明できます。

    ここで、対称行列\(A\)の固有値\(λ_i\),固有ベクトル\(\vec{v_i}\) (\(i\)=1,2,…\(n\))と置くと、

    \(A \vec{v_i}\)=\(λ_i \vec{v_i}\)
    が成り立つ。

    固有ベクトルが互いに直交する理由

    上の証明した式において、ベクトルを
    ●\(\vec{x}\)=\(\vec{v_i}\)
    ●\(\vec{y}\)=\(\vec{v_j}\)
    (\(i\)≠\(j\))と置きます。

    \((A \vec{x})・\vec{y}\)=\(\vec{x}・(A \vec{y})\)
    \((A \vec{v_i})・\vec{v_j}\)=\(\vec{v_i}・(A \vec{v_j})\)=(式3)

    固有方程式から
    ●\(A \vec{v_i}\)=\(λ_i \vec{v_i}\)
    ●\(A \vec{v_j}\)=\(λ_j \vec{v_j}\)
    を代入すると

    (式3)は
    \((λ_i \vec{v_i})\)・\(\vec{v_j}\)=\(\vec{v_i}\)・\((λ_j \vec{v_j})\)
    \(λ_i \vec{v_i}\)・\(\vec{v_j}\)=\(λ_j \vec{v_i}\)・\(\vec{v_j}\)
    \((λ_i-λ_j)\)\(\vec{v_i}\)・\(\vec{v_j}\)=0=(式4)

    (式4)において、\(i\)≠\(j\)から(\(λ_i\)≠\(λ_j\)なので、
    \(\vec{v_i}\)・\(\vec{v_j}\)=0
    が成り立ちます。

    \(\vec{v_i}\)・\(\vec{v_j}\)=0
    より、固有ベクトルは互いに直交することが証明できました。

    めでたし、めでたし!

    まとめ

    「固有ベクトルが直交する理由がわかる」を解説しました。

    • ①対称行列\(A\)の性質
    • ➁対称行列\(A\)の性質\((A \vec{x})・\vec{y}\)=\(\vec{x}・(A \vec{y})\)の証明
    • ➂固有ベクトルが互いに直交する理由がわかる

    固有ベクトルが直交する理由がわかる

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

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

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

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

    本記事のテーマ

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

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

    • ①主成分の平方和を計算する
    • ➁主成分の平方和と固有値が一致する理由がわかる(2次元)
    • ➂主成分の平方和と固有値が一致する理由がわかる(3次元)
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】多変量解析問題集を販売します!

    QC検定®1級合格したい方、多変量解析をしっかり学びたい方におススメです。
    【QC検定®合格】「多変量解析」問題集を販売します! 内容は、①回帰分析 単回帰分析・重回帰分析 の復習、➁ 主成分分析、➂判別分析、➃因子分析、➄数量化分析の5章全42題を演習できる問題集です。

    主成分分析は自分で解けます!
    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次元)

error: Content is protected !!