混合型データを使用した階層的クラスタリング-使用する距離/類似度


34

私のデータセットには、連続変数と自然離散変数の両方があります。両方のタイプの変数を使用して階層的クラスタリングを実行できるかどうかを知りたいです。はいの場合、どの距離測定が適切ですか?


どのソフトウェアを使用していますか?
rolando2

@ rolando2:R(hclusパッケージ)を使用しています。
ベータ

1
階層クラスタリングを使用する理由はありますか?
suncoolsu

な 私は自分の知識のためにこの質問をしています。データ型が混在している場合、階層化できますか。はいの場合、なぜですか?いいえの場合、なぜですか?
ベータ

@ user4278さて、あなたの目標何ですか?(個人の)クラスターを識別しようとしていますか?
chl

回答:


45

1つの方法は、複合メジャー1であるGower類似係数を使用することです。量的(格付けスケールなど)、バイナリ(存在/不在など)、名義(ワーカー/教師/書記など)の変数を取ります。後にPodani 2には、順序変数を取るオプションも追加されました。12

係数は、式がなくても簡単に理解できます。変数のタイプを考慮に入れて、各変数ごとに個人間の類似性の値を計算し、すべての変数で平均します。通常、Gowerを計算するプログラムを使用すると、変数、つまり合成式への寄与を重み付けできます。ただし、異なるタイプの変数の適切な重み付けは問題であり、明確なガイドラインは存在しません。これにより、Gowerまたはその他の近接プルの「複合」インデックスが直面します。

ガワー類似性のファセット(GS):

  • すべての変数が量的(間隔)である場合、係数は類似度に変換された範囲正規化マンハッタン距離です。異なるユニットの正規化変数のために安全に使用できます。ただし、外れ値を忘れてはなりません。(範囲よりも別の広がりの尺度で正規化することもできます。)データセット内の個人の構成に敏感な範囲などの統計による正規化のため、2人の個人間のGowerの類似性はその値を変更する可能性がありますデータ内の他の個人を削除または追加した場合。
  • すべての変数が順序変数である場合、上記のように最初にランク付けされ、次にマンハッタンが計算されますが、前述のように量的変数を使用しますが、タイの特別な調整を行います。
  • すべての変数がバイナリである場合(カテゴリの非対称の重要性:「現在」と「不在」の属性)、係数はJaccardマッチング係数です(この係数は、両方の個人が一致も不一致も属性がない場合に処理します)。
  • すべての変数が名義の場合(ここでも対称的意味を持つ二分法を含む:「this」と「that」)、係数は、ダミー変数に再コード化する場合に名義変数から取得するダイス一致係数です(詳細については、この回答を参照してください) 。

(タイプのリストを簡単に拡張できます。たとえば、類似度に変換された正規化カイ2乗距離を使用して、カウント変数の加数を追加できます。)

係数の範囲は0〜1です。

1GS1GS1GS1GS

ユークリッド距離(ユークリッド空間をサポートする距離)を使用すると、ほぼすべての古典的なクラスタリング手法が実行できます。含むK-手段(あなたのK-手段プログラムは、コースの距離行列を、処理することができる場合)とのウォード、重心、中央値方法を含む階層的クラスタリング。ユークリッド距離と非ユークリッド距離に基づいたK平均法またはその他の方法を使用して、まだメトリック距離をヒューリスティックに許容できます。非メトリック距離と、そのような方法が用いられなくてもよいです。

ガウアー距離と前の段落のK-手段やウォードのか、そのようなクラスタリングが合法である場合について協議かを数学的に(幾何学)。測定スケール(「精神」)ビューの一方の点は、任意のカテゴリにそれからの平均又はユークリッド距離偏差(ノミナル、バイナリ、ならびに序)データを計算してはなりません。したがってからこのスタンスあなただけのこの視点は、ユークリッド空間が存在する場合であっても、それは粒状化してもよいことを警告し、区などK-によるガウアー係数を処理しないことがあり、滑らかではない(関連参照)。


1

2


ttnphnsに感謝します!あなたは「Gowerの類似度係数が」Rにhclusパッケージに統合されているを教えていただけますか?この機能を備えたRのパッケージはありますか。
ベータ

私は知りませんRのユーザーではないよ、とあなたはhclusでそれを見つけるとは思いません。しかし、「Gower Similarity R」をグーグルで検索すれば、必要なものを見つけることができます。
ttnphns

user4278が、念のためにあなたがSPSSを避けていない、私は私のWebページ上のガワーの類似性のためのマクロを持っています。これは、データを重み付けし、不足して受け入れます。
ttnphns

@ user4278 Rについて具体的には、ここから始めてください:cran.r-project.org/web/views/Environmetrics.html
chl

@ttnphns:あなたのおかげで!私はあなたのウェブサイトを訪問しました、そしてそれはSPSSのための素晴らしいリソースです。しかし残念ながら、私はあまりにも多くのSPSSを使用しないでください。しかし、R。@ chlに何も表示されない場合は、必ず使用します。ありがとうございます。しかし、それは巨大なリストです。クラスターパッケージのデイジーは、Gower類似の機能を持っていることをどこかで読みました。
ベータ

15

あなたはこの質問につまずいていると使用するためのダウンロードにどのようなパッケージを迷っている場合はRでメトリックガウアーをclusterパッケージには、機能の名前があるデイジー()変数の混合型が使用されるたびに、デフォルトでガウアーのメトリックを使用しています、。または、Gowerのメトリックを使用するように手動で設定できます。

daisy(x, metric = c("euclidean", "manhattan", "gower"),
      stand = FALSE, type = list(), weights = rep.int(1, p))

4
さらにZhubarbの答えあなたがからのすべてのペア間のガウアー距離たい場合は、2つのデータセットを、そしてRパッケージを参照してくださいStatMatch
ジェームズハーシュホーン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.