データ分析の「断捨離」術!次元圧縮(PCA・t-SNE)で本質を見抜く

「データは多ければ多いほど良い」

あなたはそう思っていませんか。確かに、情報は武器になります。でも、あまりに情報が多すぎると、逆に何が大切なのか分からなくなってしまうことってありますよね。

たとえば、スーパーの売上データを分析するとしましょう。「商品名」「価格」「個数」くらいなら簡単ですが、ここに「気温」「天気」「客層」「曜日」「時間帯」「競合店のチラシ有無」……と、考慮すべき要素(=次元)が100個も200個もあったらどうでしょう。

もう、人間にはお手上げですし、AIにとっても計算が大変すぎて、学習がうまく進まない「次元の呪い」という現象が起きてしまいます。

そこで活躍するのが、今回解説する 「次元圧縮」 です。

これは、たくさんのデータの中から「本当に重要な情報」だけを抽出して、データをギュッとコンパクトにする技術です。いわば、データの断捨離ですね。

今回は、E資格でも頻出の「主成分分析(PCA)」や「t-SNE」について、数式なしでイメージできるように解説していきます。

複雑なデータの本質を見抜く力を、一緒に身につけていきましょう!


1. そもそも「次元圧縮」ってなに?

次元圧縮とは、データの持っている情報をなるべく損なわないようにしながら、変数の数(次元)を減らす処理のことです。

イメージとしては、「3次元の立体を、2次元の写真にする」 作業に似ています。

私たちの住む世界は3次元(縦・横・高さ)ですが、スマホで写真を撮ると、それは2次元(縦・横)の画像になりますよね。情報は1次元減りましたが、写真を見れば「あ、これはリンゴだな」と分かります。

このように、不要な情報を削ぎ落とし、本質的な特徴だけを残すのが次元圧縮の目的です。


2. 王道中の王道「主成分分析(PCA)」

次元圧縮の中で、最も基本かつ重要な手法が 主成分分析(Principal Component Analysis: PCA) です。

PCAのゴールは、「データのばらつき(情報)が最も大きく見えるような、新しい軸を見つけること」です。

ベストな「撮影アングル」を探せ!

先ほどの「写真撮影」の例で考えてみましょう。

空中に浮かんだ「ラグビーボール」を撮影して、その形を友人に伝えたいとします。

  • 真上から撮る(A):まん丸に見えて、サッカーボールと区別がつきません。
  • 真横から撮る(B):横長の楕円形に見えて、ラグビーボールらしさがよく伝わります。

この場合、Bのアングルの方が、ラグビーボールの「長さ」という情報を多く含んでいますよね。

PCAは、数学の力を使って、この「一番情報量が減らないベストな撮影アングル(主成分)」を自動で見つけ出す手法なのです。

このとき見つけた最初の軸を「第1主成分」、次に情報量が多い軸を「第2主成分」……と呼びます。


3. その要約、何点?「寄与率」の話

PCAで次元を減らしたとき、私たちは必ず「どれくらい情報を失ってしまったのか」を気にしなければなりません。

そこで登場するのが 「寄与率」 という指標です。

寄与率とは、「その主成分が、元のデータの情報をどれくらい説明できているか」 を表す割合のことです。

たとえば、あるテストの結果を「国語力」という1つの軸で説明しようとしたとします。

もし寄与率が 0.8 (80%)だとしたら、そのテスト結果のばらつきの8割は「国語力」で説明がつく、ということになります。かなり優秀な要約ですよね。

また、第1主成分から第N主成分までの寄与率を足し合わせたものを 「累積寄与率」 と呼びます。

一般的に、この累積寄与率が 0.8 (80%)を超えるあたりまで次元を採用すれば、十分な情報を持っていると判断されることが多いです。

「データをどこまで圧縮していいの?」と迷ったら、この寄与率をチェックしましょう!


4. 複雑に絡み合ったデータをほぐす「t-SNE」と「SNE」

PCAはとても便利ですが、弱点もあります。それは「データが直線的(線形)な関係じゃないと苦手」ということです。

例えば、スイスロール(ロールケーキ)のようにぐるぐると渦巻いたデータ構造の場合、PCAで無理やり潰してしまうと、層と層が重なってしまって、元の構造がめちゃくちゃになってしまいます。

そこで役立つのが、SNE(Stochastic Neighbor Embedding) や、それを改良した t-SNE です。

近くのものは近くに、遠くのものは遠くに

これらは、高次元の空間での「データ同士の距離関係(確率分布)」を、低次元になってもなるべく維持しようとする手法です。

  • SNE:データ間の距離を「確率」として捉えます。「近くにあるデータ同士は、次元を減らしても高い確率で近くにいるはずだ」と考えます。
  • t-SNE:SNEの発展版です。t分布という裾の広い確率分布を使うことで、「近くのデータはより近くに、遠くのデータはより遠くに」 配置しやすくしています。

特にt-SNEは、手書き数字の画像データなど、人間が見ても「似ているな」と思うものを近くに集めて可視化する能力に長けています。

「データの地図」を作るときには、このt-SNEが最強のツールになることが多いですよ。


5. 次元圧縮のメリット・デメリット

ここで一度、整理しておきましょう。

メリット

  1. 計算が速くなる:変数が減るので、AIの学習時間が大幅に短縮されます。
  2. 可視化できる:100次元のデータは描けませんが、2次元や3次元に圧縮すればグラフに描けます。人間がデータを見て理解できるようになるのは大きな利点です。
  3. ノイズ除去:重要でない細かい情報を切り捨てることで、データのノイズを取り除き、AIの精度が向上することがあります。

デメリット

  1. 情報が失われる:どんなに上手な要約でも、元の詳細な情報は一部失われます。
  2. 意味がわからなくなる:PCAで作った新しい軸は、「身長」と「体重」が混ざったような抽象的な値になるため、「この軸は何を意味しているの?」と聞かれても説明しづらくなることがあります。

まとめと次のステップ

今回は、教師なし学習の第一歩である「次元圧縮」について解説しました。

  • 主成分分析(PCA) は、ベストなアングルで影絵を作るような、線形な圧縮手法。
  • 寄与率 は、その圧縮がどれくらい元の情報を保っているかの通信簿。
  • t-SNE は、複雑な形のデータでも関係性を保ったまま地図にできる、可視化のスペシャリスト。

これらを理解していると、膨大なデータ渡されたときでも「まずはPCAで様子を見てみよう」とか「t-SNEで可視化して、データの傾向を掴もう」といった戦略が立てられるようになります。

さて、データをスッキリ圧縮できたら、次はそのデータを使って「グループ分け」をしてみたくなりませんか。

次回は、似たもの同士を自動で集める「クラスタリング」*(k-means法やウォード法など)について、詳しく解説していきます。

まずは今回の内容を振り返りながら、「自分の身の回りのデータなら、何を軸にして圧縮できるかな?」と想像を膨らませてみてくださいね。

混ぜるな危険?データを自動でグループ分けする「クラスタリング」を完全攻略

部屋の片付けをしているとき、散らかった本や服をどのように整理していますか。

漫画は漫画でまとめたり、冬服と夏服を分けたりしますよね。

実は、データ分析の世界でも同じような整理整頓が行われています。

前回の記事では、余計な情報を捨ててスッキリさせる次元圧縮についてお話ししました。

今回は、そのスッキリしたデータを、似たもの同士のグループに自動で分ける技術、クラスタリングについて解説します。

「このデータはどのグループに属するのかな?」

そんな疑問を解決する、教師なし学習のもう一つの主役です。

k-means法や階層的クラスタリングといった専門用語も、イメージさえ掴めば怖くありません。

それでは、データの整理整頓術を一緒に学んでいきましょう!


1. 正解のないグループ分け「クラスタリング」

クラスタリングとは、たくさんのデータの中から、特徴が似ているもの同士を集めて、いくつかのグループ(クラスター)を作る手法のことです。

ここで大切なのは、正解(ラベル)がないということです。

たとえば、犬と猫の写真を見分けるときに、「これは犬」「これは猫」と教えられてから分けるのは分類(教師あり学習)です。

一方、クラスタリングは何も教えられずに、「なんとなく耳が垂れているグループ」と「耳が尖っているグループ」のように、データの特徴だけを見て分けます。

AIが自力で「ここには何か法則がありそうだぞ」と発見してくれる。なんだかワクワクしませんか。

では、代表的な手法を見ていきましょう。


2. リーダーを中心に集合!「k-means法」

クラスタリングの中で最も有名で、実務でもよく使われるのが k-means法(k平均法)です。

名前の通り、平均(重心)を使ってグループ分けを行います。

運動会のチーム分けをイメージしよう

k-means法の動きは、運動会のチーム分けに似ています。

  1. まず、いくつのチームに分けるか( k 個)を人間が決めます。ここでは3チームとしましょう。
  2. グラウンド(データ空間)の適当な場所に、3人の仮リーダーが立ちます。
  3. 生徒(データ)は、自分から一番近いリーダーの元へ走って行き、チームを作ります。
  4. チームができたら、そのチームの全員の真ん中(重心)にリーダーが移動します。
  5. リーダーの位置が変わったので、生徒たちはもう一度、一番近いリーダーを選び直して移動します。
  6. これをリーダーが動かなくなるまで繰り返します。

こうして、最終的にはバランスの良い3つのグループが出来上がります。

メリットとデメリット

k-means法の良いところは、計算がとてもシンプルで速いことです。ビッグデータのような大量のデータを扱うときには、この軽さが大きな武器になります。

一方で、弱点もあります。

一つ目は、最初に決める k (グループ数)をどう設定するかが難しいことです。「3つに分けるのがいいのか、5つがいいのか」は、人間が判断しなければなりません。

二つ目は、最初の仮リーダーの立ち位置によって、最終的な結果が変わってしまう初期値依存性という問題があることです。運が悪いと、変な分け方で終わってしまうこともあるのです。


3. 樹形図を作っていく「階層的クラスタリング」

k-means法のようにいきなりグループを作るのではなく、似ているものから順番にくっつけていくのが階層的クラスタリングです。

イメージとしては、スポーツのトーナメント表や、生物の進化を表す系統樹を思い浮かべてください。

最初はバラバラだったデータが、似ている順にペアになり、さらにそのペア同士がくっついて……と繰り返すことで、最終的には一つの大きな木のような図(デンドログラム)ができあがります。

この方法なら、後から「この高さで枝を切れば、3つのグループになるな」というように、図を見ながらグループ数を決めることができます。

どうやって距離を測るの?

データをくっつけるときに、「どのペアが一番似ている(距離が近い)か」を判断するルールが必要です。

E資格でよく問われる代表的なルールを2つ紹介しましょう。

  • ウォード法これは、「グループ内のまとまり具合」を重視する方法です。2つのグループをくっつけたときに、グループ内のデータのばらつき(分散)がなるべく増えないようなペアを選びます。直感的に納得しやすい、きれいなグループができやすいため、階層的クラスタリングの中では最もよく使われます。
  • 群平均法これは、2つのグループに含まれる「すべてのデータ同士の距離の平均」を使う方法です。ウォード法に比べると計算は少し軽くなりますが、鎖のように長くつながった変なグループができにくいという特徴があります。

メリットとデメリット

階層的クラスタリングの最大のメリットは、デンドログラムという図によって、データの構造が可視化できることです。「どのデータとどのデータが近いのか」がひと目でわかるのは便利ですよね。また、k-means法のように最初にグループ数を決めなくても始められます。

しかし、デメリットとして計算量が非常に多いことが挙げられます。

データが何万件もあると、すべてのペアの距離を計算するのに時間がかかりすぎてしまい、現実的ではありません。

データ量が少ないときにじっくり分析するのに向いている手法と言えます。


まとめと次のステップ

今回は、データをグループ分けするクラスタリングについて解説しました。

  • k-means法 は、大量のデータをサクサク分けたいときに便利な「非階層的」な手法。ただし、グループ数 k の設定が必要。
  • 階層的クラスタリング は、データの関係性をじっくり図で見たいときに使う手法。ウォード法を使えば、まとまりの良いきれいなグループが作れる。

どちらが良い悪いではなく、用途に合わせて使い分けることが大切です。

たとえば、「まずk-means法でざっくり分けて、その中の気になるグループだけを階層的クラスタリングで詳しく見る」といった合わせ技もよく使われますよ。

さて、ここまで教師なし学習の代表選手である次元圧縮とクラスタリングを学んできました。

これらは、正解データがない現場で、データの全体像を掴むために非常に強力なツールとなります。

E資格の勉強を進める上での次のステップは、これらの手法が実際にどのような場面で使われているかを調べてみることです。

顧客のセグメンテーション(グループ分け)や、異常検知など、意外と身近なところで活躍しています。

ぜひ、学んだ知識と現実世界をリンクさせてみてください。