主成分分析と回帰分析の違いがわかる
「主成分分析と回帰分析って何が違いのかわからない」と困っていませんか?
こういう疑問に答えます。
本記事のテーマ
おさえておきたいポイント
- ①主成分分析と回帰分析の違い
- ➁主成分分析
- ➂回帰分析
- ➃主成分方向と回帰直線の違い
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つずつ理解を深めていきましょう。
まとめ
「主成分分析と回帰分析の違いがわかる」を解説しました。
- ①主成分分析と回帰分析の違い
- ➁主成分分析
- ➂回帰分析
- ➃主成分方向と回帰直線の違い
Warning: count(): Parameter must be an array or an object that implements Countable in /home/qcplanets/qcplanets.com/public_html/wp-content/themes/m_theme/sns.php on line 119