スパイラル データに対してクラスター分析を最適に実行するにはどうすればよいですか?こんにちは、
JMP または JMP Pro で利用可能などのクラスタリング プラットフォームが、これらのスパイラル データからクラスターを識別するのに最適であるかを知りたいです。

HDBSCAN を使用すると、以下に示すようにクラスターを正しく識別できますが、可能であれば JMP を使用したいと考えています。

テーブルスクリプトが添付されました。
ありがとうjpol
消費者および市場調査Re: スパイラル データでクラスター分析を実行するにはどうすればよいですか?やあ@jpol 、
この投稿に出会い、とても興味深いと思いました。何を探していたのか今は覚えていませんが、これは本当にクールな投稿でした。元のデータ セットを使って遊んでくれてありがとう!私はあなたに興味があるかもしれない別のアプローチを試みました。 まず、データ テーブルに余分な列をいくつか追加し、不要な列を削除しました。 さらに X と Y のデータを追加しましたが、ノイズが含まれていたため、渦巻きは見栄えがよくありませんでした (問題をより困難にするためです!
)。 X/Y 座標を R/シータ座標に変換してクラスタリングとモデリングをテストしましたが、R とシータではクラスタリングやモデリングが改善されないことがわかりました。 データ表も添付します。
データを標準化する場合でも、これらの「外れ値」ポイントが階層的クラスタリングの単一リンケージ法に大混乱をもたらすことは正しいです。 これらのポイントが残りのデータと共通点を共有し、その列内のデータ (つまり X または Y) の標準偏差を膨らませることになるためだと思います。 しかし、JMP 11 では、外れ値をさらに目立たせる [堅牢に標準化] オプションが追加されました。 アルゴリズム全体はわかりませんが、JMP はおそらく何らかの T^2、ジャックナイフ、または KNN 外れ値テストを行っていると思います。 実際、多変量プラットフォームを使用して T^2 テストを実行するか、Explore Outlier プラットフォームを使用して KNN テストを実行すると、5 つの追加ポイントが潜在的な外れ値として表示されることがわかります。 問題の唯一のものは、中央のものである可能性があります。 以下のレポートを見ることができます。 また、スクリプトとしてデータ テーブルに保存されます。


つまり、外れ値があると思われる場合は、[堅牢に標準化] をオンにします。これにより、JMP がデータを標準化するときに、外れ値の影響を最小限に抑えることができます。 デンドログラムを取得したら、8 つのクラスターを選択できます。階層型クラスタリング プラットフォームは、追加の 5 つのデータ ポイントをそれぞれのクラスターとして正しく識別します。 以下の JMP からの HC レポートを参照してください。 すべての外れ値クラスターが 1 つのコンスタレーション アームに配置されていることがわかります。 それらは、互いに十分な共通点を共有していないだけでなく、残りのデータセットと共有しすぎているため、独自のクラスターに配置することはできません。 それでも 8 つのクラスターを指定する必要があります。そうしないと、中心点とらせん全体が 1 つのクラスターにグループ化され、外側の 4 つの点がそれぞれ独自のクラスターにグループ化されます。

星の明るさ (これは銀河の画像によく似ているため、私はそう言っているだけです) または Z 座標などのデータの 3 番目の次元がある場合、別の方法で区別できるようにするために、それをデータに追加することができます。 それらが外れ値であることが事前にわかっている場合は、クラスターの総数 (この場合は 8) をいつでも指定でき、階層的クラスタリングはそれらを適切に選択します (堅牢に標準化する場合)。 問題のポイントが、写真乾板上の特定の位置をマークするためのフィデューシャルや、Si ウエハー上のトランジスタ レイアウトなどである場合、これらは最初からデータ セットから削除できます。 しかし、これは何らかの方法でデータに含める必要があるアプリオリな知識です。
私はこれをもう少し試して、機械のアルゴリズムがクラスターを選択できるかどうかを確認することにしました。 JMP Pro が利用できる方法の中で、分類出力を導き出すために数値入力が必要なため、サポート ベクター マシンが最適であると思います。 このデータセットは本質的に分類問題です。 らせんの各腕を他の腕と区別しようとしています。
JMP Pro のサポート ベクター マシン プラットフォームの X および Y 入力を使用してモデルへの出力として階層的クラスタリング プラットフォームからのクラスターを使用することで、さまざまなクラスターを完全にモデル化することができました。 モデルで使用する正確なパラメーターがわからないまま、40 回の実行で調整設計を行ったところ、SVM プラットフォームは 8 つのクラスターを選択することができました。 クラスター対予測クラスターの分割表には、0 個の誤分類があります。 *更新*: SVM モデルのトレーニング時に、データの 50% を検証セットとして使用したことを忘れていました。
SVM レポートの出力を次に示します。 各アームが一意に識別され、さらに 5 つの外れ値が追加されていることがわかります。

HC 法と SVM で色付けされたデータを比較すると、それらは本質的に同一であることがわかります。 (外れ値のマーカーの種類を * に変更したので、見やすくなりました)。


また、分割表は誤分類が 0 であることを示しています。

これは非常に優れたデータ セットであり、この質問を投稿していただきありがとうございます。 繰り返しますが、私が最初に何を探していたのかさえ覚えていませんが、これは非常にクールであることがわかりました。 他のプラットフォームをいくつか試して、このデータのモデル化/分類がどのように行われるかを確認するかもしれません。 ありがとう!
これが役立つことを願っています!,
DS
**更新 2**:
そこで、私は戻って、JMP の他の予測モデリング プラットフォームのいくつかを使用して、このデータ セットのフィッティングをテストしました。 それでも、どちらも SVM モデルほどのパフォーマンスは発揮しません。 どちらもモデリング中に 3 つのクラスターしか選択しませんでした。クラスターはほぼ同じですが、まったく同じではありません。 したがって、実際には SVM の方が適しているようです。


新しい XGBoost プラットフォームも試してみましたが、これも驚くほどうまくいきませんでした。 いくつかの異なるフィッティング オプションを試しましたが、多くの異なるチューニング パラメーターがあるため、最適化されていない可能性があります。 最善の方法は、スパイラルの 3 つのアームと 1 つの異常値のみを分類し、残りは誤分類したことです。 したがって、最終的には、出力を取得するための HC クラスタリングと、潜在的な未知のスパイラルの出力をモデル化するための SVM モデリングがおそらく最適です。 たくさんの楽しみ!
Re: スパイラル データでクラスター分析を実行するにはどうすればよいですか?私はここの専門家ではありません。私は他の人に任せます。 私の推測では、他のポイントから平均よりも離れていないポイントを発見するための別のパスになりますが、2 つの外れ値が隣り合っている場合は失敗するため、それらの 2 つのクラスターをテストする必要があります...おそらくHDBSCAN はそのようなことをしています。
スパイラル クラスターが生成されるプロセスを教えてください。
Re: スパイラル データでクラスター分析を実行するにはどうすればよいですか?正しい方法と記事のリンクを示してくれた Craig に感謝します。
シングル リンク法は、この比較的クリーンなデータ セットで非常にうまく機能します。
上で提供したテーブル スクリプトには、さらに数行のデータを追加するスクリプト「Add Rows」が含まれています。
これらは外れ値と見なすか、少なくとも 3 つの主要なクラスターのいずれにも属さないと見なす必要があります。 HDBSCAN の「-1」クラスターのようなもの。
これらの余分なポイントの追加は、シングル リンケージ メソッド (3 つまたは 4 つのクラスターを探す場合) に大混乱をもたらすようです。
これを回避する方法はありますか?


- フィリップ
Re: スパイラル データでクラスター分析を実行するにはどうすればよいですか?シングルリンケージ。 必要なクラスターの数 (たとえば 3 つ) を知る必要があります。そうしないと、スパイラル アームがさらに分割されます。
Hierarchical Cluster(
Y( :X, :Y ),
Method( "Single" ),
Standardize Data( 1 ),
Color Clusters( 1 ),
Dendrogram Scale( "Distance Scale" ),
Number of Clusters( 3 )
)
Dendrogram with cluster colorsDendrogram with cluster colorsDendrogram with cluster colorsクラスタ カラーを使用したデンドログラム
Graph with cluster colorsGraph with cluster colorsGraph with cluster colorsクラスタ カラーを使用したグラフ
この記事が役立つと思います。「チェーン」と記載されているのを確認するのに十分なだけ読んでいます。
https://stats.stackexchange.com/questions/195446/choosing-the-right-linkage-method-for-hierarchical-clustering