titc.ai › BLOG
BLOG · AI入門・機械学習
主成分分析(PCA)の動きをアニメーションで理解する
「たくさんの項目を、少ない軸にまとめる」仕組みを、動かして確かめる
公開日 / 著者 富田 良治(TITC合同会社 代表社員)
主成分分析(PCA)は、たくさんの項目を「情報をなるべく失わずに」少ない軸にまとめる手法です。このページでは、店舗の「広告費」「来店客数」「売上」という3つの項目(3次元)を、平面(2次元)に圧縮する様子を見ます。たとえば「10問あるアンケートを『満足度』『価格への敏感さ』の2つの軸に要約する」「店舗ごとの多数の指標を、1つの総合指標にまとめる」といった場面で使われます。下のデモで、その軸が見つかっていく様子を見てみましょう。
動かして確かめる
点の一つひとつが、店舗(またはお客様)だと思ってください。「広告費」「来店客数」「売上」という3つの項目を、前後・左右・上下の3本の軸に取った、3次元のデータです。PCAは、この点の雲を「情報をなるべく失わない平面」に押しつぶし、3つの項目を2つの軸にまとめます。まずは「再生」を押してください。画面をドラッグすると、いつでも見る向きを回せます。
画面をドラッグすると、見る向きを回せます。
「再生」か「1ステップ進む」を押してください。
影の散らばり(分散):-
寄与率(各主成分が説明する散らばりの割合)
第1主成分-
第2主成分-
第3主成分-
平面に残る情報(第1+第2):-
黄色が第1主成分、水色が第2主成分、ピンクが第3主成分。黄色い面が、点を押しつぶす先の平面です。
何が起きているのか:5つの手順
- 中心化:全部の点の平均の位置を求め、それが原点(画面の中心)に来るようにデータ全体をずらします。散らばりの「向き」だけを見るための準備です。
- 第1主成分(いちばん広がっている向き):原点を通る線を1本引き、各点からその線に垂直に「影」を落とします。線の向きを変えると、影の散らばりが大きくなったり小さくなったりします。影がいちばん散らばる向きが第1主成分です。
- 第2主成分:第1主成分に直角な向きの中で、影がいちばん散らばる向きが第2主成分です。この2本の線で、点の雲に最もなじむ平面ができます。
- 第3主成分と寄与率:残る直角な向きが第3主成分です。各主成分が元の散らばり全体の何%を説明するかが寄与率で、第3主成分の寄与率は、平面に押しつぶしたときに失う情報の割合にあたります。
- 次元削減:すべての点を平面へ落とし、真正面から見ると、3つの項目が2次元の散布図にまとまります。第3の寄与率が小さいほど、失う情報は少なくて済みます。
「データの形」を「相関なし(丸いボール)」にしてみてください。どの向きでも影の散らばりがほぼ同じで、寄与率がほぼ3等分になります。こうなると、どの平面を選んでも要約になりません。項目どうしに関係がないデータは、まとめても得るものが少ない、ということです。
使うときの注意点
- 単位の違う項目は、そろえる必要があります。「売上(円)」と「来店回数(回)」をそのまま使うと、数字の大きい売上ばかりが「散らばり」を決めてしまいます。平均0・ばらつき1にそろえる「標準化」を先に行うのが定石です。
- 直線的な関係しか捉えられません。点が曲線や輪の形に並んでいる場合、まっすぐな軸では要約できません。
- 軸の意味は、人が解釈します。PCAが見つけるのは「広がりの大きい向き」だけです。それを「満足度」と呼ぶか「価格感度」と呼ぶかは、元の項目との対応を見て人が決めます。
- 外れ値に弱いです。「外れ値あり」を選んで「データを作り直す」と、端に離れた10個ほどの点に引っ張られて、平面の傾き(主成分の向き)が変わるのを確かめられます。分析の前に、極端な値がないか確認しましょう。
中小企業での使いどころ
顧客満足度アンケートの多数の設問を「満足度」と「価格の感じ方」のような少数の軸にまとめれば、結果を1枚の散布図で説明できます。店舗ごとの売上・客数・客単価・在庫回転などの指標を1つの総合指標に要約すれば、店舗の比較や順位づけにも使えます。見つけた軸に意味のある名前を付けるのは、現場を知る人の仕事です。
富田 良治(とみた よしはる)
TITC合同会社 代表社員
AI経営コンサルタント。中小企業診断士・ITストラテジスト。元ITエンジニアで駄菓子屋オーナー。 プロフィールを見る