-1

私は、クラスタ分析と PCA のために MVSP の代わりに R を使用しようと試みてきました。ただし、R は、dist、bcdist、hclust、daisy 関数など、私が見つけたすべての関数を使用して、MVSP とは大幅に異なる出力を提供しています。また、MVSP からの距離テーブル出力を R の距離行列として使用しました。これにより、さらに異なる出力が生成されます。ユークリッド距離、ソレンソン ダイス係数、および平均/UPGMA クラスタリングを使用したクラスター/デンドログラムが必要です。問題は、複数のコンピューターと 2 つのバージョンで、2 人目の人/入力と私自身によって複製されました。SAS は MVSP と同じ結果を出しています。

(dist または hclust の代わりに) 使用できる別のパッケージ、または R でアルゴリズムを表示/テストする方法はありますか? これを引き起こす可能性があり、R のバージョンをかなり前の作業にさかのぼる可能性があるものはありますか?

編集; 問題が見つかりました。私が試したすべての関数で使用されたアルゴリズムはソレンソンの係数を使用していませんでした。そのため、dist 関数 (および組み込みの method="Dice") を含む Proxy パッケージを使用しました。

4

1 に答える 1

2

私を信じてください、hclust()そしてdist()何億回も使用されており、多くの人にも見られています. 同様に、推奨パッケージの対応clusterする関数agnes()daisy(). 実際の階層的クラスタリング アルゴリズムは、デンドログラム ブランチをどのように順序付けするかを決定する必要があります (各分割で: 何が左になり、何が右になるか?)、たとえばagnes()hclust()左右の割り当て戦略が異なりますが、同じ方法が選択されている場合は明らかに一致します。ヘルプページをよく読みましたか?たとえば、hclust のデフォルトは「完全」ですが、agnes() のデフォルトはより適切な「平均」です。

しかし、すでに dist() の「問題」が見られる場合は、R にデータを適切に取り込む方法をまだマスターしていないに違いありません..または同様のことです!

単純な 1 次元データ (したがって、問題はありません dist())、つまり最初の 5 つの素数を使用して、R が何をするかを示し、それからなぜこれが 100% 正しくないのかを証明してみましょう。

> (D <- dist(setNames(, c(2,3,5,7,11))))
   2 3 5 7
3  1      
5  3 2    
7  5 4 2  
11 9 8 6 4
> hc <- hclust(D)
> plot(hc) ## --- see the attached image [1]

agnes()from packageと同じになりcluster、同じメソッドが使用されていることを慎重に確認します。

> library(cluster)
> ag <- agnes(D, method="complete")
> print.default(hc[1:3])
$merge
 [,1] [,2]
[1,]   -1   -2
[2,]   -3   -4
[3,]    1    2
[4,]   -5    3

$height
[1] 1 2 5 9

$order
[1] 5 1 2 3 4

> 

最初の 3 つの内部コンポーネントの型にはまらない印刷を使用して、それらが何であるかを数値的に説明しました (プロットと出力を調べれば、それらが何を意味するのか推測できるようになるかもしれません...)。

ここで、ここで正しくないものを use に伝えます。

于 2013-11-25T21:06:24.780 に答える