Để phân cụm theo phân cấp, tôi thường thấy hai "số liệu" sau đây (chúng không nói chính xác) để đo khoảng cách giữa hai biến ngẫu nhiên và :
Để phân cụm theo phân cấp, tôi thường thấy hai "số liệu" sau đây (chúng không nói chính xác) để đo khoảng cách giữa hai biến ngẫu nhiên và :
Câu trả lời:
Các bất đẳng thức tam giác trên của bạn sẽ mang lại:
Điều này có vẻ khá bất bình đẳng dễ dàng để đánh bại. Chúng ta có thể làm cho phía bên tay phải nhỏ nhất có thể (chính xác là một) bằng cách làm cho và Z độc lập. Sau đó, chúng ta có thể tìm thấy một Y mà phía bên trái vượt quá một?
Nếu và X và Z có sai giống hệt nhau, sau đó C o r ( X , Y ) = √và tương tự đối vớiCor(Y,Z), do đó, phía bên trái cao hơn một và bất đẳng thức bị vi phạm. Ví dụ về vi phạm này trong R, trong đóXvàZlà các thành phần của thông thường đa biến:
library(MASS)
set.seed(123)
d1 <- function(a,b) {1 - abs(cor(a,b))}
Sigma <- matrix(c(1,0,0,1), nrow=2) # covariance matrix of X and Z
matrixXZ <- mvrnorm(n=1e3, mu=c(0,0), Sigma=Sigma, empirical=TRUE)
X <- matrixXZ[,1] # mean 0, variance 1
Z <- matrixXZ[,2] # mean 0, variance 1
cor(X,Z) # nearly zero
Y <- X + Z
d1(X,Y)
# 0.2928932
d1(Y,Z)
# 0.2928932
d1(X,Z)
# 1
d1(X,Z) <= d1(X,Y) + d1(Y,Z)
# FALSE
Mặc dù lưu ý rằng công trình này không hoạt động với của bạn :
d2 <- function(a,b) {1 - cor(a,b)^2}
d2(X,Y)
# 0.5
d2(Y,Z)
# 0.5
d2(X,Z)
# 1
d2(X,Z) <= d2(X,Y) + d2(Y,Z)
# TRUE
Thay vì khởi động một cuộc tấn công lý thuyết vào , ở giai đoạn này tôi chỉ thấy dễ dàng hơn khi chơi xung quanh với ma trận hiệp phương sai trong R cho đến khi một ví dụ đẹp xuất hiện. Cho phép V a r ( X ) = 2 , V a r ( Z ) = 1 và C o v ( X , Z ) = 1 cho:Sigma
Chúng tôi cũng có thể điều tra hiệp phương sai:
C o v (
Các tương quan bình phương là: Cor(X,Y)2=Cov(X,Y)2
Khi đó trong khi d 2 ( X , Y ) = 0,1 và d 2 ( Y , Z ) = 0,2 nên bất đẳng thức tam giác bị vi phạm bởi một biên đáng kể.
Sigma <- matrix(c(2,1,1,1), nrow=2) # covariance matrix of X and Z
matrixXZ <- mvrnorm(n=1e3, mu=c(0,0), Sigma=Sigma, empirical=TRUE)
X <- matrixXZ[,1] # mean 0, variance 2
Z <- matrixXZ[,2] # mean 0, variance 1
cor(X,Z) # 0.707
Y <- X + Z
d2 <- function(a,b) {1 - cor(a,b)^2}
d2(X,Y)
# 0.1
d2(Y,Z)
# 0.2
d2(X,Z)
# 0.5
d2(X,Z) <= d2(X,Y) + d2(Y,Z)
# FALSE
Hãy để chúng tôi có ba vectơ (nó có thể là biến hoặc cá nhân) , Y
Đối với "d1" mỗi se, đó là "như"
). Đó là vị trí trong đó sự vi phạm bất đẳng thức tam giác bằng khoảng cách bình phương là nổi bật nhất.
.
Therefore regarding
distance we can say it is not metric. Because even when all s were originally positive the distance is the euclidean which itself isn't metric.
What is about the second distance?
Since correlation in the case of standardized vectors is , is . (Indeed, is SSerror/SStotal
of a linear regression, a quantity which is the squared correlation of the dependent variable with something orthogonal to the predictor.) In that case draw the sines of the vectors, and make them squared (because we are talking about the distance which is ):
Although it is not quite obvious visually, the green square is again larger than the sum of red areas .
It could be proved. On a plane, . Square both sides since we are interested in .
In the last expression, two important terms are shown bracketed. If the second of the two is (or can be) larger than the first one then , and the "d2" distance violates triangular inequality. And it is so on our picture where is about 40 degrees and is about 30 degrees (term 1 is .1033
and term 2 is .2132
). "D2" isn't metric.
The square root of "d2" distance - the sine dissimilarity measure - is metric though (I believe). You can play with various and angles on my circle to make sure. Whether "d2" will show to be metric in a non-collinear setting (i.e. three vectors not on a plane) too - I can't say at this time, albeit I tentatively suppose it will.
See also this preprint that I wrote: http://arxiv.org/abs/1208.3145 . I still need to take time and properly submit it. The abstract:
We investigate two classes of transformations of cosine similarity and Pearson and Spearman correlations into metric distances, utilising the simple tool of metric-preserving functions. The first class puts anti-correlated objects maximally far apart. Previously known transforms fall within this class. The second class collates correlated and anti-correlated objects. An example of such a transformation that yields a metric distance is the sine function when applied to centered data.
The upshot for your question is that d1, d2 are indeed not metrics and that the square root of d2 is in fact a proper metric.
No.
Simplest counter-example:
for the distance is not defined at all, whatever your is.
Any constant series has standard deviation , and thus causes a division by zero in the definition of ...
At most it is a metric on a subset of the data space, not including any constant series.