クラスター分析~概要とユークリッド距離の二乗

更新日

投稿日

1. クラスター分析は“仲間探し”

  「クラスター」という言葉を聞いたことのある人は多いと思います。この原稿を書いている時点(2020年7月上旬)も、東京都で1日100人以上の新型コロナウィルス感染者が判明し、夜の街関連でクラスターが発生したと報道されています。

 現代ではクラスター(cluster)は「束、房」という意味が一般的ですが、本来は「cluster=集落」という意味で使われるそうです。「群れ・集団」という意味もありますが、これがクラスター分析の「クラスター」に一番近い表現です。つまり“仲間探し”なのです。

 仲間探しですから、その基準の設定次第で色々と変わってきます。例えば象、キリン、ライオン、犬、猫、鉛筆、消しゴムを想定した時、誰でも「象、キリン、ライオン、犬、猫」と「鉛筆、消しゴム」に分けると思います。おそらく、頭の中で「動物と文房具」という集団分類をしているからでしょう。また「象、キリン、ライオン、犬、猫」をさらにクラスター分けすると、どうなるでしょうか?体の大きさでクラスターを考えると「象、キリン、ライオン」「犬、猫」になります。

 このように基準をどこに設定するかで、クラスターは変わってきます。

2. 相関の高さでグループ分け

 そこで、クラスター分析でよく使われる距離を一つの目安にする方法を解説します。ただ、距離といっても「大阪~東京間距離」という意味の距離ではありません。例えばライオンの摂食する餌の肉の成分比が95%、猫が70%、犬が50%、象は1%、キリンは0%とします。細かい計算は省きますが「ライオン、猫、犬」「象、キリン」のように分けることができまます。ここで使った距離は何kmではなく、餌の肉成分の比率です。当然「ライオン、猫、犬」は「ライオン、猫」「犬」にも分かれていきますが、この成分比の近さを「距離」と表現しています。早い話が相関の高さです。相関が高いと、距離が近いという考えです。

 この距離についても、多くの考え方があります。

  1. ユークリッド距離
  2. ユークリッド距離の二乗:座標軸の距離の計算、その二乗※ここではこれを使って解説します
  3. マハラノビスの距離
  4. マンハッタン距離
  5. 標準化距離

 上記あたりが挙げられますが、詳細についてここでは取り上げません。

 そのクラスター間の距離を測定する方法は、以下が一般的です。

  1. 最短距離法:群Aの個体と群Bの個体すべての組み合わせの距離で最短
  2. 最長距離法:上記で最長の距離
  3. メディアン法上記で中央値
  4. 重心法:群Aと群Bのそれぞれ重心の距離
  5. ウォード法:2つのクラスターを一つにまとめた時の情報損失量

3. 体重とスピードで犬種のクラスター作成

 以下は、ユークリッドの距離二乗で、最短距離法でクラスター分類をすることにします。

 犬の話を例に解説します。カタログから犬種の標準的な体重と走るスピード(いずれも単位略)のデータが下記のようになったとした時、犬種の類似度はどういうものなのか?どのようなグループに分かれるかを考えます。

表1.犬種の体重とスピード

図1. 表1のグラフ化(横軸:体重、縦軸:スピード)

 このデータから、どういった類似の犬種グループに分かれるかを見てみましょう。GやIは軽くて、非常に速いので、イタグレのような品種。Jは体重は重めだが、俊敏性に富むようなので、シェパードやシベリアン・ハスキーが該当します。

 次いでいきなりですが、各犬種のユークリッド距離の二乗を表にしたものを示します。

表2.ユークリッド距離の二乗表(1)

 赤字の2、つまりGとIが最も小さいです。そこでまず、GとIは同グループになります。次に、GとIを同じにする(平均でいいです)時の、二乗表を算出します。

表3.ユークリッド距離の二乗表(2)

 今度は、青字の10が最小です。つまり、AとDが同じグループになります。この操作を繰り返していきます。最終的には、A&B&D&F&G&I&J&KとC&E&Hになります。その距離二乗は、847.2です。これらを、グラフ化します。図2参照。

 グラフでは、グループとしてまとめてきたものを、線でつないでいます。点線は4個のグループ分けしたいときの線です。この線が切っているところが一つのグループです。このようなグラフをデンドログラムといいます。またこのような方法を階層的分類法といいます。

図2....

1. クラスター分析は“仲間探し”

  「クラスター」という言葉を聞いたことのある人は多いと思います。この原稿を書いている時点(2020年7月上旬)も、東京都で1日100人以上の新型コロナウィルス感染者が判明し、夜の街関連でクラスターが発生したと報道されています。

 現代ではクラスター(cluster)は「束、房」という意味が一般的ですが、本来は「cluster=集落」という意味で使われるそうです。「群れ・集団」という意味もありますが、これがクラスター分析の「クラスター」に一番近い表現です。つまり“仲間探し”なのです。

 仲間探しですから、その基準の設定次第で色々と変わってきます。例えば象、キリン、ライオン、犬、猫、鉛筆、消しゴムを想定した時、誰でも「象、キリン、ライオン、犬、猫」と「鉛筆、消しゴム」に分けると思います。おそらく、頭の中で「動物と文房具」という集団分類をしているからでしょう。また「象、キリン、ライオン、犬、猫」をさらにクラスター分けすると、どうなるでしょうか?体の大きさでクラスターを考えると「象、キリン、ライオン」「犬、猫」になります。

 このように基準をどこに設定するかで、クラスターは変わってきます。

2. 相関の高さでグループ分け

 そこで、クラスター分析でよく使われる距離を一つの目安にする方法を解説します。ただ、距離といっても「大阪~東京間距離」という意味の距離ではありません。例えばライオンの摂食する餌の肉の成分比が95%、猫が70%、犬が50%、象は1%、キリンは0%とします。細かい計算は省きますが「ライオン、猫、犬」「象、キリン」のように分けることができまます。ここで使った距離は何kmではなく、餌の肉成分の比率です。当然「ライオン、猫、犬」は「ライオン、猫」「犬」にも分かれていきますが、この成分比の近さを「距離」と表現しています。早い話が相関の高さです。相関が高いと、距離が近いという考えです。

 この距離についても、多くの考え方があります。

  1. ユークリッド距離
  2. ユークリッド距離の二乗:座標軸の距離の計算、その二乗※ここではこれを使って解説します
  3. マハラノビスの距離
  4. マンハッタン距離
  5. 標準化距離

 上記あたりが挙げられますが、詳細についてここでは取り上げません。

 そのクラスター間の距離を測定する方法は、以下が一般的です。

  1. 最短距離法:群Aの個体と群Bの個体すべての組み合わせの距離で最短
  2. 最長距離法:上記で最長の距離
  3. メディアン法上記で中央値
  4. 重心法:群Aと群Bのそれぞれ重心の距離
  5. ウォード法:2つのクラスターを一つにまとめた時の情報損失量

3. 体重とスピードで犬種のクラスター作成

 以下は、ユークリッドの距離二乗で、最短距離法でクラスター分類をすることにします。

 犬の話を例に解説します。カタログから犬種の標準的な体重と走るスピード(いずれも単位略)のデータが下記のようになったとした時、犬種の類似度はどういうものなのか?どのようなグループに分かれるかを考えます。

表1.犬種の体重とスピード

図1. 表1のグラフ化(横軸:体重、縦軸:スピード)

 このデータから、どういった類似の犬種グループに分かれるかを見てみましょう。GやIは軽くて、非常に速いので、イタグレのような品種。Jは体重は重めだが、俊敏性に富むようなので、シェパードやシベリアン・ハスキーが該当します。

 次いでいきなりですが、各犬種のユークリッド距離の二乗を表にしたものを示します。

表2.ユークリッド距離の二乗表(1)

 赤字の2、つまりGとIが最も小さいです。そこでまず、GとIは同グループになります。次に、GとIを同じにする(平均でいいです)時の、二乗表を算出します。

表3.ユークリッド距離の二乗表(2)

 今度は、青字の10が最小です。つまり、AとDが同じグループになります。この操作を繰り返していきます。最終的には、A&B&D&F&G&I&J&KとC&E&Hになります。その距離二乗は、847.2です。これらを、グラフ化します。図2参照。

 グラフでは、グループとしてまとめてきたものを、線でつないでいます。点線は4個のグループ分けしたいときの線です。この線が切っているところが一つのグループです。このようなグラフをデンドログラムといいます。またこのような方法を階層的分類法といいます。

図2.デンドログラムの完成

 図1のグラフに上図のグループを囲ってみます。

図3.グループ分けの囲いこみ

  • GとIはA,B,K,D,Fとは違うグループのようです。
  • Jはやや特殊な用途に使われそうです。

 体重とスピードで犬種のクラスターを作ってみたわけですが、それ以外にも多くの項目がありますので、この調子で計算するのは大変です。ここから先はSPSSやエクセル統計(いずれも有料)で行いましょう。手計算では2項目ぐらいです。

 ただ、計算量が多いだけで、難しくはありませんので、これはコンピューター向きです。なお、AIでよく使われるディープラーニングでは、クラスター分析でも非階層的方法が良く使われます。k-means法が有名です。

 下記サイトを参照してみてください。とても分かりやすいです。

http://tech.nitoyon.com/ja/blog/2009/04/09/kmeans-visualise/

   続きを読むには・・・


この記事の著者

村島 繁延

QCDはバランスさせるものではなく、全て両立させるものだという信念で向かいます。一石三鳥を狙った成果を目指します。

QCDはバランスさせるものではなく、全て両立させるものだという信念で向かいます。一石三鳥を狙った成果を目指します。