樋口先生 様;
お世話になります、袋井と申します。
ご教示をいただき、誠にありがとうございました。
多次元ベクトルの類似度、距離については色々な指標がありますが、題材に適したものをと考えております。
私が変な思い込み、思い違いをしているのかもしれませんが、解せない箇所がございます。
細かい話で恐縮ですが、ご確認させてください。
よろしくお願いいたします。
> Dist(d,method="correlation")は、「1 - 相関係数」を返します。
> 相関係数が-1から1までですので、「1 - 相関係数」は0から2まで
> ですね。
dat <-read.table("file.csv",header=T,row.names=1,sep=",")
# "pearson"
d1 <- Dist(dat,method="pearson")
d1 <- as.matrix(d1)
# 1 - "pearson"
d2 <- 1 - d1
d2 <- as.matrix(d2)
# "correlation"
d3 <- Dist(dat,method="correlation")
d3 <- as.matrix(d3)
d3は0から2までの範囲となっていますので、これはOKです。
> Dist(d,method="correlation")は、「1 - 相関係数」を返します。
書かれている「相関係数」は、d1のことでしょうか?
d2とd3は一致する必要はないのでしょうか?
> # 類似度計算
> library(amap)
> d <- Dist(d,method="correlation")
> d <- as.matrix(d)
> d <- 2 - d; # ←ここを「2」に修正
対角成分は、
"correlation" の場合には、0
2 -"correlation" の場合には、2
となりますが、それはそれでよいのでしょうか?
類似度、距離を行列で表現する場合には、対角成分は0または1になるように思い込んでおりますので、
対角成分が2となることの意味合いが分かりません。
細かい話で大変に恐縮ですが、ご確認させてください。
よろしくお願いします。