カテゴリー: 手法

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

    主成分分析が計算できる

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

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

    本記事のテーマ

    主成分分析が計算できる

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

    • ①例題
    • ➁固有値、固有ベクトルの計算
    • ➂主成分負荷量
    • ➃主成分得点
    • ➄主成分平方和
    • ⑥主成分の寄与率
    [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次元)

  • 因子負荷量が導出できる

    因子負荷量が導出できる

    「主成分分析の因子負荷量って何?導出方法が分からず公式暗記で終わってしまう」などと困っていませんか?

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

    本記事のテーマ

    因子負荷量が導出できる

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

    • ①因子負荷量とは
    • ➁主成分分析の導出がスタート
    • ➂因子負荷量を導出(2次元)
    • ➃因子負荷量を導出(3次元)
    [themoneytizer id=”105233-2″]

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

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

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    ●教科書の式は \(r_{zx}\)=\(\sqrt{λ}a\)
    ●実際解くと、\(r_{zx}\)=\(\frac{\sqrt{λ}a}{S_{xx}}\)

    教科書と式が少し違う。
    でも標準化して平方和\(S_{xx}\)=1の場合は一致
    教科書は何気なく標準化を処理してから因子負荷量を計算する。それは、因子負荷量の式を簡単にするため。でもそれがかえってわかりにくい!
    QCプラネッツでは、シンプルな導出過程で因子負荷量を解いてみます。

    ①因子負荷量とは

    因子負荷量とは

    因子負荷量は、いろいろ定義やイメージがありますが、シンプルに書くと

    主成分方向と元の説明変数との相関係数

    因子負荷量

    上図は2次元の場合なので、因子負荷量は2つあり、
    ●\(r_{zx}\)
    ●\(r_{zy}\)
    を計算します。

    なお、上図では主成分方向zはベクトル表記しますが、相関係数を計算するときは、
    ●\(|z_i|=a(x_i-\bar{x})+b(y_i-\bar{y})\)
    を使います。

    \(|z_i|\)からラグランジュの未定係数法を使って固有方程式を使って主成分方向を導出する過程は関連記事で解説しています。ご確認ください。

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

    因子負荷量の式

    教科書と比較するとQCプラネッツの式は少し違います。

    ●教科書の式は \(r_{zx}\)=\(\sqrt{λ}a\)
    ●実際解くと、\(r_{zx}\)=\(\frac{\sqrt{λ}a}{S_{xx}}\)

    教科書は他のサイトは、\(r_{zx}\)=\(\sqrt{λ}a\)にするために、説明変数\(x_i\)を標準化\(\frac{x_i-\bar{x}}{s}\)して平均0、分散1に改造してから解くことが多いです。

    教科書の導出過程は長いし、
    複雑で理解しにくい!
    もっと短くシンプルな導出過程にならないのか?

    という思いで、シンプルに導出します。ちょっと式が変わるけど、平方和S=1の場合は、教科書と同じ式になります。

    教科書を丸暗記せず、
    自力で解くと、違う答えが出ることがある!
    でも、それを考えるのが勉強!

    ➁主成分分析の導出がスタート

    2次元と3次元の場合で解説します。解き方は全く同じです。2回解き方を見れば、理解度は増しますよね!

    データの情報量を最大化する方向を立式

    関連記事に主成分方向を導出する過程をわかりやすく解説しています。

    ●2次元の場合

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

    ●3次元の場合

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

    関連記事の大事なポイントをまとめます。

    2次元の場合の大事なポイント

    情報量\(S\)=\(\sum_{i=1}^{n}|z_i^2|\)
    =\(\sum_{i=1}^{n} (a(x_i-\bar{x})+b(y_i-\bar{y}))^2\)
    =\(a^2 S_{xx}\)+2\(ab S_{xy}\)+\(b^2 S_{yy}\)
    (\(a^2+b^2=1\):単位ベクトルなので)

    ラグランジュの未定係数法から方程式
    ●\(\displaystyle \frac{\partial L}{\partial a}\)=\((2aS_{xx}+2bS_{xy})\)-\(λ2a\)=0
    ●\(\displaystyle \frac{\partial L}{\partial b}\)=\((2aS_{xy}+2bS_{yy})\)-\(λ2b\)=0
    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=-\((a^2+b^2-1) \)=0

    これを整理すると、固有方程式ができる。
    \(\left(
    \begin{array}{cccc}
    S_{xx} & S_{xy} \\
    S_{xy} & S_{yy}
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    a \\
    b
    \end{array}
    \right)
    \)=\(λ\)\(\left(
    \begin{array}{cccc}
    a \\
    b
    \end{array}
    \right)
    \)

    3次元の場合の大事なポイント

    情報量\(S\)=\(\sum_{i=1}^{n}|z_i^2|\)
    =\(\sum_{i=1}^{n} (a(x_i-\bar{x})+b(y_i-\bar{y})+ c(z_i-\bar{z}))^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}\)
    (\(a^2+b^2+c^2=1\):単位ベクトルなので)

    ラグランジュの未定係数法から方程式
    ●\(\displaystyle \frac{\partial L}{\partial a}\)=\((2aS_{xx}+2bS_{xy}+2cS_{xz})\)-\(λ2a\)=0
    ●\(\displaystyle \frac{\partial L}{\partial b}\)=\((2aS_{xy}+2bS_{yy}+2cS_{yz})\)-\(λ2b\)=0
    ●\(\displaystyle \frac{\partial L}{\partial c}\)=\((2aS_{zz}+2bS_{xz}+2cS_{yz})\)-\(λ2b\)=0
    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=-\((a^2+b^2+c^2-1) \)=0

    これを整理すると、固有方程式ができる。
    \(\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 \\
    b \\
    c
    \end{array}
    \right)
    \)=\(λ\)\(\left(
    \begin{array}{cccc}
    a \\
    b \\
    c
    \end{array}
    \right)
    \)

    何次元であっても、

    1. 情報量Sを定義
    2. ラグランジュの未定係数法から立式
    3. 固有方程式を作る

    流れは同じです。

    以上を基礎において、因子負荷量を導出していきます。

    ➂因子負荷量を導出(2次元)

    因子負荷量を導出

    2次元の場合なので、因子負荷量は2つあり、
    ●\(r_{zx}\)
    ●\(r_{zy}\)
    を計算します。

    ●\(r_{zx}\)=\(\frac{S_{zx}}{\sqrt{S_{zz} S_{xx}}}\)
    =\(\frac{\sum_{i=1}^{n} (a(x_i-\bar{x})+b(y_i-\bar{y}))(x_i-\bar{x})}{\sqrt{\sum_{i=1}^{n} (a(x_i-\bar{x})+b(y_i-\bar{y}))^2 \sum_{i=1}^{n} (x_i-\bar{x})^2}}\)

    =\(\frac{\sum_{i=1}^{n} (a(x_i-\bar{x})^2+b(x_i-\bar{x}) (y_i-\bar{y}))}{\sqrt{\sum_{i=1}^{n} (a(x_i-\bar{x})+b(y_i-\bar{y}))^2 \sum_{i=1}^{n} (x_i-\bar{x})^2}}\)
    =\(\frac{aS_{xx} +bS_{xy}}{\sqrt{a^2 S_{xx}+2ab S_{xy}+b^2 S_{yy}} \sqrt{S_{xx}}}\)

    さて、固有方程式を再掲します。
    \(\left(
    \begin{array}{cccc}
    S_{xx} & S_{xy} \\
    S_{xy} & S_{yy}
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    a \\
    b
    \end{array}
    \right)
    \)=\(λ\)\(\left(
    \begin{array}{cccc}
    a \\
    b
    \end{array}
    \right)
    \)

    式で表記すると
    ●\(aS_{xx}+bS_{xy}\)=\(λa\)
    ●\(aS_{xy}+bS_{yy}\)=\(λb\)

    ●\(r_{zx}\)=\(\frac{aS_{xx} +bS_{xy}}{\sqrt{a^2 S_{xx}+2ab S_{xy}+b^2 S_{yy}} \sqrt{S_{xx}}}\)
    の分子は上の式そのものですね。
    \(aS_{xx}+bS_{xy}\)=\(λa\)を代入しましょう。

    また、分母を
    \(a^2 S_{xx}+2ab S_{xy}+b^2 S_{yy}\)
    =\(a(a S_{xx} +b S_{xy})+b(a S_{xy}+b S_{yy})\)
    と変形して、固有方程式を代入すると
    =\(a aλ+ b b λ\)
    =\((a^2+b^2)λ\)
    さらに\(a,b\)は単位ベクトルなので、
    \((a^2+b^2)\)=1より、
    =\(λ\)
    となります。

    まとめると
    \(r_{zx}\)=\(\frac{λa }{\sqrt{λ} \sqrt{S_{xx}}}\)
    =\(\frac{\sqrt{λ}a }{\sqrt{S_{xx}}}\)
    となります。

    一方、\(S_{xx}\)は定数なので、このままです。標準化して\(S_{xx}\)=1とすることが多いのはこの理由です。

    \(r_{zx}\)=\(\frac{\sqrt{λ}a }{\sqrt{S_{xx}}}\)
    (\(S_{xx}\)=1の場合は、\(r_{zx}\)=\(\sqrt{λ}a\))

    \(r_{zy}\)も同様に計算ができて、
    \(r_{zy}\)=\(\frac{\sqrt{λ}b }{\sqrt{S_{yy}}}\)
    (\(S_{yy}\)=1の場合は、\(r_{zy}\)=\(\sqrt{λ}b\))
    と計算できます。

    標準化してから因子負荷量を解く理由

    標準化して因子負荷量を解く理由は、
    式を簡略したいためです。
    でも、x,zを標準化する過程も必要なので、導出過程が面倒
    です。
    今回はあえて標準化しない場合で導出しました。

    自分で解いてみると、教科書と一致しない式が出来たりしますが、その違いを理解することが大事です。

    ➃因子負荷量を導出(3次元)

    因子負荷量を導出

    3次元の場合なので、因子負荷量は3つあり、変数が多いので、数字で区別します。
    ●\(r_{z1}\)
    ●\(r_{z2}\)
    ●\(r_{z3}\)
    を計算します。

    2次元の場合と全く同じ解法で導出できます。

    ●\(r_{z1}\)=\(\frac{S_{z1}}{\sqrt{S_{z1} S_{11}}}\)
    =\(\frac{\sum_{i=1}^{n} (a(x_{1i}-\bar{x_1})+b(x_{2i}-\bar{x_2})+c(x_{3i}-\bar{x_3}))(x_{1i}-\bar{x_1})}
    {\sqrt{\sum_{i=1}^{n} (a(x_{1i}-\bar{x_1})+b(x_{2i}-\bar{x_2})+c(x_{3i}-\bar{x_3})^2 \sum_{i=1}^{n} (x_{1i}-\bar{x_1})^2}}\)

    =\(\frac{aS_{11}+bS_{12}+cS_{13}}{\sqrt{a^2 S_{11}+b^2 S_{22}+c^2 S_{22}+2ab S_{12}+2bc S_{23}+ 2ac S_{13}}\sqrt{S_{11}}}\)

    さて、関連記事をベースに固有方程式を再掲します。
    \(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & S_{13} \\
    S_{21} & S_{22} & S_{23} \\
    S_{31} & S_{23} & S_{33}
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    a \\
    b \\
    c
    \end{array}
    \right)
    \)=\(λ\)\(\left(
    \begin{array}{cccc}
    a \\
    b \\
    c
    \end{array}
    \right)
    \)

    式で表記すると
    ●\(aS_{11}+bS_{12}+cS_{13}\)=\(λa\)
    ●\(aS_{21}+bS_{22}+cS_{23}\)=\(λb\)
    ●\(aS_{31}+bS_{32}+cS_{33}\)=\(λc\)

    ●\(r_{zx}\)=\(\frac{aS_{11}+bS_{12}+cS_{13}}{\sqrt{a^2 S_{11}+b^2 S_{22}+c^2 S_{22}+2ab S_{12}+2bc S_{23}+ 2ac S_{13}}\sqrt{S_{11}}}\)

    の分子は上の式そのものですね。
    \(aS_{11}+bS_{12}+cS_{13}\)=\(λa\)を代入しましょう。

    また、分母を
    \(a^2 S_{11}+b^2 S_{22}+c^2 S_{22}+2ab S_{12}+2bc S_{23}+ 2ac S_{13}\)
    =\(a(aS_{11}+bS_{12}+cS_{13})\)
    +\(b(aS_{21}+bS_{22}+cS_{23})\)
    +\(c(aS_{31}+bS_{32}+cS_{33})\)
    と変形して、固有方程式を代入すると
    =\(a aλ+ b bλ+ c cλ\)
    =\((a^2+b^2+c^2)λ\)
    さらに\(a,b,c\)は単位ベクトルなので、
    \((a^2+b^2+c^2)\)=1より、
    =\(λ\)
    となります。

    まとめると
    \(r_{z1}\)=\(\frac{λa }{\sqrt{λ} \sqrt{S_{11}}}\)
    =\(\frac{\sqrt{λ}a }{\sqrt{S_{11}}}\)
    となります。

    一方、\(S_{xx}\)は定数なので、このままです。標準化して\(S_{11}\)=1とすることが多いのはこの理由です。

    \(r_{z1}\)=\(\frac{\sqrt{λ}a }{\sqrt{S_{11}}}\)
    (\(S_{xx}\)=1の場合は、\(r_{zx}\)=\(\sqrt{λ}a\))

    \(r_{z2}\),\(r_{z3}\)も同様に計算ができて、
    \(r_{z2}\)=\(\frac{\sqrt{λ}b }{\sqrt{S_{22}}}\)
    \(r_{z3}\)=\(\frac{\sqrt{λ}c }{\sqrt{S_{33}}}\)
    (\(S_{22}\)=1,(\(S_{33}\)=1の場合は、\(r_{z2}\)=\(\sqrt{λ}b\)),\(r_{z3}\)=\(\sqrt{λ}c\))
    と計算できます。

    変数が増えても因子負荷量の公式の形が変化しないので面白いですね。

    まとめ

    「因子負荷量が導出できる」を解説しました。

    • ①因子負荷量とは
    • ➁主成分分析の導出がスタート
    • ➂因子負荷量を導出(2次元)
    • ➃因子負荷量を導出(3次元)

  • 【重要】主成分分析が導出できる(多次元)

    【重要】主成分分析が導出できる(多次元)

    「n次元の主成分分析をどうやって理解すればよいかわからない、主成分分析=固有値問題も意味が分からない、多次元になると計算機が計算するから何を解いているかがわからない」などと困っていませんか?

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

    本記事のテーマ

    【重要】主成分分析が導出できる(多次元)

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

    • ①主成分分析が導出(2次元)
    • ➁主成分分析が導出(3次元)
    • ➂主成分分析が導出(m次元)
    [themoneytizer id=”105233-2″]

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

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

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    2次元の導出方法が理解できれば、
    3次元でも多次元でも導出方法は理解できます!

    ①主成分分析が導出(2次元)

    主成分分析はデータを要約するもの

    主成分分析の目的は、

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

    2次元の場合で、主成分分析の導出方法を詳しく解説した関連記事をまず、確認ください。

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

    主成分分析が導出(2次元)のポイント

    関連記事のまとめを抜粋しますが、

    主成分分析とは、散布データから
    情報量を要約するもの。
    情報量を最大限に要約する条件式が固有方程式になる。
    主成分方向は固有ベクトルから求められるが、
    「主成分分析=固有値問題」と暗記すると
    主成分分析の本質がぼやけるので要注意!

    ➁主成分分析が導出(3次元)

    3次元でデータの情報量を最大化する方向を立式

    下図のように、点在するn個のデータのうち、
    ●座標P(\(x_i,y_i,z_i\))
    ●平均座標A(\(\bar{x},\bar{y},\bar{z}\))
    ●主成分方向の単位ベクトル \( \vec{e} \)
    ●PAと主成分方向との角θ
    ●主成分方向の長さ\(z_i\)を情報量として評価する
    を定義します。

    主成分分析

    まず、主成分方向の単位ベクトル \( \vec{e} \)を
    \( \vec{e} \)=\(
    \left(
    \begin{array}{c}
    a \\
    b \\
    c
    \end{array}
    \right)
    \)
    と定義します。

    単位ベクトルなので、

    \(a^2+b^2+c^2\)=1
    です。この条件式はあとで何度も使います。

    情報量\(z_i\)の式を作る

    次にまず、内積\( \vec{AP} \)・\( \vec{e} \)を計算します。
    内積は高校数学の範囲ですね。

    内積\( \vec{AP} \)・\( \vec{e} \)
    =\(
    \left(
    \begin{array}{c}
    x_i-\bar{x} \\
    y_i-\bar{y} \\
    z_i-\bar{z}
    \end{array}
    \right)
    \)・\(
    \left(
    \begin{array}{c}
    a \\
    b \\
    c
    \end{array}
    \right)
    \)=\(a(x_i-\bar{x})+b(y_i-\bar{y})+ c(z_i-\bar{z})\)

    一方、内積\( \vec{AP} \)・\( \vec{e} \)は
    \( \vec{AP} \)・\( \vec{e} \)=|\( \vec{AP} \)||\( \vec{e} \)|\(cosθ\)
    です。ここで、単位ベクトルの大きさ|\( \vec{e} \)|=1なので、
    \( \vec{AP} \)・\( \vec{e} \)=|\( \vec{AP} \)|\(cosθ\)
    =|\(z_i\)|
    とうまくつながります。これは何次元でも同じ式になります!

    つまり、図と内積から

    |\(z_i\)|=\(a(x_i-\bar{x})+b(y_i-\bar{y})+ c(z_i-\bar{z})\)
    です。これが散布したデータを要約した情報量の元となります。

    |\(z_i\)|は\(i\)番目の情報量で全体の情報量を最大化する条件式を作りたいので、
    2乗和を取ります。何か平方和っぽいですが常套手段です。

    情報量\(S\)の式を作る

    情報量\(S\)は
    \(S\)=\(\sum_{i=1}^{n}|z_i^2|\)
    と書けるので、これを解いていきましょう。

    \(S\)=\(\sum_{i=1}^{n}|z_i^2|\)
    =\(\sum_{i=1}^{n} (a(x_i-\bar{x})+b(y_i-\bar{y})+ c(z_i-\bar{z}))^2\)
    =\(a^2\)\(\sum_{i=1}^{n} (x_i-\bar{x})^2\)
    +\(b^2\)\(\sum_{i=1}^{n}(y_i-\bar{y})^2\)
    +\(c^2\)\(\sum_{i=1}^{n}(z_i-\bar{z})^2\)
    +2\(ab\)\(\sum_{i=1}^{n} (x_i-\bar{x})(y_i-\bar{y})\)
    +2\(bc\)\(\sum_{i=1}^{n} (y_i-\bar{y})(z_i-\bar{z})\)
    +2\(ca\)\(\sum_{i=1}^{n} (z_i-\bar{z})(x_i-\bar{x})\)
    =\(a^2 S_{xx}\)+\(b^2 S_{yy}\)+\(c^2 S_{zz}\)
    +2\(ab S_{xy}\)+2\(bc S_{yz}\)++2\(ca S_{xz}\)

    ここで、散布データは固定なので、
    ●\( S_{xx}, S_{yy}, S_{zz},S_{xy}, S_{yz},S_{xz}\)は定数
    ●\(a,b,c\)は変数
    な点に注意ください。

    まとめると、

    情報量\(S\)=\(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^2+b^2+c^2\)=1

    この条件で情報量\(S\)を最大化(極値)をもつ条件式を求めたいので、
    困ったときの「ラグランジュの未定係数法」を使って条件式を求めてみましょう。

    ラグランジュの未定係数法を使って条件式を決める

    ラグランジュの未定係数は簡単にいうと

    \(g(a,b,c)\)=0のもとで、\(f(a,b,c)\)を最大化したいという
    等号制約付きの場合、
    関数\(L(a,b,c,λ)\)=\(f(a,b,c)\)-\(λg(a,b,c)\)と置いて、
    ●\(\displaystyle \frac{\partial L}{\partial a}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial b}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial c}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=0
    を同時に満たす解が最大化させる解となる。

    情報量\(S(a,b,c)\)は
    \(g(a,b)\)=\(a^2+b^2+c^2\)-1=0のもと、
    \(S(a,b,c)\)= \(a^2 S_{xx}\)+\(b^2 S_{yy}\)+\(c^2 S_{zz}\)
    +2\(ab S_{xy}\)+2\(bc S_{yz}\)++2\(ca S_{xz}\)
    を最大化させたいので、
    関数\(L(a,b,c,λ)\)=\(f(a,b,c)\)-\(λg(a,b,c)\)と置いて、
    ●\(\displaystyle \frac{\partial L}{\partial a}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial b}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial c}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=0
    を同時に満たす方程式を解いてみましょう。

    関数\(L(a,b,c,λ)\)=\(S(a,b,c)\)-\(λg(a,b,c)\)
    \(L(a,b,λ)\)= (\(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^2+b^2+c^2\)-1)
    より、条件式は
    ●\(\displaystyle \frac{\partial L}{\partial a}\)=\((2aS_{xx}+2bS_{xy}+2cS_{xz})\)-\(λ2a\)=0
    ●\(\displaystyle \frac{\partial L}{\partial b}\)=\((2aS_{xy}+2bS_{yy}+2cS_{yz})\)-\(λ2b\)=0
    ●\(\displaystyle \frac{\partial L}{\partial c}\)=\((2aS_{zz}+2bS_{xz}+2cS_{yz})\)-\(λ2b\)=0
    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=-\((a^2+b^2+c^2-1) \)=0

    上の2つの式を整理して、行列表記します。
    \(\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 \\
    b \\
    c
    \end{array}
    \right)
    \)=\(λ\)\(\left(
    \begin{array}{cccc}
    a \\
    b \\
    c
    \end{array}
    \right)
    \)
    となり、よく見ると、
    3次元の固有方程式になっているのがわかりますね。

    固有方程式を解けばよいけど

    情報量の最大化の条件式が
    結果的に固有方程式になっただけで
    主成分方向は固有値、固有ベクトルから
    話をスタートさせないこと!
    情報量の最大化の条件式が
    結果的に固有方程式になっただけで
    主成分方向は固有値、固有ベクトルから
    話をスタートさせないこと!

    3次元の場合の導出方法が理解できました!
    2次元と全く同じ導出方法なので、手計算できますね。
    ただし、固有方程式の3×3逆行列はさすがにExcel使ってください!

    しつこいようですが、同じ導出方法で多次元(n次元)も解説します。
    安心してください!2次元の導出方法が分かれば理解できます!

    ➂主成分分析が導出(m次元)

    m次元でデータの情報量を最大化する方向を立式

    下図のように、点在するn個のデータのうち、
    ●座標P(\(x_{1i},x_{2i},…,x_{mi}\))
    ●平均座標A(\(\bar{x_1},\bar{x_2},…,\bar{x_m}\))
    ●主成分方向の単位ベクトル \( \vec{e} \)
    ●PAと主成分方向との角θ
    ●主成分方向の長さ\(z_i\)を情報量として評価する
    を定義します。

    主成分分析

    まず、主成分方向の単位ベクトル \( \vec{e} \)を
    \( \vec{e} \)=\(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2 \\
    …\\
    a_m
    \end{array}
    \right)
    \)
    と定義します。

    単位ベクトルなので、

    \(a_1^2+a_2^2+…+a_m^2\)=1
    です。この条件式はあとで何度も使います。

    情報量\(z_i\)の式を作る

    次にまず、内積\( \vec{AP} \)・\( \vec{e} \)を計算します。
    内積は高校数学の範囲ですね。

    内積\( \vec{AP} \)・\( \vec{e} \)
    =\(
    \left(
    \begin{array}{c}
    x_{1i}-\bar{x_1} \\
    x_{2i}-\bar{x_2} \\
    … \\
    x_{mi}-\bar{x_m} \\
    \end{array}
    \right)
    \)・\(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2 \\
    … \\
    a_m
    \end{array}
    \right)
    \)
    =\(a_1(x_{1i}-\bar{x_1})+a_2(x_{2i}-\bar{x_2})+…+ a_m(x_{mi}-\bar{m})\)

    一方、内積\( \vec{AP} \)・\( \vec{e} \)は
    \( \vec{AP} \)・\( \vec{e} \)=|\( \vec{AP} \)||\( \vec{e} \)|\(cosθ\)
    です。ここで、単位ベクトルの大きさ|\( \vec{e} \)|=1なので、
    \( \vec{AP} \)・\( \vec{e} \)=|\( \vec{AP} \)|\(cosθ\)
    =|\(z_i\)|
    とうまくつながります。これは何次元でも同じ式になります!

    つまり、図と内積から

    |\(z_i\)|=\(a_1(x_{1i}-\bar{x_1})+a_2(x_{2i}-\bar{x_2})+…+ a_m(x_{mi}-\bar{m})\)
    です。これが散布したデータを要約した情報量の元となります。

    |\(z_i\)|は\(i\)番目の情報量で全体の情報量を最大化する条件式を作りたいので、
    2乗和を取ります。何か平方和っぽいですが常套手段です。

    情報量\(S\)の式を作る

    情報量\(S\)は
    \(S\)=\(\sum_{i=1}^{n}|z_i^2|\)
    と書けるので、これを解いていきましょう。

    \(S\)=\(\sum_{i=1}^{n}|z_i^2|\)
    =\(\sum_{i=1}^{n} \)\((a_1(x_{1i}-\bar{x_1})+a_2(x_{2i}-\bar{x_2})+\)…
    + \(a_m(x_{mi}-\bar{m}))^2\)
    =\(a_1^2\)\(\sum_{i=1}^{n} (x_{1i}-\bar{x_1})^2\)
    +\(a_2^2\)\(\sum_{i=1}^{n} (x_{2i}-\bar{x_2})^2\)

    +\(a_m^2\)\(\sum_{i=1}^{n} (x_{mi}-\bar{x_m})^2\)
    +
    +2\(a_1 a_2\)\(\sum_{i=1}^{n} (x_{1i}-\bar{x_1})(x_{2i}-\bar{x_2})\)
    +2\(a_1 a_3\)\(\sum_{i=1}^{n} (x_{1i}-\bar{x_1})(x_{3i}-\bar{x_3})\)

    +2\(a_{m-1} a_{m}\)\(\sum_{i=1}^{n} (x_{m-1,i}-\bar{x_{m-1}})(x_{mi}-\bar{x_m})\)
    と展開できます。なお、∑でまとめると
    =\(\sum_{j=1}^{m}(a_j-2 S_{jj})\)
    +2\(\sum_{j=1}^{m-1}\)\(\sum_{k=1,j≠k}^{m}\)\(a_j a_k S_{jk}\)
    (\(S_{jk}\)=\(\sum_{i=1}^{n}(x_{ji}-\bar{x_j})( x_{ki}-\bar{x_k})\))
    とまとめられます。でも難しいですね。展開した方がわかりやすいですね。

    ここで、散布データは固定なので、
    ●\(S_{jk}\) (\(j=1,…,m,k=1,…,m\))は定数
    ●\(a_1,a_2,…,a_m\)は変数
    な点に注意ください。

    まとめると、

    情報量\(S\)=\(\sum_{j=1}^{m}(a_j-2 S_{jj})\)
    +2\(\sum_{j=1}^{m-1}\)\(\sum_{k=1,j≠k}^{m}\)\(a_j a_k S_{jk}\)
    ただし、\(a_1^2+a_2^2+…+a_m^2\)=1

    この条件で情報量\(S\)を最大化(極値)をもつ条件式を求めたいので、
    困ったときの「ラグランジュの未定係数法」を使って条件式を求めてみましょう。

    ラグランジュの未定係数法を使って条件式を決める

    ラグランジュの未定係数は簡単にいうと

    \(g(a_1,a_2,…,a_m)\)=0のもとで、\(f(a_1,a_2,…,a_m)\)を最大化したいという
    等号制約付きの場合、
    関数\(L(a,b,c,λ)\)= \(f(a_1,a_2,…,a_m)\)- \(λg(a_1,a_2,…,a_m)\)と置いて、
    ●\(\displaystyle \frac{\partial L}{\partial {a_1}}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial {a_2}}\)=0

    ●\(\displaystyle \frac{\partial L}{\partial {a_m}}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=0
    を同時に満たす解が最大化させる解となる。
    式の数はm+1である。
    情報量\(S\)=\(\sum_{j=1}^{m}(a_j-2 S_{jj})\)
    +2\(\sum_{j=1}^{m-1}\)\(\sum_{k=1,j≠k}^{m}\)\(a_j a_k S_{jk}\)
    ただし、\(a_1^2+a_2^2+…+a_m^2\)=1

    情報量\(S(a,b,c)\)は
    \(g(a_1,a_2,…,a_m)\)= \(a_1^2+a_2^2+…+a_m^2\)-1=0のもと、
    \(S(a_1,a_2,…,a_m)\)= \(\sum_{j=1}^{m}(a_j-2 S_{jj})\)
    +2\(\sum_{j=1}^{m-1}\)\(\sum_{k=1,j≠k}^{m}\)\(a_j a_k S_{jk}\)
    を最大化させたいので、
    関数\(L(a,b,c,λ)\)= \(f(a_1,a_2,…,a_m)\)- \(λg(a_1,a_2,…,a_m)\)と置いて、
    ●\(\displaystyle \frac{\partial L}{\partial {a_1}}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial {a_2}}\)=0

    ●\(\displaystyle \frac{\partial L}{\partial {a_m}}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=0
    を満たす方程式を作りましょう。

    条件式は結構複雑になりますが、
    ●\(\displaystyle \frac{\partial L}{\partial a_1}\)=\((2a_1S_{11}+2a_2 S_{12}+…+2a_m S_{1m})\)-\(λ2a_1\)=0
    ●\(\displaystyle \frac{\partial L}{\partial a_2}\)=\((2a_2 S_{22}+2a_1 S_{12}+…+2a_m S_{2m})\)-\(λ2a_2\)=0
    ●\(\displaystyle \frac{\partial L}{\partial a_m}\)=\((2a_m S_{mm}+2a_1 S_{1m}+…+2a_m S_{m-1,m})\)-\(λ2a_m\)=0

    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=-\((a_1^2+a_2^2+…+a_m^2-1) \)=0

    上の2つの式を整理して、行列表記します。
    \(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & \ldots & S_{1m} \\
    S_{12} & S_{22} & \ldots & S_{2m} \\
    \vdots & \vdots & \ddots & \vdots \\
    S_{1m} & S_{2m} & \ldots & S_{mm}
    \end{array}
    \right)
    \) \(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2 \\
    \vdots \\
    a_m
    \end{array}
    \right)
    \)=\(λ\)\(
    \left(
    \begin{array}{c}
    a_1 \\
    a_2 \\
    \vdots \\
    a_m
    \end{array}
    \right)
    \)
    となり、m×m行列のおける固有方程式ができます。

    固有方程式を解けばよいけど

    情報量の最大化の条件式が
    結果的に固有方程式になっただけで
    主成分方向は固有値、固有ベクトルから
    話をスタートさせないこと!
    情報量の最大化の条件式が
    結果的に固有方程式になっただけで
    主成分方向は固有値、固有ベクトルから
    話をスタートさせないこと!

    n次元の場合の導出方法が理解できました!
    2,3次元と全く同じ導出方法なので、手計算できますね。
    ただし、固有方程式のm×m逆行列はさすがにExcel使ってください!

    2次元の導出方法が分かれば理解できます!

    同じ解法を3回読むと、わかる!できる!と自信が出るし、
    「こうやって解けば導出できる!」と確信が持てます!

    主成分分析の導出方法はあまり解説していないので、
    2次元、3次元,n次元としつこく同じ解法で導出方法を解説しました。

    まとめ

    「【重要】主成分分析が導出できる(多次元)」を解説しました。

    • ①主成分分析が導出(2次元)
    • ➁主成分分析が導出(3次元)
    • ➂主成分分析が導出(n次元)

  • 【重要】主成分分析が導出できる

    【重要】主成分分析が導出できる

    「主成分分析をどうやって理解すればよいかわからない、固有値・固有ベクトルの説明があるが、イメージがつかめない」などと困っていませんか?

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

    本記事のテーマ

    【重要】主成分分析が導出できる

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

    • ①【重要】主成分分析とは何か?が理解できる
    • ➁【重要】主成分分析は自分で導出できる
    • ➂「主成分分析=固有値問題」と暗記するな!
    • ➃主成分方向を理解する
    [themoneytizer id=”105233-2″]

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

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

    主成分分析は自分で解けます!
    Excelや固有値、因子負荷量とか暗記不要!
    自力で導出できるぜ!
    主成分分析と重回帰分析の違いは説明できますか?
    他の手法との違いも説明できますか?
    主成分分析は自分で導出できたら
    何でも説明できるぜ!

    主成分分析を自分のものにしたいので、わかりやすく解説します。紙と鉛筆で解けます!

    ①【重要】主成分分析とは?

    主成分分析はデータを要約するもの

    主成分分析の目的は、

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

    ここはしっかり理解しましょう。

    下図のように、青丸データが散布しており、その散布したデータからできるだけ多くの情報量が乗った方向を探し、散布したデータを集約させます。

    主成分分析

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

    主成分分析

    固有値から考える主成分分析がわからなくなる

    主成分分析の解法を取得する時にどうしても
    固有値を求める固有方程式や
    固有ベクトルのイメージ
    が強くなりがちです。

    「主成分分析は固有値問題」
    を条件反射的にインプットすると
    かえって主成分分析が理解しにくくなる

    大事なのは、

    平方和を使って情報量が多い方向を探す条件式を作ったら、結果的に固有方程式ができるだけの話。
    メインは、情報量が多い方向を探すこと
    サブは、固有方程式を解く
    とメイン、サブの関係を意識しましょう。

    固有方程式を解く流れはできるだけあっさり解説して、
    メインの情報量が多い方向を探すところをQCプラネッツではしっかり解説します。

    重回帰分析との違いは何か?

    よく同じデータが用意されると、
    「重回帰分析」と「主成分分析」は何が違うの?
    何で違う分析手法があるの?」

    混乱します。

    \(x_1\) \(x_2\) \(x_3\) \(y\)
    1 2 3 6
    3 6 8 15

    上表のようなデータがあって、
    問1:重回帰分析せよ。
    問2:主成分分析せよ。
    と来たら、それぞれ分析手法の違いを理解しながら解けますか?

    主成分分析は、平方和から
    散布したデータを要約する手法
    重回帰分析は、平方和から
    散布したデータを誤差が最小になるように回帰直線を引く手法

    大事なのは、

    1つの手法を勉強する時は、
    周囲の他の手法との違いを比較しながら
    学ぶと理解が深まる!

    では、主成分分析の解説をスタートさせます!

    ➁【重要】主成分分析は自分で導出できる

    2次元でデータの情報量を最大化する方向を立式

    下図のように、点在するn個のデータのうち、
    ●座標P(\(x_i,y_i\))
    ●平均座標A(\(\bar{x},\bar{y}\))
    ●主成分方向の単位ベクトル \( \vec{e} \)
    ●PAと主成分方向との角θ
    ●主成分方向の長さ\(z_i\)を情報量として評価する
    を定義します。

    主成分分析

    まず、主成分方向の単位ベクトル \( \vec{e} \)を
    \( \vec{e} \)=\(
    \left(
    \begin{array}{c}
    a \\
    b
    \end{array}
    \right)
    \)
    と定義します。

    単位ベクトルなので、

    \(a^2+b^2\)=1
    です。この条件式はあとで何度も使います。

    情報量\(z_i\)の式を作る

    次にまず、内積\( \vec{AP} \)・\( \vec{e} \)を計算します。
    内積は高校数学の範囲ですね。

    内積\( \vec{AP} \)・\( \vec{e} \)
    =\(
    \left(
    \begin{array}{c}
    x_i-\bar{x} \\
    y_i-\bar{y}
    \end{array}
    \right)
    \)・\(
    \left(
    \begin{array}{c}
    a \\
    b
    \end{array}
    \right)
    \)=\(a(x_i-\bar{x})+b(y_i-\bar{y})\)

    一方、内積\( \vec{AP} \)・\( \vec{e} \)は
    \( \vec{AP} \)・\( \vec{e} \)=|\( \vec{AP} \)||\( \vec{e} \)|\(cosθ\)
    です。ここで、単位ベクトルの大きさ|\( \vec{e} \)|=1なので、
    \( \vec{AP} \)・\( \vec{e} \)=|\( \vec{AP} \)|\(cosθ\)
    =|\(z_i\)|
    とうまくつながります。

    つまり、図と内積から

    |\(z_i\)|=\(a(x_i-\bar{x})+b(y_i-\bar{y})\)
    です。これが散布したデータを要約した情報量の元となります。

    |\(z_i\)|は\(i\)番目の情報量で全体の情報量を最大化する条件式を作りたいので、
    2乗和を取ります。何か平方和っぽいですが常套手段です。

    情報量\(S\)の式を作る

    情報量\(S\)は
    \(S\)=\(\sum_{i=1}^{n}|z_i^2|\)
    と書けるので、これを解いていきましょう。

    \(S\)=\(\sum_{i=1}^{n}|z_i^2|\)
    =\(\sum_{i=1}^{n} (a(x_i-\bar{x})+b(y_i-\bar{y}))^2\)
    =\(a^2\)\(\sum_{i=1}^{n} (x_i-\bar{x})^2\)
    +2\(ab\)\(\sum_{i=1}^{n} (x_i-\bar{x})(y_i-\bar{y})\)
    +\(b^2\)\(\sum_{i=1}^{n}(y_i-\bar{y})^2\)
    =\(a^2 S_{xx}\)+2\(ab S_{xy}\)+\(b^2 S_{yy}\)

    ここで、散布データは固定なので、
    ●\( S_{xx}, S_{xy}, S_{yy}\)は定数
    ●\(a,b\)は変数
    な点に注意ください。

    まとめると、

    情報量\(S\)=\(a^2 S_{xx}\)+2\(ab S_{xy}\)+\(b^2 S_{yy}\)
    ただし、\(a^2+b^2\)=1

    この条件で情報量\(S\)を最大化(極値)をもつ条件式を求めたいので、
    困ったときの「ラグランジュの未定係数法」を使って条件式を求めてみましょう。

    ラグランジュの未定係数法を使って条件式を決める

    ラグランジュの未定係数は簡単にいうと

    \(g(a,b)\)=0のもとで、\(f(a,b)\)を最大化したいという
    等号制約付きの場合、
    関数\(L(a,b,λ)\)=\(f(a,b)\)-\(λg(a,b)\)と置いて、
    ●\(\displaystyle \frac{\partial L}{\partial a}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial b}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=0
    を同時に満たす解が最大化させる解となる。

    情報量\(S(a,b)\)は
    \(g(a,b)\)=\(a^2+b^2\)-1=0のもと、
    \(S(a,b)\)= \(a^2 S_{xx}\)+2\(ab S_{xy}\)+\(b^2 S_{yy}\)を最大化させたいので、
    関数\(L(a,b,λ)\)=\(S(a,b)\)-\(λg(a,b)\)と置いて、
    ●\(\displaystyle \frac{\partial L}{\partial a}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial b}\)=0
    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=0
    を同時に満たす方程式を解いてみましょう。

    関数\(L(a,b,λ)\)=\(S(a,b)\)-\(λg(a,b)\)
    \(L(a,b,λ)\)=(\(a^2 S_{xx}\)+2\(ab S_{xy}\)+\(b^2 S_{yy}\))-\(λ\)(\(a^2+b^2\)-1)
    より、条件式は
    ●\(\displaystyle \frac{\partial L}{\partial a}\)=\((2aS_{xx}+2bS_{xy})\)-\(λ2a\)=0
    ●\(\displaystyle \frac{\partial L}{\partial b}\)=\((2aS_{xy}+2bS_{yy})\)-\(λ2b\)=0
    ●\(\displaystyle \frac{\partial L}{\partial λ}\)=-\((a^2+b^2-1) \)=0

    上の2つの式を整理して、行列表記します。
    \(\left(
    \begin{array}{cccc}
    S_{xx} & S_{xy} \\
    S_{xy} & S_{yy}
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    a \\
    b
    \end{array}
    \right)
    \)=\(λ\)\(\left(
    \begin{array}{cccc}
    a \\
    b
    \end{array}
    \right)
    \)
    となり、よく見ると、
    2次元の固有方程式になっているのがわかりますね。

    ➂「主成分分析=固有値問題」と暗記するな!

    情報量最大化条件が固有方程式になっただけ

    情報量が最大化する条件をラグランジュの未定係数法から導出すると、
    ●\(\left(
    \begin{array}{cccc}
    S_{xx} & S_{xy} \\
    S_{xy} & S_{yy}
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    a \\
    b
    \end{array}
    \right)
    \)=\(λ\)\(\left(
    \begin{array}{cccc}
    a \\
    b
    \end{array}
    \right)
    \)
    ●\(a^2+b^2\)=1
    となりました。

    つまり、

    情報量の最大化の条件式が
    結果的に固有方程式になっただけで
    主成分方向は固有値、固有ベクトルから
    話をスタートさせないこと!

    固有値や固有ベクトルをイメージしても主成分分析は理解できない

    よく、固有値や固有ベクトルを可視化して、解法のイメージをわかりやすく解説する教科書やサイトが多いのですが、結局、その向きの意味がよくわからないから、主成分分析って何をやるものかが甘いになってしまいます。

    このあいまいさがQCプラネッツ自身苦しんできました。なので、固有方程式ではなく主成分分析の意図がより伝わる導出方法を本記事で解説しています。

    情報量の最大化の条件式が
    結果的に固有方程式になっただけで
    主成分方向は固有値、固有ベクトルから
    話をスタートさせないこと!

    固有方程式は淡々と解けばいい

    固有方程式は
    線形代数の代表選手なので、
    主成分分析よりインパクト強いです。
    だから
    「主成分分析」=「固有値問題」
    と認識しがちです。

    はっきり言って、

    いろいろな場面で
    固有方程式が出て来るけど、
    固有値、固有ベクトルそのものにはあまり意味はないと
    冷静に見た方が、
    各手法の本質が理解しやすい

    固有方程式は淡々と解けばよいです。

    本記事では、文字式で方程式導出まできましたが、この後の解法は、
    関連記事で具体的な数字を使って解いた方がわかりやすいので、
    関連記事で解説します。

    ➃主成分方向を理解する

    n次元ならn個の主成分方向がある

    n次元の固有方程式では、n個の固有値と固有ベクトルが計算できます。
    (関連記事で具体的な値を使って解いた方がわかりやすいです)

    なるべく少ない方向でたくさんの情報量が集めたいけど、数学的には、変数の数だけベクトルが解として出て来ます。

    イメージは下図のとおりです。

    主成分分析

    n個の方向が出て来る理由は、

    第1方向である程度情報量を要約したら
    その垂直な第2方向で情報量を要約する。
    これを繰り返して、
    第n方向で情報量を要約して
    全データを要約するイメージ

    と考えると理解しやすいです。

    主成分方向は互いに直交する

    それぞれの主成分方向はなぜか直交します。これは固有値解の特性でもありますが、関連記事で具体例を挙げながら確かに直交することを確認しましょう。

    主成分負荷量で方向の優先順位をつける

    主成分方向は固有値解の個数だけあるので、
    優先順位をつけたくなります。

    寄与率や平方和、因子負荷量などの変数を使って評価していきます。これも関連記事で解説します。

    以上、主成分分析の導出に必要なエッセンスを2次元の事例を使って解説しました。

    主成分分析とは、散布データから
    情報量を要約するもの。
    情報量を最大限に要約する条件式が固有方程式になる。
    主成分方向は固有ベクトルから求められるが、
    「主成分分析=固有値問題」と暗記すると
    主成分分析の本質がぼやけるので要注意!

    を強くお伝えしました。

    まとめ

    「【重要】主成分分析が導出できる」を解説しました。

    • ①【重要】主成分分析とは何か?が理解できる
    • ➁【重要】主成分分析は自分で導出できる
    • ➂「主成分分析=固有値問題」と暗記するな!
    • ➃主成分方向を理解する

  • 【まとめ】重回帰分析がよくわかる

    【まとめ】重回帰分析がよくわかる

    本記事のテーマ

    【まとめ】重回帰分析がよくわかる

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

    • ①重回帰分析で最も理解すべきこと
    • ➁重回帰分析の基本
    • ➂重回帰分析の検定と推定方法
    • ➃重回帰分析の特徴的な性質
    • ➄ブログ記事のご紹介
    • ⑥プレミアムテキストのご紹介
    QC検定®1級合格したい方、回帰分析をしっかり学びたい方におススメです。
    【内容】①単回帰分析の基本、➁特殊な単回帰分析、➂単回帰分析の応用、➃重回帰分析の基礎、⑤重回帰分析の応用、の5章全41題。

    ①重回帰分析で最も理解すべきこと

    重回帰分析を学ぶ上で最も大事なことを挙げると、

    1. 単回帰分析と同様に、誤差が最小となる条件式を求めている
    2. データの構造式から平方和の分解、回帰式の導出の流れを理解する
    3. 説明変数を増やすと一般には寄与率は高くなる
    4. 多変数による便利さと、結果の妥当性の吟味が必要になる
    5. 重回帰分析の公式を個別に暗記せずに、導出過程を理解する
    6. 単回帰分析、主成分分析などの他の解析方法との違いを理解する

    の6点を意識して習得していきましょう。

    QCプラネッツでは、重回帰分析の重要ポイントをわかりやすく解説していますので、ご確認ください。

    ➁重回帰分析の基本

    重回帰分析とは何か?

    多変量解析はたくさんの解析手法がありますが、目的は1つです。

    ●必要な成分をなるべく抽出すること
    ●逆に言えば、不要な誤差成分が最小になる条件で分析すること

    生データと回帰データの差をQとすると、Q→minになる条件式を満たすのが回帰式となります。つまり、生データからなるべく多くの成分を抜き出して特性を見ようとするのが多変量解析の目的です。

    その1つが重回帰分析となります。

    そして、QCプラネッツでは、実験計画法でも何度も伝えていますが

    1. データの構造式を立てて
    2. データの構造式の2乗和から平方和を分解し
    3. 平方和の分解から分散分析して、
    4. 誤差の最小条件から回帰式などの条件式を求める

    この流れで、多変量解析・重回帰分析を解いていきます。

    ●重回帰分析の独特な公式が出ますが、導出の考え方は上の1~4の流れで解いていきます。ここ結構大事です!

    導出の流れを意識しておかないと、何を解いているかわからなくなります。

    ➂重回帰分析の検定と推定方法

    ➁で重回帰分析の流れを理解したところですが、検定と推定の公式が難解なため暗記に頼りがちになります。関連記事では重回帰分析の検定・推定の式について丁寧に導出過程を解説しています。

    QCプラネッツでは、

    ●自分で導出できない公式は使うな!
    (間違っているかもしれないぞ!)
    自分で確かめてから使おう!

    という信念があります。

    例えば、マハラビノス距離Dが難しい式なので、いきなり使おうとせず、具体例で慣れていきましょう。多変量解析では何度かマハラビノス距離を解説します。

    ➃重回帰分析の特徴的な性質

    単回帰分析と違って、重回帰分析の独特な特徴があります。重回帰分析の強みでもあり弱みでもあります。

    強み

    ●複数の説明変数で分析式が作れる
    ●1次式の線形式でシンプル
    ●説明変数は単位を変えても他の説明変数の回帰直線の傾きに影響しない

    弱み

    ●寄与率が高くなりがち
    ●正負の相関性と回帰式の傾きの正負が不一致な場合がある

    重回帰分析の強み・弱みを意識しながら、独特な特徴を理解していきましょう。

    あとは、変数増減法、テコ比、ダービンワトソン比を紹介します。公式暗記ではなく、1つ1つ丁寧に導出していますので、導出過程を理解してから習得しましょう!

    ➄ブログ記事のご紹介

    重回帰分析の流れが理解できる関連記事を紹介します。上から下に沿って、それぞれの関連記事を読んでいってください。

    重回帰分析の回帰式が導出できる

    重回帰分析の回帰式が導出できる
    公式暗記になりがちな重回帰分析の回帰式について途中経過を一切端折らず丁寧に解説します。重回帰分析や多変量解析を勉強する人は必読!

    平方和の分解と分散分析ができる(重回帰分析)

    平方和の分解と分散分析ができる(重回帰分析)
    重回帰分析の分散分析をする際にデータの構造式を使って平方和の分解が自力で計算できるようにわかりやすく解説!

    重回帰分析のダミー変数の使い方がよくわかる

    重回帰分析のダミー変数の使い方がよくわかる
    本記事では、ダミー変数の値と重回帰分析の影響についてわかりやすく解説!

    重回帰分析のテコ比がよくわかる

    重回帰分析のテコ比がよくわかる
    本記事では重回帰分析の回帰直線を求める式から丁寧にハット行列、テコ比を丁寧に導出します。

    ダービンワトソン比がよくわかる

    ダービンワトソン比がよくわかる
    ダービンワトソン比の導出、範囲の証明、値とグラフの関係についてわかりやすく解説!

    ⑥プレミアムテキストのご紹介

    重回帰分析の流れが理解できる関連記事を紹介します。上から下に沿って、それぞれの関連記事を読んでいってください。

    以前、ブログ記事としていましたが、まとめて冊子にしました。
    どれも重要なテーマなので勉強しましょう!

    テーマ 内容
    1 重回帰分析の寄与率Rがわかる
    2 重回帰分析と単回帰分析の比較がわかる
    3 重回帰分析の推定区間の式が導出できる
    4 偏相関係数が導出できる
    5 重回帰分析の多重共線性がわかる
    6 重回帰分析は単位に影響されない理由がわかる(その1)
    7 重回帰分析は単位に影響されない理由がわかる(その2)
    8 偏回帰係数に関する検定と推定がよくわかる
    9 変数増減法がよくわかる

    しっかり勉強していきましょう!

    まとめ

    • ①重回帰分析で最も理解すべきこと
    • ➁重回帰分析の基本
    • ➂重回帰分析の検定と推定方法
    • ➃重回帰分析の特徴的な性質
    • ➄ブログ記事のご紹介
    • ⑥プレミアムテキストのご紹介
  • ダービンワトソン比がよくわかる

    ダービンワトソン比がよくわかる

    ダービンワトソン比がよくわかる

    • ①ダービンワトソン比とは
    • ➁ダービンワトソン比の範囲を導出
    • ➂ダービンワトソン比の値とデータの特性

    【QC検定®1級合格】回帰分析問題集を販売します!

    QC検定®1級合格したい方、回帰分析をしっかり学びたい方におススメです。
    ①単回帰分析の基本、➁特殊な単回帰分析、➂単回帰分析の応用、➃重回帰分析の基礎、⑤重回帰分析の応用、の5章全41題を演習できる問題集です。

    ダービンワトソン比が0~4の範囲になる理由と、
    ダービンワトソン比の値とグラフの関係を実例をあげて解説するのはQCプラネッツだけ!

    ①ダービンワトソン比とは

    ダービンワトソン比とは

    ある回帰直線において、回帰線分と残差成分に分けた時、
    \(y_i\)=\(βx_i\)(回帰)+\(e_i\)(残差) (\(i=1,2,…,n\))
    残差\(e_i\)について、ダービンワトソン比を定義します。

    DW=\(\frac{\sum_{i=2}^{n}(e_i-e_{i-1})^2}{\sum_{i=1}^{n}e_i^2}\)
    隣り合った残差の関係を調べることで、データに異常がないかをチェックします。

    ダービンワトソン比の式を展開する

    DW=\(\frac{\sum_{i=2}^{n}(e_i-e_{i-1})^2}{\sum_{i=1}^{n}e_i^2}\)を展開します。
    DW=\(\frac{\sum_{i=2}^{n}(e_i-e_{i-1})^2}{\sum_{i=1}^{n}e_i^2}\)
    =\(\frac{\sum_{i=2}^{n} e_i^2-2\sum_{i=2}^{n} e_{i-1} e_i +\sum_{i=2}^{n} e_{i-1}^2}{\sum_{i=1}^{n}e_i^2}\)
    =(式1)

    ここで、
    ●\(\sum_{i=1}^{n} e_i^2\)=\(e_1^2 +\sum_{i=2}^{n} e_i^2\)
    ●\(\sum_{i=1}^{n} e_i^2\)=\(\sum_{i=2}^{n} e_{i-1}^2+e_n^2\)
    に注意して、(式1)に代入します。

    (式1)
    =\(\frac{(\sum_{i=1}^{n} e_i^2-e_1^2)-2\sum_{i=2}^{n} e_{i-1} e_i +(\sum_{i=1}^{n} e_{i}^2-e_n^2)}{\sum_{i=1}^{n}e_i^2}\)
    =\(\frac{2\sum_{i=1}^{n} e_i^2-2\sum_{i=2}^{n} e_{i-1} e_i -(e_1^2+e_n^2)}{\sum_{i=1}^{n}e_i^2}\)
    =2-2\(\frac{\sum_{i=2}^{n} e_{i-1} e_i}{\sum_{i=1}^{n}e_i^2}\)-\(\frac{ e_1^2+e_n^2}{\sum_{i=1}^{n}e_i^2}\)
    =(式3)

    (式3)の第3項においては、\(n\)が十分大きいと
    \(\frac{ e_1^2+e_n^2}{\sum_{i=1}^{n}e_i^2}\)
    =\(\frac{e_1^2+e_n^2}{e_1^2+e_2^2+e_3^2+…+e_n^2}\)
    となり、(分子) \(\ll\) (分母)とみなせるので、

    \(\frac{ e_1^2+e_n^2}{\sum_{i=1}^{n}e_i^2}\) \(\approx\) 0
    とします。

    次に第2項の
    \(\frac{\sum_{i=2}^{n} e_{i-1} e_i}{\sum_{i=1}^{n}e_i^2}\)
    ですが、よく相関係数\(ρ\)と定義して、
    \(ρ\)=\(\frac{\sum_{i=2}^{n} e_{i-1} e_i}{\sum_{i=1}^{n}e_i^2}\)
    とおくことがあります。

    ➁ダービンワトソン比の範囲を導出

    残差どうしの相関係数の範囲を導出

    \(ρ\)=\(\frac{\sum_{i=2}^{n} e_{i-1} e_i}{\sum_{i=1}^{n}e_i^2}\)
    の範囲を求めましょう。相関係数というくらいなので、-1 ≤ \(ρ\) ≤ 1となります。

    証明してみましょう。

    (分子)= \(\sum_{i=2}^{n} e_{i-1} e_i \)をあえて絶対値をつけて
    (分子)= |\(\sum_{i=2}^{n} e_{i-1} e_i \)|とします。

    (分母)-(分子)
    =\(\sum_{i=1}^{n}e_i^2\)-|\(\sum_{i=2}^{n} e_{i-1} e_i \)|
    =(\(e_1^2+e_2^2+…+e_n^2\))-(|\(e_1 e_2\)|+|\(e_2 e_3\)|+…+|\(e_{n-1} e_n\)|)
    上手く変形すると
    =\(\frac{1}{2}(|e_1-e_2|)^2\)+\(\frac{1}{2}(|e_2-e_3|)^2\)+…+\(\frac{1}{2}(|e_{n-1}-e_n|)^2\)+\(\frac{1}{2}e_n^2\)
    =\(\frac{1}{2}(e_1-e_2)^2\)+\(\frac{1}{2}(e_2-e_3)^2\)+…+\(\frac{1}{2}(e_{n-1}-e_n)^2\)+\(\frac{1}{2}e_n^2\) ≥ 0

    よって、

    \(\sum_{i=1}^{n}e_i^2\) ≥ |\(\sum_{i=2}^{n} e_{i-1} e_i \)|
    両辺ともに正なので、
    \(\frac{|\sum_{i=2}^{n} e_{i-1} e_i |}{\sum_{i=1}^{n}e_i^2}\) ≤ 1
    絶対値を外すと
    -1 ≤ \(\frac{|\sum_{i=2}^{n} e_{i-1} e_i |}{\sum_{i=1}^{n}e_i^2}\) ≤ 1
    -1 ≤ \(ρ\) ≤ 1
    となります。

    ダービンワトソン比の範囲を導出

    もう一度、ダービンワトソン比の式(式3)を再掲します。
    DW=2-2\(\frac{\sum_{i=2}^{n} e_{i-1} e_i}{\sum_{i=1}^{n}e_i^2}\)-\(\frac{ e_1^2+e_n^2}{\sum_{i=1}^{n}e_i^2}\)
    第3項は0で近似して、第2項は-1~1の範囲ですから、

    0 ≤ DW ≤ 4
    の範囲で動くことになります。
    暗記しなくても自力で導出できますね!

    ➂ダービンワトソン比の値とデータの特性

    ダービンワトソン比の範囲と相関の関係

    よく、下の3つに分類されます。

    DW 相関性 相関係数\(ρ\)
    0~2 正の相関あり \(ρ\) ≥ 0
    2 相関なし \(ρ\) = 1
    2~4 負の相関あり \(ρ\) ≤ 0

    相関係数\(ρ\)=\(\frac{\sum_{i=2}^{n} e_{i-1} e_i}{\sum_{i=1}^{n}e_i^2}\)の正負や値を見ても、どんなグラフやデータなのかがイメージできませんよね!

    なので、実例を使ってダービンワトソン比を調べてみましょう。

    パターン1 パターン2
    No x1 y1 x2 y2
    1 10 56 10 40
    2 12 62 11 60
    3 14 64 12 42
    4 13 68 13 62
    5 10 72 14 44
    6 25 76 15 64
    7 22 80 16 46
    8 25 82 17 66
    9 23 80 18 48
    10 16 90 19 68

    それぞれのデータをプロットします。

    ダービンワトソン比

    ダービンワトソン比が0~2の間の場合

    パターン1のデータのダービンワトソン比DWを計算します。

    No \(x_1\) \(y\) X=
    \(x_1-\bar{x_1}\)
    Y=
    \(y-\bar{y}\)
    \(X^2\) \(Y^2\) XY \(\hat{y_i}\) \(e_i\)
    1 10 56 -7 -17 49 289 119 65.047 -9.047
    2 12 62 -5 -11 25 121 55 67.320 -5.320
    3 14 64 -3 -9 9 81 27 69.592 -5.592
    4 13 68 -4 -5 16 25 20 68.456 -0.456
    5 10 72 -7 -1 49 1 7 65.047 6.953
    6 25 76 8 3 64 9 24 82.089 -6.089
    7 22 80 5 7 25 49 35 78.680 1.320
    8 25 82 8 9 64 81 72 82.089 -0.089
    9 23 80 6 7 36 49 42 79.817 0.183
    10 16 90 -1 17 1 289 -17 71.864 18.136
    sum 170 730 0 657 338 994 384
    ave 17 73 \(S_{xx}\) \(S_{yy}\) \(S_{xy}\)

    なお、回帰直線と平方和も計算すると、
    ●y切片=53.687
    ●傾き=1.136
    ●回帰平方和\(S_R\)=436.26
    ●残差平方和\(S_e\)=557.74
    ●総平方和\(S_T\)=994
    となります。一度は計算してみてくださいね。

    ダービンワトソン比DWを計算

    各\(e_i\)の値が求まったので、ダービンワトソン比を計算しましょう。
    DW=\(\frac{\sum_{i=2}^{n}(e_i-e_{i-1})^2}{\sum_{i=1}^{n}e_i^2}\)
    =\(\frac{((-5.320)-(-9.047))^2}{(-5.320)^2}\)+\(\frac{((-5.592)-(-5.320))^2}{(-5.320)^2}\)+…+\(\frac{((18.136-0.183)^2}{0.183^2}\)
    =1.156

    ダービンワトソン比が0~2の間になりました。

    ダービンワトソン比DWが0~2の状態とは?

    x-yグラフと、残差\(e_i\)の変化をプロットします

    ダービンワトソン比

    残差のプロットからは
    \(e_i\)が5以下の値で固まっており、2点大きく飛び出ているのが特徴で、相関係数\(ρ\)は正です。

    ダービンワトソン比における相関係数が正の場合のデータのイメージです。

    では、ダービンワトソン比DWが2~4の状態とは?どんな感じかを調べてみましょう。

    ダービンワトソン比が2~4の間の場合

    パターン2のデータのダービンワトソン比DWを計算します。

    No \(x_1\) \(y\) X=\(x_1-\bar{x_1}\) Y=\(y-\bar{y}\) \(X^2\) \(Y^2\) XY \(\hat{y_i}\) \(e_i\)
    1 10 40 -4.5 -14 20.25 196 63 46.909 -6.909
    2 11 60 -3.5 6 12.25 36 -21 48.485 11.515
    3 12 42 -2.5 -12 6.25 144 30 50.061 -8.061
    4 13 62 -1.5 8 2.25 64 -12 51.636 10.364
    5 14 44 -0.5 -10 0.25 100 5 53.212 -9.212
    6 15 64 0.5 10 0.25 100 5 54.788 9.212
    7 16 46 1.5 -8 2.25 64 -12 56.364 -10.364
    8 17 66 2.5 12 6.25 144 30 57.939 8.061
    9 18 48 3.5 -6 12.25 36 -21 59.515 -11.515
    10 19 68 4.5 14 20.25 196 63 61.091 6.909
    sum 145 540 0 486 82.5 1080 130
    ave 14.5 54 \(S_{xx}\) \(S_{yy}\) \(S_{xy}\)

    なお、回帰直線と平方和も計算すると、
    ●y切片=31.152
    ●傾き=1.576
    ●回帰平方和\(S_R\)=204.84
    ●残差平方和\(S_e\)=875.15
    ●総平方和\(S_T\)=1080
    となります。一度は計算してみてくださいね。

    ダービンワトソン比DWを計算

    各\(e_i\)の値が求まったので、ダービンワトソン比を計算しましょう。
    DW=\(\frac{\sum_{i=2}^{n}(e_i-e_{i-1})^2}{\sum_{i=1}^{n}e_i^2}\)
    =\(\frac{(11.515-(-6.909))^2}{(-6.909)^2}\)+\(\frac{((-8.061)-11.515)^2}{11.515^2}\)+…+\(\frac{((6.909-(-11.515))^2}{(-11.515)^2}\)
    =3.691

    ダービンワトソン比が2~4の間になりました。

    ダービンワトソン比DWが2~4の状態とは?

    x-yグラフと、残差\(e_i\)の変化をプロットします

    ダービンワトソン比

    残差のプロットからは
    \(e_i\)が大きな値と小さな値がジグザグに入れ替わっている特徴がありますね。相関係数\(ρ\)は負です。

    ダービンワトソン比における相関係数が負の場合のデータのイメージです。

    まとめ

    「ダービンワトソン比がよくわかる」を解説しました。

    • ①ダービンワトソン比とは
    • ➁ダービンワトソン比の範囲を導出
    • ➂ダービンワトソン比の値とデータの特性
  • 重回帰分析のテコ比がよくわかる

    重回帰分析のテコ比がよくわかる

    本記事のテーマ

    重回帰分析のテコ比がよくわかる
    • ①重回帰分析を解く
    • ➁\(β_k\)の導出式を行列表記する
    • ➂ハット行列\(H\)を導出する
    • ➃ハット行列とテコ比を導出する
    • ➄ハット行列とテコ比を実際に計算する
    • ⑥テコ比がわかる

    【QC検定®1級合格】回帰分析問題集を販売します!

    QC検定®1級合格したい方、回帰分析をしっかり学びたい方におススメです。
    ①単回帰分析の基本、➁特殊な単回帰分析、➂単回帰分析の応用、➃重回帰分析の基礎、⑤重回帰分析の応用、の5章全41題を演習できる問題集です。

    テコ比、ハット行列を実際に計算するところまで解説するのはQCプラネッツだけ!
    苦手な行列表記も丁寧に解説していきます。
    QCプラネッツも行列は苦手です(笑)

    ①重回帰分析を解く

    データの構造式を作る

    次のようなデータを重回帰分析することを考えます。
    添え字の\(i,j,k\)は
    ●\(i\)=1,2,…,\(n\)
    ●\(j\)=1,2,…,\(p\)
    ●\(k\)=1,2,…,\(p\)
    である点に注意してください。

    データ
    \(i\)⇊ \(j,k\)⇒
    \(x_{1i}\) \(x_{2i}\) \(x_{ji}\) \(x_{pi}\) \(y_i\)
    1 \(x_{11}\) \(x_{21}\) \(x_{j1}\) \(x_{p1}\) \(y_1\)
    2 \(x_{12}\) \(x_{22}\) \(x_{j2}\) \(x_{p2}\) \(y_2\)
    \(i\) \(x_{1i}\) \(x_{2i}\) \(x_{ji}\) \(x_{pi}\) \(y_i\)
    \(n\) \(x_{1n}\) \(x_{2n}\) \(x_{jn}\) \(x_{pn}\) \(y_p\)

    最小二乗法から正規方程式を作る

    上の表をデータの構造式で表現すると、
    \(\hat{y_i}-\bar{y}\)=\(\sum_{k=1}^{p}β_k(x_{ki}-\bar{x_k})\) (式1)
    ですね。添え字の\(i,j,k\)は
    ●\(i\)=1,2,…,\(n\)
    ●\(j\)=1,2,…,\(p\)
    ●\(k\)=1,2,…,\(p\)
    である点に注意してください。

    (式1)を書き出すと、
    \(\hat{y_i}-\bar{y}\)=\(β_1(x_{1i}-\bar{x_1})\)+\(β_2(x_{2i}-\bar{x_2})\)+…+\(β_p(x_{pi}-\bar{x_p})\)
    ですね。

    行列表記は抽象的なので
    なるべく具体的な式を書きながら
    理解していきましょう!

    最小二乗法から正規方程式を作って、回帰直線の傾き\(β_k\)を求める式を作ります。これは、関連記事で詳細に解説しているので、ご確認ください。

    「【まとめ】重回帰分析がよくわかる」記事の中に、プレミアム冊子PDFがあり、そこで詳細に解説しています。ご覧ください。

    回帰直線の傾き\(β_k\)を求める式は

    \(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & \ldots & S_{1p} \\
    S_{21} & S_{22} & \ldots & S_{2p} \\
    \vdots & \vdots & \ddots & \vdots \\
    S_{p1} & S_{p2} & \ldots & S_{pp}
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    β_1 \\
    β_2 \\
    \vdots \\
    β_p
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    S_{1y} \\
    S_{2y} \\
    \vdots \\
    S_{py}
    \end{array}
    \right)
    \)

    ですね。Sは各成分の平方和で、逆行列を使って、\(β_i\)の各値を計算します。

    回帰直線の傾き\(β_k\)を導出する式を作る

    回帰直線の傾き\(β_k\)は、次の行列の式から計算できますね。

    \(
    \left(
    \begin{array}{c}
    β_1 \\
    β_2 \\
    \vdots \\
    β_p
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    S^{11} & S^{12} & \ldots & S^{1p} \\
    S^{21} & S^{22} & \ldots & S^{2p} \\
    \vdots & \vdots & \ddots & \vdots \\
    S^{p1} & S^{p2} & \ldots & S^{pp}
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    S_{1y} \\
    S_{2y} \\
    \vdots \\
    S_{py}
    \end{array}
    \right)
    \)

    となります。

    ここで、\(S^{jk}\)は逆行列のj行k列目の値で、添え字を上側とします。

    さあ、ここからが本記事の本題になります。

    最終的には、行列(太文字で表記)を使って
    \(\hat{y}\)=\(X(X^T X)^{-1} X^T y\)=\(Hy\)
    として、
    \(H\)=\(X(X^T X)^{-1} X^T \)
    とハット行列\(H\)を導出することです。

    行列を使って式変形するのは、理解が難しいので、なるべく具体的な式を書きながらわかりやすく解説します!

    そのために、結構大事なのが、

    平方和Sを行列表記して解ける事

    例えば、
    S=\(\sum_{i=1}^{n}(x_i-\bar{x})^2\)=\(X^T X\)
    \(X\)=\(\begin{pmatrix}
    x_1-\bar{x}\\
    x_2-\bar{x}\\
    …\\
    x_n-\bar{x}
    \end{pmatrix}
    \)

    がすっと理解できることが大事なのですが、最初は難しいので、丁寧に解説していきます。

    ➁\(β_k\)の導出式を行列表記する

    平方和\(S_{jk}\)の導出式を行列表記する

    先ほど紹介しましたが、
    S=\(\sum_{i=1}^{n}(x_i-\bar{x})^2\)=\(X^T X\)
    が難しいので、丁寧に解説していきます。

    平方和Sを書き出すと
    S=\((x_1-\bar{x})^2\)+\((x_2-\bar{x})^2\)+…+\((x_i-\bar{x})^2\)+…+\((x_n-\bar{x})^2\)
    ですね。

    この各項の\((x_i-\bar{x})^2\)を
    \((x_i-\bar{x})^2\)=\((x_i-\bar{x})\)×\((x_i-\bar{x})\)として、行列の積に当てはめていきます。下図をご覧ください。

    テコ比

    上図は\(i\)=1,2についてですが、これを\(i\)=1,2,…,\(n\)まで拡大しても行列の積の式は同じように書けます。

    \(\begin{pmatrix}
    x_1-\bar{x} & x_2-\bar{x} & … & x_n-\bar{x} \end{pmatrix}\)\(\begin{pmatrix}
    x_1-\bar{x}\\
    x_2-\bar{x}\\
    …\\
    x_n-\bar{x}
    \end{pmatrix}
    \)
    を計算すると
    =\((x_1-\bar{x})^2\)+\((x_2-\bar{x})^2\)+…+\((x_i-\bar{x})^2\)+…+\((x_n-\bar{x})^2\)
    =S(平方和)になりますね。

    つまり、
    S=\(\sum_{i=1}^{n}(x_i-\bar{x})^2\)=\(X^T X\)
    がよくわかりますね。

    次に、同様に考えると平方和\(S_{jk}\)は
    \(S_{jk}\)=\(\sum_{i=1}^{n}(x_{ji}-\bar{x_j})(x_{ki}-\bar{x_k})\)より、行列表記すると

    \(\begin{pmatrix}
    x_{j1}-\bar{x_j} & x_{j2}-\bar{x_j} & … & x_{jn}-\bar{x_j} \end{pmatrix}\)\(\begin{pmatrix}
    x_{k1}-\bar{x_k}\\
    x_{k2}-\bar{x_k}\\
    …\\
    x_{kn}-\bar{x_k}
    \end{pmatrix}
    \)
    となるがわかりますね。

    つまり、
    \(S_{jk}\)=\(X_j^T X_k\)
    と書けることもわかりますね。

    \(j,k\)をすべての場合についての平方和を行列表記する

    \(j,k\)は共に1~\(p\)までありますから、すべての\(j,k\)における平方和を行列表記すると下図のようになります。

    平方和Sを行列表記して解ける事

    \(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & \ldots & S_{1k} & \ldots& S_{1p} \\
    S_{21} & S_{22} & \ldots & S_{2k} & \ldots & S_{2p} \\
    \vdots & \vdots & \vdots & \vdots & \ddots & \vdots \\
    S_{j1} & S_{j2} & \ldots & S_{jk} & \ldots & S_{jp} \\
    \vdots & \vdots & \vdots &\vdots & \ddots & \vdots \\
    S_{p1} & S_{p2} & \ldots & S_{pk} & \ldots & S_{pp}
    \end{array}
    \right)
    \)

    =\(\left(
    \begin{array}{cccc}
    x_{11}-\bar{x_1} & x_{12}-\bar{x_1} & \ldots & x_{1i}-\bar{x_1} & \ldots& x_{1n}-\bar{x_1} \\
    x_{21}-\bar{x_2} & x_{22}-\bar{x_2} & \ldots & x_{2i}-\bar{x_2} & \ldots& x_{2n}-\bar{x_2} \\
    \vdots & \vdots & \vdots & \vdots & \ddots & \vdots \\
    x_{j1}-\bar{x_j} & x_{j2}-\bar{x_j} & \ldots & x_{ji}-\bar{x_j} & \ldots& x_{jn}-\bar{x_j} \\
    \vdots & \vdots & \vdots &\vdots & \ddots & \vdots \\
    x_{p1}-\bar{x_p} & x_{p2}-\bar{x_p} & \ldots & x_{pi}-\bar{x_p} & \ldots& x_{pn}-\bar{x_p} \\
    \end{array}
    \right)
    \)

    \(\left(
    \begin{array}{cccc}
    x_{11}-\bar{x_1} & x_{21}-\bar{x_2} & \ldots & x_{ki}-\bar{x_k} & \ldots& x_{p1}-\bar{x_p} \\
    x_{12}-\bar{x_1} & x_{22}-\bar{x_2} & \ldots & x_{ki}-\bar{x_k} & \ldots& x_{p2}-\bar{x_p} \\
    \vdots & \vdots & \vdots & \vdots & \ddots & \vdots \\
    x_{1i}-\bar{x_1} & x_{2i}-\bar{x_2} & \ldots & x_{ki}-\bar{x_k} & \ldots& x_{pk}-\bar{x_p} \\
    \vdots & \vdots & \vdots &\vdots & \ddots & \vdots \\
    x_{1n}-\bar{x_1} & x_{2n}-\bar{x_2} & \ldots & x_{kn}-\bar{x_k} & \ldots& x_{pn}-\bar{x_p} \\
    \end{array}
    \right)
    \)

    ここで注意なのは、

    (左辺)はp×pの行列で
    (右辺)はn×p行列と、p×n行列の積であること
    (右辺)は2つとも正方行列ではない点に注意!

    図で描くと下のイメージです。

    テコ比

    確かに行列を式で表記すると
    S=\(X^T X\)
    と書くのでSもXも同じp×p行列と思いがちです。
    行列はシンプルに式が書けるけど、中身をちゃんと追わないと
    間違えやすいので難しいですね。

    【結論】平方和\(S_{jk}\)を行列表記

    \(S\)=\(X^T X\)
    となります。

    平方和\(S_{jy}\)の導出式を行列表記する

    平方和\(S_{jk}\)の行列表記を丁寧に解説しました。同様に、平方和\(S_{jy}\)の導出式を行列表記します。

    平方和\(S_{xx}\)を書き出すと
    \(S_{xx}\)=\((x_1-\bar{x})^2\)+\((x_2-\bar{x})^2\)+…+\((x_i-\bar{x})^2\)+…+\((x_n-\bar{x})^2\)
    ですね。

    平方和Sを書き出すと
    S=\((x_1-\bar{x})^2\)+\((x_2-\bar{x})^2\)+…+\((x_i-\bar{x})^2\)+…+\((x_n-\bar{x})^2\)
    =\(\begin{pmatrix}
    x_1-\bar{x} & x_2-\bar{x} & … & x_n-\bar{x} \end{pmatrix}\)\(\begin{pmatrix}
    x_1-\bar{x}\\
    x_2-\bar{x}\\
    …\\
    x_n-\bar{x}
    \end{pmatrix}
    \)
    でしたね。

    ここで、\((x_i-\bar{x})^2\)を\((x_i-\bar{x})(y_i-\bar{y})\)に変えても同様に行列表記できます。

    \(S_{1y}\)=\((x_{j1}-\bar{x_j})(y_1-\bar{y})\)+\((x_{j2}-\bar{x_j})(y_2-\bar{y})\)+…+\((x_{jn}-\bar{x_j})(y_n-\bar{y})\)
    =\(\begin{pmatrix}
    x_{j1}-\bar{x_j} & x_{j2}-\bar{x_j} & … & x_{jn}-\bar{x_j} \end{pmatrix}\)\(\begin{pmatrix}
    y_1-\bar{y}\\
    y_2-\bar{y}\\
    …\\
    y_n-\bar{y}
    \end{pmatrix}
    \)
    とかけるので、
    \(S_{1y}\)=\(X^T Y\)と
    行列表記できますね。

    また、\(S_{1y}\),\(S_{2y}\),…,\(S_{py}\)も同様にして、まとめて行列表記できます。

    \(\left(
    \begin{array}{cccc}
    x_{11}-\bar{x_1} & x_{12}-\bar{x_1} & \ldots & x_{1n}-\bar{x_1}\\
    x_{21}-\bar{x_2} & x_{22}-\bar{x_2} & \ldots & x_{2n}-\bar{x_2}\\
    \vdots & \vdots & \ddots & \vdots \\
    x_{p1}-\bar{x_p} & x_{p2}-\bar{x_p} & \ldots & x_{pn}-\bar{x_p}\\
    \end{array}
    \right)
    \)\(\begin{pmatrix}
    y_{1}-\bar{y}\\
    y_{2}-\bar{y}\\
    …\\
    y_{n}-\bar{y}
    \end{pmatrix}
    \)=\(\begin{pmatrix}
    S_{1y}\\
    S_{2y}\\
    …\\
    S_{py}
    \end{pmatrix}
    \)

    ここで注意なのは、

    (左辺)はn×pの行列とnのベクトルの積で
    (右辺)はpのベクトルであること
    n,p混同しないよう注意!

    図で描くと下のイメージです。

    テコ比

    【結論】平方和\(S_{jy}\)を行列表記

    \(S_{xy}\)=\(X^T Y\)
    となります。

    \(β_k\)の導出式を行列表記する

    さて、回帰直線の傾きを導出する式を再掲します。

    \(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} & \ldots & S_{1p} \\
    S_{21} & S_{22} & \ldots & S_{2p} \\
    \vdots & \vdots & \ddots & \vdots \\
    S_{p1} & S_{p2} & \ldots & S_{pp}
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    β_1 \\
    β_2 \\
    \vdots \\
    β_p
    \end{array}
    \right)
    \)=\(
    \left(
    \begin{array}{c}
    S_{1y} \\
    S_{2y} \\
    \vdots \\
    S_{py}
    \end{array}
    \right)
    \)

    この式を行列表記すると下図のように

    テコ比

    \(X^T X\)\(β\)=\(X^T Y\)
    とシンプルに書けますね。

    また、(左辺)は\(β\)のみにしたいので、\(X^T X\)の逆行列を両辺にかけます。すると、

    \(β\)=\((X^T X)^{-1}\)\(X^T Y\)
    とシンプルに書けますね。
    \(β\)について行列表記できました!
    ハット行列までもう少しです!

    ➂ハット行列\(H\)を導出する

    回帰\(\hat{Y}\)の導出式を行列表記する

    回帰直線を行列表記すると
    \(\hat{Y}=Xβ\)
    とXが前に、βが後ろに来ます。これをちゃんと理解しましょう!

    回帰直線はn個のデータにおいて、次のn個の式が書けますね。
    ●\(\hat{y_1}-\bar{y}\)=\(β_1 (x_{11}-\bar{x_1})\)+\(β_2 (x_{21}-\bar{x_2})\)+…+\(β_p (x_{p1}-\bar{x_p})\)
    ●\(\hat{y_2}-\bar{y}\)=\(β_1 (x_{12}-\bar{x_1})\)+\(β_2 (x_{22}-\bar{x_2})\)+…+\(β_p (x_{p2}-\bar{x_p})\)

    ●\(\hat{y_n}-\bar{y}\)=\(β_1 (x_{1n}-\bar{x_1})\)+\(β_2 (x_{2n}-\bar{x_2})\)+…+\(β_p (x_{pn}-\bar{x_p})\)
    ですね。これを行列表記すると、下の式になります。じっくり確認してください。

    \(\begin{pmatrix}
    \hat{y_{1}}-\bar{y}\\
    \hat{y_{2}}-\bar{y}\\
    …\\
    \hat{y_{n}}-\bar{y}
    \end{pmatrix}
    \)=\(\left(
    \begin{array}{cccc}
    x_{11}-\bar{x_1} & x_{21}-\bar{x_2} & \ldots & x_{p1}-\bar{x_p}\\
    x_{12}-\bar{x_1} & x_{22}-\bar{x_2} & \ldots & x_{p2}-\bar{x_p}\\
    \vdots & \vdots & \ddots & \vdots \\
    x_{1n}-\bar{x_1} & x_{2n}-\bar{x_2} & \ldots & x_{pn}-\bar{x_p}\\
    \end{array}
    \right)
    \)\(\begin{pmatrix}
    β_1\\
    β_2\\
    …\\
    β_p
    \end{pmatrix}
    \)

    確かに\(\hat{Y}=Xβ\)ですよね。
    逆の\(βX\)の行列計算はできません。

    ハット行列\(H\)を導出する

    さあ、ようやくまとめに入ります。

    回帰直線は\(\hat{Y}\)=\(Xβ\)
    で\(β\)=\((X^T X)^{-1}\)\(X^T Y\)を代入すると
    \(\hat{Y}\)=\(X\)\((X^T X)^{-1}\)\(X^T\)\( Y\)
    となります。

    \(\hat{Y}\)=\(X\)\((X^T X)^{-1}\)\(X^T\)\( Y\)
    の関係式から\(\hat{Y}\)と\( Y\)の比をテコ比と考えて
    ハット行列\(H\)=\(X\)\((X^T X)^{-1}\)\(X^T\)
    が導出できます。

    ちゃんと導出できました!

    ➃ハット行列とテコ比を導出する

    ハット行列の性質

    ハット行列は、

    \(\hat{Y}\)=\(X\)\((X^T X)^{-1}\)\(X^T\)\( Y\)
    の関係式から\(\hat{Y}\)と\( Y\)の比をテコ比と考えて
    ハット行列\(H\)=\(X\)\((X^T X)^{-1}\)\(X^T\)

    でしたね。

    実は、ハット行列\(H\)は面白い性質があります。

    \(H^2\)=\(H\)
    です。つまり、
    \(H^3\)=\(H×H^2\)=\(H^2\)=\(H\)

    \(H^n\)=…=\(H\)
    と何乗しても同じ行列です。不思議!

    証明

    証明しましょう。
    \(H^2\)=[\(X\)\((X^T X)^{-1}\)\(X^T\)][\(X\)\((X^T X)^{-1}\)\(X^T\)]
    =\(X\)\((X^T X)^{-1}\)(\(X^T\)\(X\))\((X^T X)^{-1}\)\(X^T\)
    (黄色マーカー部は単位行列\(E\)になるので、)
    =\(X\)\((X^T X)^{-1}\)\(X^T\)
    =\(H\)
    となりますね。

    ハット行列はn×n行列(n:データ数)

    ハット行列は式で書くと、\(X\)\((X^T X)^{-1}\)\(X^T\)ですが、
    X、Hの行数、列数がいくらになるかはちゃんと確認しておきましょう。

    例として\(X\)行列がn行×p列とします。
    (nはデータ数、pは説明変数の数で、基本は n > pです。)
    下図で行列の積に注意して、\(X\)\((X^T X)^{-1}\)\(X^T\)が
    n×n行列になる流れを理解しましょう!

    図ではp=3,n=6で説明しました。

    となると、ハット行列\(H\)は次のように表現できます。

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

    もともと\(\hat{Y}\)=\(HY\)の関係でしたから、行列表記すると

    \(
    \left(
    \begin{array}{c}
    \hat{y_1} \\
    \hat{y_2} \\
    \vdots \\
    \hat{y_n}
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    h_{11} & h_{12} & \ldots & h_{1n} \\
    h_{21} & h_{22} & \ldots & h_{2n} \\
    \vdots & \vdots & \ddots & \vdots \\
    h_{n1} & h_{n2} & \ldots & h_{nn}
    \end{array}
    \right)
    \)\(
    \left(
    \begin{array}{c}
    y_1 \\
    y_2 \\
    \vdots \\
    y_n
    \end{array}
    \right)
    \)

    となりますね。

    テコ比を導出

    次に、テコ比を導出します。

    上の行列の式から\(\hat{y_i}\)成分だけ取り出すと、次の関係式ができます。
    \(\hat{y_i}\)=\(h_{i1} y_1\)+\(h_{i2} y_2\)+…+\(h_{ij} y_j\)+\(h_{in} y_n\)

    この式からテコ比\(h_{ii}\)を定義します。

    ●テコ比\(h_{ii}\)
    \(h_{ii}\)=\(\displaystyle \frac{\partial \hat{y_i}}{\partial y_i}\)

    ここまで、ハット行列とテコ比の導出を解説してきました。
    次に具体的な値で実際計算してみましょう。

    行列計算で行数、列数に意識して読んでください。結構大事!

    ➄ハット行列とテコ比を実際に計算する

    データを用意

    data x1 x2 y
    1 8 3 3
    2 11 2 4
    3 9 4 4
    4 12 4 7
    5 11 5 7
    6 9 6 5
    合計 60 24 30
    平均 10 4 5

    【問題】
    ハット行列\(H\)とテコ比\(h_{ii}\)を求めよ。

    ではやってみましょう。

    各行列を計算

    まず、行列\(X\)を定義します。説明変数p=2、データ数n=6の行列ですね。正方行列ではない点に注意です。

    最も大事な注意点

    行列に代入する\(x, \hat{y},y\)はそのまま代入ではなく
    ●\(x_{ij}-\bar{x_i}\)
    ●\(\hat{y_i}-\bar{y}\)
    ●\(y_i-\bar{y}\)
    とそれぞれ平均で差分した値を代入すること。

    行列\(X\)

    \(x_{ij}-\bar{x_i}\)は下表を参考に行列を作ります。

    data x1 x2 \(x_1-\bar{x_1}\) \(x_2-\bar{x_2}\)
    1 8 3 -2 -1
    2 11 2 1 -2
    3 9 4 -1 0
    4 12 4 2 0
    5 11 5 1 1
    6 9 6 -1 2
    合計 60 24
    平均 10 4

    黄色マーカ部分から行列\(X\)を作ります。

    \(X\)=\(\left(
    \begin{array}{cccc}
    -2 & -1 \\
    1 & -2 \\
    -1 & 0 \\
    2 & 0 \\
    1 & 1 \\
    -1 & 2 \\
    \end{array}
    \right)
    \)

    行列\(X^T X\)の計算

    転置行列\(X^T\)との\(X\)の積なので、\(X^T X\)=\(\left(
    \begin{array}{cccc}
    -2 & 1 & -1 & 2 & 1 & -1 \\
    -1 & -2 & 0 & 0 & 1 & 2 \\
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    -2 & -1 \\
    1 & -2 \\
    -1 & 0 \\
    2 & 0 \\
    1 & 1 \\
    -1 & 2 \\
    \end{array}
    \right)
    \)
    =\(\left(
    \begin{array}{cccc}
    12 & -1 \\
    -1 & 10 \\
    \end{array}
    \right)
    \)

    確かに計算結果は
    \(X^T X\)=\(\left(
    \begin{array}{cccc}
    12 & -1 \\
    -1 & 10 \\
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    S_{11} & S_{12} \\
    S_{12} & S_{22} \\
    \end{array}
    \right)
    \)
    で\(X\)の積は確かに平方和になっていますね。

    逆行列\((X^T X)^{-1}\)の計算

    逆行列を計算します。2×2の行列なので簡単ですね。規模が大きくなる場合はExcelのMINVERSE関数で計算しましょう。

    \((X^T X)^{-1}\)=\(\left(
    \begin{array}{cccc}
    0.084 & 0.0084 \\
    0.0084 & 0.1008 \\
    \end{array}
    \right)
    \)

    \(X(X^T X)^{-1}\)の計算

    どんどん計算しましょう。

    \(X(X^T X)^{-1}\)
    =\(\left(
    \begin{array}{cccc}
    -2 & -1 \\
    1 & -2 \\
    -1 & 0 \\
    2 & 0 \\
    1 & 1 \\
    -1 & 2 \\
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    0.084 & 0.0084 \\
    0.0084 & 0.1008 \\
    \end{array}
    \right)
    \)
    =\(\left(
    \begin{array}{cccc}
    -0.176 & -0.118 \\
    0.067 & -0.193 \\
    -0.084 & -0.008 \\
    0.168 & 0.017 \\
    0.092 & 0.109 \\
    -0.067 & 0.193 \\
    \end{array}
    \right)
    \)

    確かに 6×2行列になっていますね。

    ハット行列\(H\)の計算

    \(H\)=\(X(X^T X)^{-1} X^T\)
    =\(\left(
    \begin{array}{cccc}
    -0.176 & -0.118 \\
    0.067 & -0.193 \\
    -0.084 & -0.008 \\
    0.168 & 0.017 \\
    0.092 & 0.109 \\
    -0.067 & 0.193 \\
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    -2 & 1 & -1 & 2 & 1 & -1 \\
    -1 & -2 & 0 & 0 & 1 & 2 \\
    \end{array}
    \right)
    \)
    =\(\left(
    \begin{array}{cccc}
    0.471 & 0.059 & 0.176 & -0.353 & -0.294 & -0.059 \\
    0.059 & 0.454 & -0.067 & 0.134 & -0.126 & -0.454 \\
    0.176 & -0.067 & 0.084 & -0.168 & -0.092 & 0.067 \\
    -0.353 & 0.134 & -0.168 & 0.336 & 0.185 & -0.134 \\
    -0.294 & -0.126 & -0.092 & 0.185 & 0.202 & 0.126 \\
    -0.059 & -0.454 & 0.067 &-0.134 & 0.126 & 0.454 \\
    \end{array}
    \right)
    \)

    とデータ数n=6の6×6行列がでました。

    テコ比を計算

    テコ比は

    ●テコ比\(h_{ii}\)
    \(h_{ii}\)=\(\displaystyle \frac{\partial \hat{y_i}}{\partial y_i}\)

    より、
    ●\(h_{11}\)=0.471
    ●\(h_{22}\)=0.454
    ●\(h_{33}\)=0.084
    ●\(h_{44}\)=0.336
    ●\(h_{55}\)=0.202
    ●\(h_{66}\)=0.454

    と計算ができました。

    重回帰分析の結果を比較

    先ほどのデータを重回帰分析すると下表の結果になります。実際手を動かして計算してみてください。

    \(x_{1i}\) \(x_{2i}\) \(y_i\) \(\hat{y_i}\) \(y_i-\bar{y}\) \(\hat{y_i}-\bar{y}\)
    1 8 3 3 2.529 -2 -2.471
    2 11 2 4 4.513 -1 -0.487
    3 9 4 4 4.109 -1 -0.891
    4 12 4 7 6.782 2 1.782
    5 11 5 7 6.58 2 1.580
    6 9 6 5 5.487 0 0.487
    合計 60 24 30
    平均 10 4 5(=\(\bar{y}\))

    平方和 回帰直線
    \(S_{11}\) 12 y切片\(β_0\) -6.664
    \(S_{12}\) -1(=\(S_{21}\)) 傾き\(β_1\) 0.891
    \(S_{22}\) 10 傾き\(β_2\) 0.689
    \(S_{1y}\) 10
    \(S_{2y}\) 6
    \(S_{yy}\) 14

    なお、回帰直線上の点\(\hat{y_i}\)は
    \(\hat{y_i}\)=\(β_0\)+\(β_1 x_1\)+\(β_2 x_2\)
    \(\hat{y_i}\)=-6.664+0.891\( x_1\)+0.689\(x_2\)
    で計算できます。

    ここで、

    \(\hat{Y}\)=\(\left(
    \begin{array}{cccc}
    \hat{y_1}-\bar{y} \\
    \hat{y_2}-\bar{y} \\
    \hat{y_3}-\bar{y} \\
    \hat{y_4}-\bar{y} \\
    \hat{y_5}-\bar{y} \\
    \hat{y_6}-\bar{y} \\
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    -2.471 \\
    -0.487 \\
    -0.891 \\
    1.782 \\
    1.580 \\
    0.487 \\
    \end{array}
    \right)
    \)

    \(Y\)=\(\left(
    \begin{array}{cccc}
    y_1-\bar{y} \\
    y_2-\bar{y} \\
    y_3-\bar{y} \\
    y_4-\bar{y} \\
    y_5-\bar{y} \\
    y_6-\bar{y} \\
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    -2\\
    -1 \\
    -1 \\
    2 \\
    2 \\
    0 \\
    \end{array}
    \right)
    \)

    \(H\)=\(\left(
    \begin{array}{cccc}
    0.471 & 0.059 & 0.176 & -0.353 & -0.294 & -0.059 \\
    0.059 & 0.454 & -0.067 & 0.134 & -0.126 & -0.454 \\
    0.176 & -0.067 & 0.084 & -0.168 & -0.092 & 0.067 \\
    -0.353 & 0.134 & -0.168 & 0.336 & 0.185 & -0.134 \\
    -0.294 & -0.126 & -0.092 & 0.185 & 0.202 & 0.126 \\
    -0.059 & -0.454 & 0.067 &-0.134 & 0.126 & 0.454 \\
    \end{array}
    \right)
    \)

    を使って、実際に行列\(\hat{y}=HY\)かを確かめましょう。

    \(HY\)=\(\left(
    \begin{array}{cccc}
    0.471 & 0.059 & 0.176 & -0.353 & -0.294 & -0.059 \\
    0.059 & 0.454 & -0.067 & 0.134 & -0.126 & -0.454 \\
    0.176 & -0.067 & 0.084 & -0.168 & -0.092 & 0.067 \\
    -0.353 & 0.134 & -0.168 & 0.336 & 0.185 & -0.134 \\
    -0.294 & -0.126 & -0.092 & 0.185 & 0.202 & 0.126 \\
    -0.059 & -0.454 & 0.067 &-0.134 & 0.126 & 0.454 \\
    \end{array}
    \right)
    \)\(\left(
    \begin{array}{cccc}
    -2\\
    -1 \\
    -1 \\
    2 \\
    2 \\
    0 \\
    \end{array}
    \right)
    \)=\(\left(
    \begin{array}{cccc}
    -2.471 \\
    -0.487 \\
    -0.891 \\
    1.782 \\
    1.580 \\
    0.487 \\
    \end{array}
    \right)
    \)=\(\hat{Y}\)
    と確かに一致します!

    重回帰分析の結果とハット行列の計算が一致しました!

    ⑥テコ比がわかる

    テコ比の性質

    テコ比は

    ●テコ比\(h_{ii}\)
    \(h_{ii}\)=\(\displaystyle \frac{\partial \hat{y_i}}{\partial y_i}\)

    より、
    ●\(h_{11}\)=0.471
    ●\(h_{22}\)=0.454
    ●\(h_{33}\)=0.084
    ●\(h_{44}\)=0.336
    ●\(h_{55}\)=0.202
    ●\(h_{66}\)=0.454

    と計算ができましたが、全部足すと
    \(h_{11}\)+\(h_{22}\)+\(h_{33}\)+\(h_{44}\)+\(h_{55}\)+\(h_{66}\)
    =2
    と説明変数の数p=2に一致します。

    なぜ\(\sum_{i=1}^{n}h_{ii}=p\)なのかは、
    今後の研究テーマとします。わかり次第報告します。

    まとめ

    「重回帰分析のテコ比がよくわかる」を解説しました。

    • ①重回帰分析を解く
    • ➁\(β_k\)の導出式を行列表記する
    • ➂ハット行列\(H\)を導出する
    • ➃ハット行列とテコ比を導出する
    • ➄ハット行列とテコ比を実際に計算する
    • ⑥テコ比がわかる
  • 重回帰分析のダミー変数の使い方がよくわかる

    重回帰分析のダミー変数の使い方がよくわかる

    「ダミー変数の入れ方・値によって重回帰分析の結果にどう影響が出るか心配!」と困っていませんか?

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

    本記事のテーマ

    重回帰分析のダミー変数の使い方がよくわかる

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

    • ①ダミー変数とは
    • ➁説明変数を変換すると重回帰分析がどう変化するかを理解する
    • ➂ダミー変数の入れ方と重回帰分析の変化を理解する
    [themoneytizer id=”105233-2″]

    【QC検定®1級合格】回帰分析問題集を販売します!

    QC検定®1級合格したい方、回帰分析をしっかり学びたい方におススメです。
    【QC検定®合格】「回帰分析(単回帰分析・重回帰分析)」問題集を販売します! 内容は、①単回帰分析の基本、➁特殊な単回帰分析、➂単回帰分析の応用、➃重回帰分析の基礎、⑤重回帰分析の応用、の5章全41題を演習できる問題集です。

    ダミー変数の値が変わると
    ●ダミー変数の回帰直線の傾きの値は変化し、
    ●回帰直線y切片の値も変化するが、
    ●他の説明変数の回帰直線の傾きの値は変化しないし、
    ●平方和(総平方和、回帰平方和、残差平方和)は変化しない
    ことを本記事で解説します!
    ダミー変数の値の入れ方は
    ルールが確定していたら、値は何でもいいけど
    回帰直線、平方和、分散分析にどう影響するかを
    理解しよう!

    では、解説します。

    ①ダミー変数とは

    ダミー変数とは

    重回帰分析では、0か1のどちらかの値を取る変数などの「計数値」を変数として使う場合があります。この計数値のことをダミー変数と呼びます。

    ダミー変数の入れ方は3パターンある

    ダミー変数の入れ方はいろいろなニーズがあります。例えば、
    ●0と1とか
    ●0と2とか
    ●1と2とか
    ●5と10とか
    ●-1と1とか
    の2値データとか、
    たくさんパターンが出ますよね!

    ●0,1,2,3,…と1ずつ増やしていく多値データとか

    いろいろあります。

    2値データの応用が多値データなので、2値データで考えましょう。

    再掲すると
    ●0と1とか
    ●0と2とか
    ●1と2とか
    ●5と10とか
    ●-1と1とか
    の2値データとか、
    は数式で書くと、3つのパターンに分ける事ができます。

    1. 0,1が基本パターンで定数倍したもの(x⇒ax)
    2. 0,1が基本パターンで定数値を加減したもの(x⇒x+a)
    3. 0,1が基本パターンで定数倍と定数値の加減を組み合わせたもの(x⇒ax+b)

    3つに分けてもイマイチ理解できませんよね!
    なので、実際に解いてみると下表になります。

    パターン 0,1との比較 数式
    0,2のパターン 0,1に対して2倍 2x
    1,2のパターン 0,1に対して1加算 x+1
    5,10のパターン 0,1に対して5倍して5加算 5(x+1)
    -1,1のパターン 0,1に対して2倍して1引く 2x-1

    いろいろな2値データのパターンがありますが、数式で書くと3つしかないことがわかりますよね。

    1. x
    2. ax (a:定数)
    3. ax+b(a,b:定数)
    重回帰分析のダミー変数の使い方がわかるには、
    ●0,1のパターン
    ●0,1に定数倍したパタン
    ●0,1に定数倍と定数値を加減したパターン
    の3つの違いを理解すればOK
    ですね。

    ➁説明変数を変換すると重回帰分析がどう変化するかを理解する

    結論は、

    (その1)は \(x_1’\)=\(ax_1\)の場合
    ●\(x_1’\)の回帰直線の傾き\(β_1’\)が\(\frac{1}{a}β_1\)に変化する。
    ●\(x_2\)の回帰直線の傾きは変わらない。
    ●総平方和\(S_T\)、回帰平方和\(S_R\)、残差平方和\(S_e\)は変わらない。

    となります。

    詳細は、関連記事で解説しています。ご確認ください。

    重回帰分析は単位に影響されない理由がわかる
    重回帰分析で説明変数の単位を変更すると何が変化するか、しないかは説明できますか? 本記事では、数式で丁寧に導出して説明変数の単位の変化による重回帰分析の影響を解説します。多変量解析を学ぶ人は必読です。

    (その2)は \(x_1’\)=\(ax_1+b\)の場合
    ●\(x_1’\)の回帰直線の傾き\(β_1’\)が\(\frac{1}{a}β_1\)に変化する。
    ●\(x_2\)の回帰直線の傾きは変わらない。
    ●\(x_1’\)の回帰直線のy切片\(β_0’\)が\(β_0-\frac{b}{a}β_0\)に変化する。
    ●総平方和、回帰平方和、残差平方和は変わらない。

    となっていますね。

    詳細は、関連記事で解説しています。ご確認ください。

    重回帰分析は単位に影響されない理由がわかる(その2)
    重回帰分析で説明変数の単位を変更すると何が変化するか、しないかは説明できますか?本記事では、数式で丁寧に導出して説明変数の単位の変化による重回帰分析の影響を解説します。(その1)はx’=axの場合、今回(その2)はx’=ax+bの場合について解説します。ダミー変数導入に必要な記事なので、多変量解析を学ぶ人は必読です。

    まとめると、

    (その2)は \(x_1’\)=\(ax_1+b\)の場合
    ●\(x_1’\)の回帰直線の傾き\(β_1’\)が\(\frac{1}{a}β_1\)に変化する。
    ●\(x_2\)の回帰直線の傾きは変わらない。
    ●\(x_1’\)の回帰直線のy切片\(β_0’\)が\(β_0-\frac{b}{a}β_0\)に変化する。
    ●総平方和、回帰平方和、残差平方和は変わらない。

    となっていますね。

    ダミー変数の入れ方によって回帰直線のダミー変数が関わる所は変化するが、それ以外は変わらないと理解しておきましょう。

    説明変数を変換すると、
    回帰直線の傾き、y切片が変化する理由や
    平方和は不変である理由を関連記事で解説しています。
    数式を使った証明は関連記事で確認ください。
    本記事は具体的な解説例で確認していきます。

    本当かどうか、実例を挙げて確認します。

    ➂ダミー変数の入れ方と重回帰分析の変化を理解する

    データを用意

    以下のデータを用意します。

    x1 x2 y
    ?? 3 3
    ?? 2 4
    ?? 4 4
    ?? 4 7
    ?? 5 7
    ?? 6 5

    \(x_1\)の「??」にダミー変数をいれて、2つの説明変数からなる重回帰分析をやってみましょう。

    ダミー変数を代入

    次の3種類のダミー変数を用意します。

    (i-1)x (i-2)5x (i-3)2x-1
    0 0 -1
    0 0 -1
    0 0 -1
    1 5 1
    1 5 1
    1 5 1

    データ表をまとめます。

    (i-1)x (i-2)5x (i-3)2x-1 x2 y
    0 0 -1 3 3
    0 0 -1 2 4
    0 0 -1 4 4
    1 5 1 4 7
    1 5 1 5 7
    1 5 1 6 5

    では、解析しましょう。

    重回帰分析の実施結果

    回帰直線\(y=β_0+β_1 x_1+β_2 x_2\)と平方和の解析結果を比較しましょう。
    黄色マーカが変化したところです。

    (i-1)x (i-2)5x (i-3)2x-1
    回帰直線 (y切片)\(β_0\) 5.167 5.167 7
    回帰直線 (x1傾き)\(β_1\) 3.677 0.733 1.833
    回帰直線 (x2傾き)\(β_2\) -0.5 -0.5 -0.5
    平方和 \(S_R\) 10.667 10.667 10.667
    平方和 \(S_e\) 3.333 3.333 3.333
    平方和 \(S_T\) 14 14 14

    確かに、

    (その1)は \(x_1’\)=\(ax_1\)の場合
    ●\(x_1’\)の回帰直線の傾き\(β_1’\)が\(\frac{1}{a}β_1\)に変化する。
    ●\(x_2\)の回帰直線の傾きは変わらない。
    ●総平方和\(S_T\)、回帰平方和\(S_R\)、残差平方和\(S_e\)は変わらない。

    となります。
    (その2)は \(x_1’\)=\(ax_1+b\)の場合
    ●\(x_1’\)の回帰直線の傾き\(β_1’\)が\(\frac{1}{a}β_1\)に変化する。
    ●\(x_2\)の回帰直線の傾きは変わらない。
    ●\(x_1’\)の回帰直線のy切片\(β_0’\)が\(β_0-\frac{b}{a}β_0\)に変化する。
    ●総平方和、回帰平方和、残差平方和は変わらない。

    となっていますね。

    となっていますね。

    ダミー変数の値が変わると
    ●ダミー変数の回帰直線の傾きの値は変化し、
    ●回帰直線y切片の値も変化するが、
    ●他の説明変数の回帰直線の傾きの値は変化しないし、
    ●平方和(総平方和、回帰平方和、残差平方和)は変化しない
    ことがわかりましたね!

    理由が気になったら関連記事で確認しましょう。数式で理由をわかりやすく解説しています。

    まとめ

    「重回帰分析のダミー変数の使い方がよくわかる」を解説しました。

    • ①ダミー変数とは
    • ➁説明変数を変換すると重回帰分析がどう変化するかを理解する
    • ➂ダミー変数の入れ方と重回帰分析の変化を理解する

error: Content is protected !!