Использование корреляции в качестве «расстояния» не имеет большого смысла. Учитывая два вектора x1
и x2
, если x1
равно x2
, можно ожидать, что расстояние будет 0
. Однако корреляция (коэффициент) вектора с самим собой составляет 1
. Если вы вычислите 1 - correlation
, вы получите 0
для равных векторов.
В общем случае, чем «ближе» векторы (чем меньше расстояние), тем более они коррелированы (чем выше корреляция). Так что 1 - correlation
имеет смысл как мера сходства.
Обратите внимание, однако, что хотя 1 - correlation
является мерой сходства, оно на самом деле не является расстоянием , поскольку оно не удовлетворяет неравенству треугольника, В качестве контрпримеров рассмотрим следующие векторы:
x1 = [1 9 8 5];
x2 = [0 7 6 9];
x3 = [9 3 2 6];
Тогда
>> pdist([x1; x2], 'correlation') + pdist([x2; x3], 'correlation')
ans =
1.919533190739275
>> pdist([x1; x3], 'correlation')
ans =
1.967870959140932