トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

サンプルの類似度の分析

サンプルの類似度の分析では、データの表を横に短冊状に切って、短冊同士の近さを見ます。
関係性の行列表現

下のようなデータがあったとします。 言葉の散布図 を作ると、C、Dの2つと、他の5つのグループに分かれるように見えます。 サンプルの類似度の分析では、こういったデータの見方をします。
k-means k-means

多次元の場合

上の例は、データが2次元(変数が2つ)の場合のやり方です。 2次元だと、 2次元散布図 でサンプルの類似度の分析ができます。

3次元以上の場合もに、2次元のすべての組合せを、2次元散布図で見てみることはできます。 しかし、この方法だとグラフがたくさんできるので、「結論はこうです」ということを直接表すグラフにはならないので、 人に説明する時に伝わりにくいです。

多変量解析データマイニング の中には3次元以上でも仲間分けができるようにする方法があります。

「高次元を2次元に圧縮して可視化する方法」と、「クラスター分析(グループ分けの結果を教えてくれる方法)」の2種類があります。

高次元を2次元に圧縮して可視化する方法

高次元を2次元に圧縮して可視化 する方法では、高次元問題を2次元問題にしていきます。 100次元あって、どうしようもない感じになっている問題でも、2次元分だけを見れば良いことになるのなら、分析できるようになります。

クラスター分析(グループ分けの結果を教えてくれる方法)

散布図を使う方法は、人が「これとこれは近い」といった検討をする時に使えます。 グループ分けをしたい時は、人がラベルを付ける必要があります。

クラスター分析 は、グループ分けの結果を自動で出してくれます。 サンプルの数が多い時に便利です。

また、クラスター分析の内、階層型の手法の場合は、デンドログラムという、散布図とはまったく違うグラフで、サンプルの近さを表現します。 このグラフは、近さの情報だけを表すこともあり、多次元の情報でも、2次元上(平面上)に表すことができます。

ツートップ・双頭の竜

サンプルの類似度の分析の方法は、 特徴量エンジニアリング としても応用ができます。 高次元を2次元に圧縮して可視化する方法と、クラスター分析は、「ツートップ」や「双頭の竜」とも言えるような関係になっています。 量的変数に圧縮する場合のベストと、質的変数に圧縮する場合のベストです。

高次元を2次元に圧縮して可視化する方法は、1次元や3次元に圧縮することもできますが、 1次元だと情報の欠落が多過ぎて必要な分析ができなくなることが多く、3次元だと視覚的な分析が難しいです。 そのため、視覚的な分析を目的とした、量的変数への圧縮は、2次元が一番使い勝手が良いです。

特徴量エンジニアリング を目的としたクラスター分析の応用は、 ベクトル量子化 と呼ばれています。 質的変数にすると、数値的な連続性が扱えなくなりますが、複雑な分布をざっくりと捉えることが割と簡単にできるようになります。 1次元の質的変数は、2次元の量的変数では表現できない情報が扱えます。

おすすめの方法

クラスター分析 は、多変量解析や機械学習のたいていの本で解説されているような方法ですが、実務で多次元データに使おうとすると「あれ?」となることがあります。 それは、「クラスター分析の手法が、うまくクラスターを作れたのかがわからない」、という問題です。

2次元や3次元のデータなら、クラスターがうまく作れているのかをグラフで確認できるので、 「うまく作れました」という解説をする時は、2次元や3次元のデータが使われることがあります。 手法を勉強する時は、このような確認の仕方で良いとは思うのですが、 4次元以上になって来ると、この方法が使えません。

この問題の解決策のひとつが、 決定木によるクラスタリングの分析 になるのですが、決定木の結果の見方に慣れていないと難しいです。

筆者のおすすめは、「 高次元を2次元に圧縮して可視化 の方法を使ってから、 クラスター分析 をする」 、という方法です。 これだと、 クラスター分析 が扱うデータは2次元になっているので、上記の問題が起きません。

また、 高次元を2次元に圧縮して可視化 の方法だけだと、「サンプルは3つのグループに分かれます」という説明をしたい時に、「3つのグループ」の色分けは、人がすることになるのですが、 この色分けのための情報をクラスター分析で作ることができます。

おすすめの方法のRによる実施例は、 Rによるサンプルの類似度の分析 のページにあります。

距離行列の決め方で自由自在に応用

サンプルの類似度の分析として、上記では表データを横に短冊状に分けるようにして説明しています。 サンプルの類似度の分析では、この後に短冊の間の距離を、全部の組合せについて計算して、距離行列を作ります。

そして、距離行列にした後に、 A-A型の分析 を進めると、距離行列が表す内容が散布図などのグラフで見れるようになります。

ここで、距離の計算は、ユークリッド距離が入門的ですが、「どんなものの類似度を見たいのか?」、「どんな類似度を見たいのか?」といったものによっては、 距離の計算方法を工夫します。 いったん距離行列にしてしまえば、後は、サンプルの類似度の分析のやり方が使えるようになっています。

サンプルの類似度の分析のソフトには、表データからでも、距離行列からでもスタートできるようになっているものがあります。 Rによる高次元を2次元に圧縮して可視化 の多次元尺度構成法や、 Rによるクラスター分析 の階層型は、距離行列を自分で作って、入力データとして使う手順になっています。 Rによる高次元を2次元に圧縮して可視化 にあるt-SNE、UMAPは、デフォルトでは表データを入力データとして使い距離行列は内部で自動計算されますが、 パラメタを変えれば、好みの距離行列を入力データとして使うこともできます。

変数の類似度の分析に応用

例えば、変数間の類似度を、「1 - 相関係数の2乗」や、「1 - 相互相関係数の2乗」のようなものにすれば、 変数の類似度の分析 に応用できます。 1から引くのは、「近いほど小さい」という性質の尺度にするためです。 2乗するのは、正(0以上)だけの値にするためです。

相互相関係数を使うものについては、k-Shape法と呼ばれていて、最大値になるタイミングがずれているような変数間でも「似ている」ということを調べられるようになっています。

距離行列のデータしか取れないものの分析

多次元尺度構成法 は、サンプルの類似度の分析の代表的なものですが、この方法は、元々、アンケートデータのように心理的な類似度のデータを分析する方法として、 開発されて来ています。

アンケート・感性評価 をする時は、2つのものを並べて、「どれくらい近いか?」という一対評価をした方が、答えやすいことがあるので、 人間のこうした性質を利用してデータを集めています。




手法の使い分け

中間層を使った解析

多対多の分析



順路 次は 高次元を2次元に圧縮して可視化

Tweet データサイエンス教室