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