前回の JMP ブログ投稿では、クラスタリングに使用される 2 つのアルゴリズム、K 平均法と正規混合法 (期待値の最大化を使用) について説明しました。ここでは、階層的クラスタリングの例を見ていきます。
通常、k 平均法ではハード クラスター割り当て (各データ ポイントは 1 つのクラスターのみに属します) が与えられますが、正規混合ではソフト (確率的) クラスター割り当てが行われます。通常の混合クラスタリングでは、各データ ポイントは、人であろうと細胞培養であろうと、次のものに属します。毎一定の確率でクラスターが発生します。同様に、階層的クラスタリングにより、ポイントを以下に属するものとして見ることができます。複数クラスター。しかし、階層的クラスタリングでは、おそらく明らかに、クラスタは本質的に階層的です。
階層的クラスタリングを使用する場合
階層的クラスタリングは、データに階層構造がある場合に最も役立ちます。階層データには、それ自体がサブグループで構成されるグループがあり、そのサブグループがサブグループで構成される...ということが永遠に続きます。たとえば、血液を見ると、赤血球、白血球、血漿、血小板が存在します。 
白血球の中には、好中球、好塩基球、リンパ球などがあります。 
リンパ球内には、T 細胞、B 細胞、ナチュラル キラー細胞が存在します。
T 細胞内には、ヘルパー T 細胞、メモリー T 細胞、サプレッサー T 細胞、キラー T 細胞が存在します。続けてもいいですが、これは統計ブログであり、免疫学のブログではありません。 
非常に特殊な細胞グループを観察することが役立つことはよくありますが、医師が血液検査で白血球数を調べる場合など、一般化してより高いレベルのグループを観察する必要がある状況も多くあります。 
購買習慣に基づいて顧客をグループ化する場合、買い物客の特定の習慣に対応するために 50 種類の異なるマーケティング メールを作成するのに十分な資金がある場合があります。ただし、予算が 5 つしか作成できない場合もあります。階層的クラスタリングを使用すると、可能な限り凝集したクラスターを提供しながら、任意の数のクラスターを選択できます。
TL;DR: データに階層構造があると思われる場合は、階層クラスタリングを使用します。それは本当に簡単なことかもしれません。
凝集型階層クラスタリング
JMP は階層型を使用します凝集性クラスタリング (略して HAC)。すべてのデータが 1 つのクラスターになるまで類似したクラスターを連続的にマージすることで、データ内の階層関係をモデル化します。最初は、各データ ポイントは独自のシングルトン クラスターです。しかし、それは非常に寂しいので、次に最も近い 2 つのクラスターを結合して新しいクラスターを形成します。次に、次2 つの最も近いクラスターを一緒に配置し、それを再度実行します。そしてまた。そしてまた。すべてのデータが 1 つのクラスターに収まるまで。 HAC はボトムアップ クラスタリングとよく呼ばれます。なぜなら、HAC はボトムから始めて、現在、すべてのデータ ポイントを含む 1 つのクラスターを持つようになったからです。チーム全員がここにいると言ってもいいでしょう。 
距離メトリクス
どのクラスターが互いに近いかを判断することは、必ずしも簡単ではありません。 2 つのクラスターがどれだけ離れているかを判断するために使用できる連鎖基準は多数あります。
シングルリンケージは、2 つのクラスター (A と
間の距離を次のように定義します。最小 A の任意の点と B の任意の点の間の距離。
平均リンケージは、クラスター (A と
間の距離を次のように定義します。平均A の点と B の点の間の距離。 
完了リンケージは、クラスター (A と
間の距離を次のように定義します。最大A の任意の点と B の任意の点の間の距離。
の重心この方法では、クラスター (A と
間の距離を、それぞれの平均ベクトル (重心) 間の距離として定義します。 
区の方法は上記の方法とは少し異なります。純粋な距離の尺度を使用する代わりに、グループとしてクラスターの割り当てを使用して一変量 ANOVA が適合されます。 2 つのクラスター (A と
は、結果が以下の場合に結合されます。最小A と B を 1 つのグループに組み合わせて別の ANOVA を実行すると、誤差二乗和が増加します。 ANOVA の記事から、エラーが内でグループバリエーション。したがって、ウォードの方法は、どの 2 つのグループを組み合わせても、低い値を維持できるかを尋ねます。内でグループのバリエーション (つまり、どの 2 つのグループが最も類似しているか)。 
デンドログラムの読み方
データの階層構造を決定したら、任意のレベルでさまざまなクラスターを調べることができます。私たちは構造について観察したいことがよくあります。それを行う最も簡単な方法は、樹状図を見ることです。
樹状図はクラスターがどのように結合されたかを示します。 JMPでは、Y 軸はデータ ポイント/クラスターを表し、X 軸は距離を表します。たとえば、2 つのクラスターが樹状図の下 (左側) で結合している場合、それらは樹状図の上 (右側) で結合している他の 2 つのクラスターよりも類似しています。 
下部が密な樹状図 (左) には、通常、より分離可能なクラスターが含まれますが、下部が密でない樹状図 (左) には、分離可能性が低く、クラスターがより分散する傾向があります。
クラスタリングは科学というより芸術のようなものであるため、クラスターを解釈して意味のあるものを生み出すには、ドメインの専門知識が必要になる可能性があります。樹状図を使用すると、1 から N までの任意の数のクラスターを作成できます (N は所有するデータ ポイントの数です)。任意のレベルで樹状図を「切断」すると、各クラスターのメンバーシップがわかります。 
JMPで
150 人のタンパク質、脂肪、炭水化物の平均グラムを記録したデータセットを見てみましょう。これらのさまざまな食事をクラスタリングしたい理由はたくさんあります。おそらく、食事の違いによって心臓病の発症率が異なるかどうかを調べたいと考えています。あるいは、各クラスターのコレステロールや鉄のレベルを調べたいかもしれません。
JMP では、階層クラスタリングの実行は非常に簡単です。ただ行ってください分析 > クラスタリング > 階層クラスタをクリックして、クラスター化する列を選択します。各データ ポイントに名前またはラベルがある場合は、それを選択して、ラベル。ここでリンク基準を選択することもできます。クリックわかりましたと、JMP がクラスターと樹状図を作成します。 
階層プラットフォームに入ると、クラスターごとに樹状図に色を付けることができます。これは、クラスター内のさまざまなパターンを見つけ出すのに役立ちます。 
また、1 から N までの任意の数のクラスターのハード クラスター割り当てを取得することもできます (N はサンプル サイズです)。赤い三角形のメニューに移動して選択するだけですクラスターの数希望の番号を入力します。樹形図上の小さな黒いひし形をドラッグして、クラスターの数を選択することもできます。次に、赤い三角ボタンのメニューに戻り、選択しますクラスターの保存。 ak (クラスター数) を選択すると、JMP はちょうど k 個のクラスターが存在する場所で樹状図を「カット」します。
プロットの横にあるひし形を、樹状図上のカットしたい点までドラッグすることもできます。 
クラスターを列として保存すると、クラスターをより適切に視覚化でき、クラスターの割り当てをさらなる分析でグループ変数として使用できます (クラスターのメンバーシップが心疾患の発生率に重大な影響を与えるかどうかを確認するための ANOVA など)。
2 つのクラスターだけを見ると、比較的高タンパク質、低炭水化物、低脂肪のクラスターと、比較的低タンパク質、高脂肪、炭水化物のクラスターがあることがわかります。 
また、3 つのクラスターのソリューションを検討することもできます。これにより、高タンパク質、低炭水化物、低脂肪のグループを極端なグループと、より中程度のグループに分けることができます。階層構造は、これらのグループがどのように相互に関連しているかを理解するのに役立ちますが、必要に応じてそれらを別々のものとして扱うことができます。 
JMP は、樹状図の下に表示される距離グラフに基づいて、ak を推奨します。グラフの x 軸は、2 つのクラスターがマージされるたびを表します。 y 軸は、結合された最後の 2 つのクラスター間の距離を表します。傾きが劇的に変化する場合、それはマージされた最後の 2 つのクラスターが比較的離れていたことを意味します。これは、残りのクラスターが比較的独立していて、現在の構成が k にとって適切な選択であることを示唆しています。
このデータセットの樹状図は下部 (左) で最も密になっており、分離可能なクラスターがいくつかある可能性が高いことを意味します。これは、上のこのプロットを見ると確認できます。
それを試してみてください
階層クラスタリング (およびクラスタリング一般) は、ラベルのないデータの問題すべてを解決する万能薬ではありません。しかし、実際にデータの階層構造をモデル化することには非常に優れています。もっている階層構造。さまざまなクラスターが相互にどのように関連しているかがわかるため、非階層的クラスター化を超えた情報が得られます。この情報は、クラスターを結合または分割する必要がある場合に非常に貴重になります。階層的クラスタリングにより、データをグループ化する方法にある程度の柔軟性が与えられますが、最終的には、私たち全員がもう少し柔軟になる必要があります。この投稿に添付されているデータ表を使用して自分で試してみてください。
HCA の類似性軸はどこにありますか? どうやってオンにしますか?
Google で検索したり、マニュアルをざっと調べてみましたが、何も見つかりませんでした。 JMP の以前のバージョンでは、類似性が X 軸に示されていたようです。 これは削除されましたか?
@ASHU4JMP JMP レポートの一部を学習する最も簡単な方法は、疑問符ツール[ツール] メニューの をクリックし、質問があるレポートの部分をクリックします。
あなたの場合、そのグラフをクリックすると、樹状図レポートのヘルプページここで、それが距離グラフであることがわかります。
距離グラフ距離グラフは、樹状図の下に表示されるプロットです。 このグラフには、2 つのクラスターが 1 つのクラスターに結合される各ステップのポイントがあります。 水平座標はクラスターの数を表し、左から右に向かって減少します。 ポイントの垂直座標は、指定されたステップで結合されたクラスター間の距離です。
樹状図内のいずれかのひし形のハンドルをクリックしてドラッグし、選択したクラスターの数を制御できます。 ひし形をクリックしてドラッグすると、プロットに垂直線が表示され、クラスターの数に応じて移動します。 多くの場合、距離グラフの傾きが横ばいになる点が存在します。 このような点は自然な中断を示唆しており、クラスターの数を決定するのに役立ちます。
こんにちは、チェルシー。HAC に関連した質問があります。 写真を見つけてください。 このグラフにはどのような意味があるのでしょうか。
こんにちは、チェルシーさん
この記事をありがとうございます。非常に明確で説明的です。
クラスタリングについて質問があるので、教えていただけないでしょうか。
比較的小規模なデータセット (17 行、+/-90 列) を使用して階層型 (および K 平均法) クラスタリングを試みています。
すべての列を使用してクラスタリングを行うと、一部の行がクラスタリングから除外されます。 したがって、選択したクラスター数に応じて 1-2-3-etc クラスターがある可能性がありますが、それらのクラスター内の行 (観測) の数は 17 よりも小さいです (つまり、クラスターがまったく割り当てられない行もあります)。
これが起こる理由はありますか?
お手伝いは大歓迎です。
ありがとう!
アシエ