主要内容

Pdist.

两组观测值之间的成对距离

描述

例子

D.= pdist(X返回在观察成对之间的欧几里德距离X

例子

D.= pdist(X距离指定的方法返回距离距离

例子

D.= pdist(X距离DistParameter指定的方法返回距离距离DistParameter.您可以指定DistParameter只有当距离“seuclidean”'minkowski',或“mahalanobis”

例子

全部收缩

计算观察成对之间的欧几里德距离,并使用距离向量转换为矩阵squareform

用三个观察值和两个变量创建一个矩阵。

rng (“默认”%的再现性X =兰德(3 2);

计算欧氏距离。

D = pdist (X)
D =1×30.2954 1.0670 0.9448

成对的距离按(2,1),(3,1),(3,2)排列。你可以很容易地确定观测之间的距离一世j通过使用squareform

Z = squareform (D)
Z =3×30 0.2954 1.0670 0.2954 0 0.9448 1.0670 0.9448 0

squareform返回一个对称矩阵Z (i, j)对应于观察之间的成对距离一世j.例如,你可以找到观察2和3之间的距离。

Z(2、3)
ans = 0.9448.

经过Z.到了squareform函数来重现Pdist.功能。

y = squareform (Z)
y =1×30.2954 1.0670 0.9448

产出ysquareformD.Pdist.都是一样的。

用三个观察值和两个变量创建一个矩阵。

rng (“默认”%的再现性X =兰德(3 2);

用默认指数2计算Minkowski距离。

D1 = pdist (X,'minkowski'
D1 =1×30.2954 1.0670 0.9448

计算指数为1的Minkowski距离,它等于城市街区距离。

D2 = pdist (X,'minkowski', 1)
D2 =1×30.3721 1.5036 1.3136
d3 = pdist(x,“cityblock”
D3 =1×30.3721 1.5036 1.3136

定义一个忽略坐标的自定义距离函数值,并使用自定义距离函数计算成对距离。

用三个观察值和两个变量创建一个矩阵。

rng (“默认”%的再现性X =兰德(3 2);

假设第一个观察点的第一个元素不见了。

X(1,1) =南;

计算欧氏距离。

D1 = pdist (X)
D1 =1×3南南0.9448

如果观察一世j包含值,函数Pdist.回报对于成对的距离一世j.因此,D1(1)和D1(2),成对距离(2,1)和(3,1)是值。

定义一个自定义距离函数nanyucdist.忽略坐标值并返回欧几里德距离。

函数D2 = naneucdist (XI, XJ)%NANEUCDIST欧几里德距离忽略与nan的坐标n =大小(XI, 2);sqdx = (xi xj) ^ 2;nstar =总和(~ isnan (sqdx), 2);%不包含NAN的成对数nstar(nstar == 0)= nan;%如果所有对都包含NaN,则返回NaND2squared =总和(sqdx 2“omitnan”)。* n./nstar;%修正缺失的坐标D2 =√D2squared);

计算距离nanyucdist.通过传递函数句柄作为输入参数Pdist.

D2 = pdist (X, @naneucdist)
D2 =1×30.3974 1.1538 0.9448

输入参数

全部收缩

输入数据,指定为大小的数字矩阵m——- - - - - -N.行对应于单个观察结果,列对应于单个变量。

数据类型:|

如下表所述,指定为字符向量,字符串标量或函数句柄的距离度量。

价值 描述
'euclidean'

欧氏距离(默认)。

'squareduclidean'

平方欧氏距离。(提供这个选项只是为了提高效率。不满足三角形不等式)

“seuclidean”

标准化的欧氏距离。每个观测值之间的坐标差通过除以对应的标准差元素进行缩放,s = std(x,'omitnan').用DistParameter的另一个值S.

“mahalanobis”

使用样本协方差的Mahalanobis距离XC = COV(x,'omitrows').用DistParameter的另一个值C,其中矩阵C是对称的和正定的。

“cityblock”

城市街区的距离。

'minkowski'

Minkowski距离。默认指数为2.使用DistParameter指定不同的指数P.,在那里P.是指数的正标量值。

'chebbychev'

Chebychev距离(最大坐标差异)。

'余弦'

1减去点间夹角的余弦值(当作向量处理)。

“相关”

一个减去点之间的样本相关性(作为值序列)之间的样本相关性。

'汉明'

汉明距离,是不同坐标的百分比。

“jaccard”

1减去Jaccard系数,它是不同的非零坐标的百分比。

“枪兵”

一个减去样本Spearman的观察之间的秩相关性(视为值序列)。

@distfun

自定义距离功能句柄。距离功能具有表单

函数d2 = distfun(zi,zj)%计算距离...
在哪里

  • 是一个1——- - - - - -N载体含有单个观察。

  • ZJ是一个M2——- - - - - -N包含多重观测的矩阵。distfun必须接受矩阵ZJ具有任意数量的观察。

  • D2是一个M2——- - - - - -1距离矢量,和D2 (k)是观察之间的距离ZJ (k,:)

如果数据不是稀疏的,通常可以使用内置的距离而不是函数句柄更快地计算距离。

定义,请参阅距离度量

当你使用“seuclidean”'minkowski',或“mahalanobis”,你可以指定一个额外的输入参数DistParameter控制这些指标。您还可以使用这些指标,就像使用缺省值为的其他指标一样DistParameter

例子:'minkowski'

距离度量参数值,指定为正标量,数字矢量或数字矩阵。此参数仅在指定时有效距离作为“seuclidean”'minkowski',或“mahalanobis”

  • 如果距离“seuclidean”DistParameter是每个维度的比例因子向量,指定为正向量。默认值为std(x,'omitnan')

  • 如果距离'minkowski'DistParameter为闵可夫斯基距离的指数,指定为一个正标量。缺省值是2。

  • 如果距离“mahalanobis”DistParameter是协方差矩阵,指定为数值矩阵。默认值为X (X, omitrows)DistParameter必须是对称和积极的明确。

例子:'Minkowski',3

数据类型:|

输出参数

全部收缩

成对距离,作为数字行向量的长度返回mm-1)/2,对应于观测对,其中m是观察人数X

距离按顺序排列(2,1),(3,1),...,(m,1),(3,2),......,(m, 2),…, (mm-1),即,左侧三角形m——- - - - - -m距离矩阵按列顺序排列。观测值之间的成对距离一世j是在D((I-1)*(M-I / 2)+ J-I)为了一世j

您可以转换D.变成一个对称矩阵squareform功能。Z = squareform (D)返回一个m——- - - - - -m矩阵Z (i, j)对应于观察之间的成对距离一世j

如果观察一世j包含s,那么相应的价值D.对于内置距离函数。

D.通常用作聚类或多维缩放中的异化矩阵。有关详细信息,请参阅分层群集和函数参考页cmdscaleCOPHENET.连锁mdscale.,OptimAlleafOrder..这些功能需要D.作为输入参数。

更多关于

全部收缩

距离度量

距离度量是定义两个观测值之间距离的函数。Pdist.万博1manbetx支持各种距离指标:欧几里德距离,标准化的欧几里德距离,马哈拉诺比斯距离,城市块距离,Minkowski距离,Chebychev距离,余弦距离,相关距离,汉明距离,Jactard距离和矛盾距离。

给定一个m——- - - - - -N数据矩阵X,被视为m(1-by-N)行向量X1X2、……Xm,向量之间的不同距离XS.XT.定义如下:

  • 欧氏距离

    D. S. T. 2 = X S. X T. X S. X T. '

    欧几里德距离是闵可夫斯基距离的一种特殊情况,其中P.= 2

  • 标准化的欧几里得距离

    D. S. T. 2 = X S. X T. V. 1 X S. X T. '

    在哪里V.N——- - - - - -N对角线矩阵谁j第对角元素为(S.j)))2,在那里S.是每个维度的比例因子向量。

  • Mahalanobis距离

    D. S. T. 2 = X S. X T. C 1 X S. X T. '

    在哪里C是协方差矩阵。

  • 城市街区的距离

    D. S. T. = j = 1 N | X S. j X T. j |

    城市街区距离是Minkowski距离的特殊情况,在哪里P.= 1

  • 闵可夫斯基距离

    D. S. T. = j = 1 N | X S. j X T. j | P. P.

    对于特殊情况P.= 1,闵可夫斯基距离表示城市街区的距离。对于特殊情况P.= 2,闵可夫斯基距离给出欧几里德距离。对于特殊情况P.=∞,闵可夫斯基距离等于切比雪夫距离。

  • Chebychev距离

    D. S. T. = 最大限度 j { | X S. j X T. j | }

    切比雪夫距离是闵可夫斯基距离的特例,其中P.=∞

  • 余弦距离

    D. S. T. = 1 X S. X ' T. X S. X ' S. X T. X ' T.

  • 相关距离

    D. S. T. = 1 X S. X ¯ S. X T. X ¯ T. ' X S. X ¯ S. X S. X ¯ S. ' X T. X ¯ T. X T. X ¯ T. '

    在哪里

    X ¯ S. = 1 N j X S. j X ¯ T. = 1 N j X T. j

  • 汉明距离

    D. S. T. = X S. j X T. j / N

  • jaccard距离

    D. S. T. = [ X S. j X T. j X S. j 0. X T. j 0. ] [ X S. j 0. X T. j 0. ]

  • 斯皮尔曼的距离

    D. S. T. = 1 R. S. R. ¯ S. R. T. R. ¯ T. ' R. S. R. ¯ S. R. S. R. ¯ S. ' R. T. R. ¯ T. R. T. R. ¯ T. '

    在哪里

    • R.sj是军衔Xsj接管X1jX2j, ...X乔丹,如图所示tiedrank

    • R.S.R.T.是坐标 - 明智的等级矢量XS.XT., IE。,R.S.=(R.S.1R.S.2, ...R.sn)。

    • R. ¯ S. = 1 N j R. S. j = N + 1 2

    • R. ¯ T. = 1 N j R. T. j = N + 1 2

扩展功能

之前介绍过的R2006a