はじめに
こちらの記事では教師なし学習の代表的手法である「主成分分析」について考えていきます。
「主成分分析はどんなことに役立つの?」
「主成分分析はどうやってデータを要約しているの?」
といった疑問に答えていきたいと思います!
教師なし学習とは?(復習)
主成分分析は教師なし学習の手法のひとつです。
教師なし学習についてはDay4で取り上げましたが、
簡単に言うと「目的変数」のないデータについて学習することです。

受験勉強の過去問学習のイメージで言うと以下のようなデータになります。
説明変数 | 2017年度本試験の問題 | 2018年度本試験の問題 | 2019年度本試験の問題 |
---|---|---|---|
目的変数 | なし | なし | なし |
本来、機械学習では「説明変数」と「目的変数」のセットを学習することで未知なるデータに対しても目的変数の値を予測するということを目的としていました。
しかし上記のデータのように教師なし学習の場合はそもそも目的変数を持っていないのでいくら学習しても目的変数を予測するという点においては役に立ちません。
一方で目的変数を持たない説明変数だけのデータでも役に立つことがあります。
それは説明変数同士の関係性を学習することで、説明変数のグルーピングを行える点です。
何種類か存在している説明変数を各々比較して類似する説明変数同士をひとまとめにする、といったことができます。
主成分分析とは
教師なし学習の代表的手法である主成分分析はまさに上記のグルーピングを行うものです。
目的変数を持っていない説明変数のみのデータについて学習し、
たくさんの種類がある説明変数をなるべくその特徴を失わないようにいくつかの種類にまとめてしまいます。
この作業は言い換えると「要約」です。
つまり、主成分分析はたくさんある説明変数を要約する学習手法というわけです。
ではどのようにたくさんある説明変数を要約してあげるのかというと、
各々の説明変数が持つ特徴が最大化されるように要約してあげます。
ここでデータの特徴とはデータのばらつき度合いのことを言います。
データの特徴とはデータのばらつき度合いであるという考え方はデータ分析において通底している考え方です。
例えば全く同じ数値がただ並んでいるデータは何ら特徴がないデータだと言えそうです。
反対に特徴のあるデータというのはちゃんと数値が異なっているデータということになります。
この数値の異なっている度合いをデータのばらつき度合いと言い、
主成分分析ではそのデータのばらつき度合いが最大化されるように説明変数を要約してあげます。

例:3つのスコアの要約
ここまでの話を具体的な数字で考えていきましょう。
以下の表をご覧ください。
こちらは鈴木さん、佐藤さん、斉藤さん、田中さん、高橋さんの小学生5人について、算数と理科と国語の点数を表にしたものです。
5人の平均が0となるようにスコアリングしているのでマイナスの数値もあります。
氏名 | 鈴木 | 佐藤 | 斉藤 | 田中 | 高橋 |
---|---|---|---|---|---|
算数 | 0.7 | -0.7 | 1.3 | -0.2 | -1.1 |
理科 | 1.3 | -0.2 | 0.7 | -1.1 | -0.7 |
国語 | -1.1 | -0.2 | -0.7 | 1.3 | 0.7 |
このデータに対して主成分分析は何をするかというと、
算数、理科、国語の点数をまず1つに要約してしまいます。
どのように要約するかというと上述したようにデータのばらつき度合いが最大化されるように要約を行います。
ここは頭が混乱しがちなのでさらに以下の表を見ながら考えましょう
鈴木 | 佐藤 | 斉藤 | 田中 | 高橋 | 5人のばらつき度合い | |
算数 | 0.7 | -0.7 | 1.3 | -0.2 | -1.1 | 1.0 |
理科 | 1.3 | -0.2 | 0.7 | -1.1 | -0.7 | 1.0 |
国語 | -1.1 | -0.2 | -0.7 | 1.3 | 0.7 | 1.0 |
まず3教科の点数各々についての5人のばらつき度合い(不偏分散を計算した値)を見ると 1 ※となっています。
教科が3種類あるので全体では 1+1+1=3 のばらつき度合いのあるデータだと言えます。
この 3 のばらつき度合いをなるべく失わないように説明変数(算数・理科・国語)を要約するにはどうすればよいでしょうか。
鈴木 | 佐藤 | 斉藤 | 田中 | 高橋 | 5人のばらつき度合い | |
算数 | 0.7 | -0.7 | 1.3 | -0.2 | -1.1 | 1.0 |
理科 | 1.3 | -0.2 | 0.7 | -1.1 | -0.7 | 1.0 |
国語 | -1.1 | -0.2 | -0.7 | 1.3 | 0.7 | 1.0 |
平均 | 0.3 | -0.4 | 0.4 | 0.0 | -0.4 | 0.1 |
合計 | 0.9 | -1.1 | 1.3 | 0.0 | -1.1 | 1.3 |
まず思いつくのは3教科の点数を平均してしまう案です。
これは上表の「平均」に該当します。
しかしばらつき度合いのところを見ると 0.1 とせっかく 3 もあったばらつき度合いがかなり小さくなってしまっていることがわかります。
次に単純に3教科の点数を合計してしまう案も考えてみます。
これは上表の「合計」に該当します。
しかしこれまたばらつき度合いを見ると 1.3 とかなり小さくなっていることがわかります。
3教科の点数をばらつき度合いが失われないように要約したいのですが単なる平均や合計ではばらつき度合いがかなり失われてしまうことがわかりました。
そこで単純に合計するのでなくばらつき度合いが最大限残るように各々の教科の点数に異なる重みをつけて計算※をしてみます。
それが下表の「要約①」に該当します。
鈴木 | 佐藤 | 斉藤 | 田中 | 高橋 | 5人のばらつき度合い | |
算数 | 0.7 | -0.7 | 1.3 | -0.2 | -1.1 | 1.0 |
理科 | 1.3 | -0.2 | 0.7 | -1.1 | -0.7 | 1.0 |
国語 | -1.1 | -0.2 | -0.7 | 1.3 | 0.7 | 1.0 |
平均 | 0.3 | -0.4 | 0.4 | 0.0 | -0.4 | 0.1 |
合計 | 0.9 | -1.1 | 1.3 | 0.0 | -1.1 | 1.3 |
要約① | 1.8 | -0.4 | 1.5 | -1.6 | -1.4 | 2.6 |
要約② | -0.3 | -0.6 | 0.6 | 0.7 | -0.4 | 0.4 |
要約③ | -0.2 | 0.2 | 0.1 | -0.1 | -0.1 | 0.0 |
ばらつき度合いのところを見ると 2.6 と多くのばらつき度合いを残せていることがわかります。
※表中では省略していますが具体的には算数に0.53、理科に0.61、国語に-0.59という重みが導かれます。例えば鈴木さんの要約①は「0.53×0.7+0.61×1.3+(-0.59)×(-1.1)=1.8」となります。
実はこの「要約①」こそが主成分分析における「第1主成分」、
つまりこのデータを最もよく要約したスコアということになります。
とはいえ 1+1+1=3 あったばらつき度合いのうち 2.6 しか残せていないので
3-2.6=0.4 のばらつき度合いがまだどこかに残っているはずです。
この残ったばらつき度合いを最も残せるようにさらに要約②(第2主成分)、要約③(第3主成分)と計算していくことになります。
しかし今回のケースでは要約①(第1主成分)でほとんどのばらつき度合いを残せていることから、要約①だけに注目しておけばよいだろう、といった分析を行っていくことになります。
まとめ
最後に今回の記事のポイントを整理します。
- 説明変数のみで目的変数のないデータを学習する手法を教師なし学習という
- 主成分分析は教師なし学習の手法の1つでデータを要約する手法である
- 主成分分析はデータのばらつき度合いが最大化されるようにデータを要約する
- 具体的には各々の説明変数に(ばらつき度合いが最大となるように)重み付けを行って合計する
- 元々あったばらつき度合いが最も残るように要約されたスコアを第1主成分(上表の要約①)という
今回は以上になります。
最後まで読んでいただきありがとうございました!

統計学の基礎を効率的に学べるベーシック講座です。統計学の入り口となる「確率分布・推定・検定」について豊富な図を用いて説明していきます。
2021年3月リリース後すでに20,000人以上の方に受講いただき大人気ベストセラーコースとなっています!ぜひこの機会に統計学や確率思考という一生モノのスキルを一緒に身につけましょう!
※上記リンクからですと時期によってはクーポンが自動適用されます。
※Udemyは世界最大級のオンライン学習プラットフォームです。以下記事にてUdemyをご紹介しておりますのでよろしければこちらもご覧ください。
