1

需要予測プロジェクトの範囲内で、トップダウン予測アルゴリズムを適用できるように、互いに類似している時系列をグループ化する最良の方法を決定したいと考えています。現時点での私の主な質問は、適切なグループとは何か、それらのグループの適切な階層は何かを判断することです。いくつか読んだ後、Dynamic Time Warping が役立つ可能性があると思います。これをテストするために、小さなテスト ケースを作成しましたが、1 つの問題に直面しています。これは、たとえばテキスト ツリーなどで階層を抽出する方法です。多分あなたの一人が私をさらに助けてくれることを願っています。

私が得たものを示すために、次のケースを作成しました。

sc2 <- read.table("http://dl.dropbox.com/u/9641130/R/hclust.data", header=F, sep="")
SampleLabels <- c("ID1", "ID2", "ID3", "ID4", "ID5", "ID6", "ID7", "ID8", "ID9", "ID10", "ID11", "ID12", "ID13", "ID14", "ID15")
distMatrix2 <- dist(sc2, method="DTW")
hc2 <- hclust(distMatrix2, method="average")
# show the visual tree
plot(hc2, labels=SampleLabels)

どういうわけか、クラスターの名前とメンバーをテキストで取得して、引き続き作業できるようにしたいと思います。誰でもアイデアはありますか?

ありがとう!

4

2 に答える 2

0

dendrapplyと属性を使用して、ツリー内の各ノードにアクセスできます。

于 2012-10-21T19:20:20.177 に答える
0

上記のコメントでのセスの回答に続いて、次の解決策にたどり着きました。

numgroups <- 5
groups <- cutree(hc2,k=numgroups)
LabelsAndGroups <- t(rbind(SampleLabels,groups)) # t is just to get a better overview when presenting the results here. 
LabelsAndGroups
      SampleLabels groups
 [1,] "ID1"        "1"   
 [2,] "ID2"        "1"   
 [3,] "ID3"        "2"   
 [4,] "ID4"        "1"   
 [5,] "ID5"        "3"   
 [6,] "ID6"        "4"   
 [7,] "ID7"        "1"   
 [8,] "ID8"        "4"   
 [9,] "ID9"        "5"   
[10,] "ID10"       "1"   
[11,] "ID11"       "2"   
[12,] "ID12"       "3"   
[13,] "ID13"       "4"   
[14,] "ID14"       "4"   
[15,] "ID15"       "1"   
于 2014-04-27T07:33:04.413 に答える