質問

2 つの樹状図があり、それらがどの程度「似ているか」を調べるために相互に比較したいと考えています。しかし、私はそうするための方法を知りません(Rでそれを実装するコードは言うまでもなく)。

手がかりはありますか?

アップデート (2014-09-13):

この質問をして以来、私は次のような R パッケージを作成しました。 伸ばす, 、視覚化、操作、および 比較 樹状図の。このパッケージはオンです クラン と付属しています 詳細なビネット. 。などの機能が含まれています cor_cophenetic, cor_bakers_gamma そして Bk / Bk_plot. 。同様に tanglegram 2つのツリーを視覚的に比較する関数。

役に立ちましたか?

解決

の樹状図を比較すると、前者は枝の長さだけでなく、分割を含んでいるので、階層的クラスタリングを比較すると全く同じではありませんが、私はまた、それは良いスタートだと思います。私はあなたがE. B. Fowlkes&C. L. Mallowsの(1983)読むことをお勧めします。 「2つの階層クラスタリングを比較する方法」。 553から584 (リンク)する:アメリカ統計協会78(383)のジャーナル。

のアプローチは、 K のクラスタにグループを比較尺度 Bkのを取得し、 K の各レベルで木を切るに基づいており、そしてその後、のBkのの対のK のプロットを調べます。対策のBkののは、オブジェクトのペアを見て、彼らは同じクラスタに分類されているか否かを見に基づいています。

私は1つが、この方法に基づいてコードを書くことができますが、最初に我々は樹状図をRで表されている方法を知っておく必要があるだろうと確信しています。

他のヒント

ご存知のように、デンドログラムの階層的クラスタリングから生じた - ので、あなたが本当に求めていることですどのように私は2つの階層的クラスタリングの実行の結果を比較することができます。そこ私の知っている標準的な指標はありませんが、私が見つかりました。クラスタの数を見て、のようなクラスタ間のメンバーシップの類似性を比較することでしょう。 ここのように私階層的クラスタリングの良い概要です同僚は、スコッチウイスキーのをクラスタリングに書いています。

見て このページ:

私も同様の質問をしています ここ

コフェネティック相関を使用して、2 つの樹状図間の類似性を測定できるようです。しかし、現在 R にはこの目的のための機能がないようです。

2014年9月18日編集:cophenetic で機能する stats パッケージはコフェネティック相違行列を計算できます。相関関係は次を使用して計算できます。 cor 関数。@Talが指摘したように、 as.dendrogram 関数は異なる順序のツリーを返しました。樹状図の結果に基づいて相関を計算すると、間違った結果が生じます。関数の例に示すように cor_cophenetic で機能する dendextend パッケージ:

set.seed(23235)
ss <- sample(1:150, 10 )
hc1 <- iris[ss,-5] %>% dist %>% hclust("com")
hc2 <- iris[ss,-5] %>% dist %>% hclust("single")
dend1 <- as.dendrogram(hc1)
dend2 <- as.dendrogram(hc2)
# cutree(dend1)
cophenetic(hc1)
cophenetic(hc2)
# notice how the dist matrix for the dendrograms have different orders:
cophenetic(dend1)
cophenetic(dend2)
cor(cophenetic(hc1), cophenetic(hc2)) # 0.874
cor(cophenetic(dend1), cophenetic(dend2)) # 0.16
# the difference is becasue the order of the distance table in the case of
# stats:::cophenetic.dendrogram will change between dendrograms!

あなたは(あなたはおそらくあなたがRでdendorogramsを生成しない場合)、あなたはちょうど2つの行列の対応する値の間の相関関係を使用することができなかった各樹形図を生成した基本的な距離行列へのアクセス権を持っている場合は?私は、これはあなたが求めて何の手紙には対応していません知っているが、それはあなたが尋ねたものの精神に良いソリューションです。

で扱っているソフトウェアに関する情報をたくさん持っているこののページをご覧ください系統樹を含む樹木、。私は個人的にはまだそれらのいずれかを使用していないが、私は、木の比較に対処するいくつかのツールに気づきました。また、そこに引用された文献の数があります。

系統発生学のコミュニティには樹木距離メトリックに関する豊富な文献が存在しますが、コンピューター サイエンスの観点からは無視されているようです。見る dist.topoape 2 つのツリー距離メトリックと、ツリー パーティションの類似性を考慮したいくつかの引用 (Penny と Hardy 1985、Kuhner と Felsenstein 1994) のパッケージ。 ロビンソン・フォールズ指標 これには R 実装が含まれています。 phangorn パッケージ。

1 つの問題は、これらのメトリクスには固定スケールがないため、1) ツリーの比較、または 2) 生成されたベースラインとの比較の場合にのみ役立つことです。 Tal が Baker's Gamma で行ったことと同様の順列テスト 彼の素晴らしい dendextend パッケージに含まれています。

hclust または dendrogram オブジェクトが生成された場合 R 階層クラスタリング、使用 as.phylo から ape パッケージは、これらの関数で使用できるように樹状図を系統樹に変換します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top