凝集階層クラスタリングのどのようなストップ基準が実際に使用されていますか?


32

私は、あらゆる種類の基準を提案する広範な文献を見つけました(例えば、Glenn et al。1985(pdf)およびJung et al。2002(pdf))。ただし、これらのほとんどは実装がそれほど容易ではありません(少なくとも私の観点からは)。私が使用していますscipy.cluster.hierarchyをクラスタ階層を得るために、私は今、それからフラットなクラスターを形成する方法を決定しようとしています。私の目標は、観測結果に共通のパターンを発見することです。そのため、取得したクラスタリングと比較するための参照はありません。誰でも実用的な解決策を提案できますか?


私のWebページには、多くの一般的な内部クラスタリング基準(停止ルール)の説明(およびSPSS機能)を含む「クラスタリング基準」zipコレクションがあります。ご参考までに。
ttnphns

回答:


18

以下のウィキペディアのエントリは、実際に最も一般的で比較的単純な方法を説明する上でかなり良い仕事をしています:

肘メソッドヒューリスティックは、目視検査で結合された(分散の量は、クラスタの数によって説明)その簡単な説明に最も人気の原因は、おそらくそこにある説明しました。情報理論的な方法は、いずれかの実装が難しいことではありませんし、ページはあなたが開始するために使用できるいくつかの擬似コードを持っています。後者は、AIC、BICなどのよく知られた情報基準のように、モデルの複雑さに基づくペナルティの可能性に類似しています。


ありがとう!階層的クラスタリングに関するウィキペディアの記事は、それにリンクしていません。
ビョルンポレックス

2
そうそう。「参照」リンクの下で修正されました。指摘してくれてありがとう!
アルス

エルボー法では、クラスター化されるオブジェクトが非常に「複雑」な場合はどうなりますか?つまり、単純なポイントではなく、データの複雑なコレクションです。ペアワイズ距離(自己定義距離)を計算しました。エルボー法を適用するために、ここでいわゆる「分散」をどのように計算しますか?
シブスギャンブル

17

Cluster Analysisは統計単位のグループ(個人または変数)を分離しようとするため、使用するクラスタリング方法が何であれ、データ内の「最適な」数のクラスターを選択する方法について明確なソリューションを提供することはかなり困難です)本質的に探索的または説明的な目的のため。したがって、クラスタリングスキームの出力も解釈する必要があり、いくつかのクラスターソリューションも同様に興味深い場合があります。

さて、データの集約を停止するタイミングを決定するために使用される通常の統計基準に関して、@ arsが指し示すように、ほとんどが視覚誘導の基準であり、樹状図の分析やシルエットプロットとも呼ばれるクラスタープロファイルの検査を含みます(Rousseeuw、1987) 。有効性指数としても知られるいくつかの数値基準も提案されました。例えば、ダンの有効性指数、デービス・ボールディンの有効性指数、C指数、ヒューバートのガンマなどです。階層的クラスタリングは、多くの場合k-means(実際には確率的アルゴリズムであるためk-meansのいくつかのインスタンス)と一緒に実行され、見つかったクラスタリングソリューションへのサポートを追加します。これらすべてがPythonですぐに利用できるかどうかはわかりませんが、Rでは膨大な量のメソッドが利用できます(関連する質問について@mbqによって既に引用されているクラスタータスクビュー、MovieLensにクラスタリングアルゴリズムを適用するために使用できるツールは何ですか?)。データ内のクラスターの数をより堅牢に選択する方法を模索する場合、ファジークラスタリングモデルベースのクラスタリング(心理測定コミュニティでは潜在特性分析とも呼ばれます)が含まれます。

ところで、私はこのWebページscipy-clusterに出会いました。これは、階層クラスターを生成、視覚化、分析するためのScipyの拡張機能です。他の機能が含まれている可能性がありますか?多変量解析に非常に優れた機能を提供するPyChemについても聞いたことがあります。

次の参照も役立つ場合があります。

Steinley、D.、&Brusco、MJ(2008)。クラスター分析における変数の選択:8つの手順の経験的比較。Psychometrika73、125-144。


この素晴らしい答えをありがとう!実際、あなたが示した階層的クラスタリングモジュールはすでにscipyの一部です。また、scipyはk-meansの実装を提供するため、簡単に使用できます。
ビョルンポレックス

わかりました、私はこれを詳しく調べませんでした。k-meansの場合、クラスターソリューションを検証するために一般に2つの外側のループが必要であるという事実に注意する必要があります(クラスターの数を変える場合と、シードを変えるための別のループ-RSSを最小化する目的); ギャップ統計を使用して、最適なクラスター数を選択できます。
chl

5

私は最近、クラスタグラムの視覚化手法(Rで実装)の基金になりました。

「良い」数のクラスターを評価するための追加の方法に使用します。他のクラスタリング手法に拡張するのはそれほど難しくありません(実際にやったのですが、コードを公開できませんでした)

代替テキスト

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.