主要内容

Pdist.

对观察成对之间的成对距离

描述

例子

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

例子

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

例子

D.= pdist(X距离distparameter.使用指定的方法返回距离距离distparameter.。您可以指定distparameter.只有当距离'seuclidean''minkowski', 或者'mahalanobis'

例子

全部收缩

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

创建具有三个观察和两个变量的矩阵。

RNG('默认'重复性的%x = rand(3,2);

计算欧几里德距离。

d = pdist(x)
d =1×3.0.2954 1.0670 0.9448

成对距离按顺序(2,1),(3,1),(3,2)排列。您可以轻松找到观察之间的距离一世j通过使用方形

z =方形格式(d)
z =3×30 0.2954 1.0670 0.2954 0 0.9448 1.0670 0.9448 0

方形返回一个对称矩阵在其中Z(i,j)对应于观察之间的成对距离一世j。例如,您可以找到观察到2和3之间的距离。

Z(2,3)
ans = 0.9448.

经过Z.到了方形复制输出的功能Pdist.功能。

Y = SquareForm(Z)
y =1×3.0.2954 1.0670 0.9448

产出y方形D.Pdist.是相同的。

创建具有三个观察和两个变量的矩阵。

RNG('默认'重复性的%x = rand(3,2);

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

d1 = pdist(x,'minkowski'
D1 =1×3.0.2954 1.0670 0.9448

使用1的指数计算Minkowski距离,其等于城市块距离。

d2 = pdist(x,'minkowski'1)
D2 =1×3.0.3721 1.5036 1.3136
d3 = pdist(x,'城市街区'
D3 =1×3.0.3721 1.5036 1.3136

定义自定义距离函数,忽略坐标使用自定义距离功能计算成对距离。

创建具有三个观察和两个变量的矩阵。

RNG('默认'重复性的%x = rand(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 = sum(〜isnan(sqdx),2);%不包含NAN的成对数nstar(nstar == 0)= nan;如果所有对包括NANS,则返回NANd2squared = sum(sqdx,2,'omitnan')。* n./nstar;丢失坐标的%校正d2 = sqrt(d2squared);

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

d2 = pdist(x,@ naneucdist)
D2 =1×3.0.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是对称和积极的明确。

'城市街区'

城市街区距离。

'minkowski'

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

'chebbychev'

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

'余弦'

一个减去点之间的晶的角度(视为载体)之间的余弦。

'相关性'

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

'汉明'

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

'jaccard'

一个减去Jaccard系数,这是非零坐标的百分比。

“矛曼”

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

@DISTFUN

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

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

  • Zi.是A.1-经过-N载体含有单个观察。

  • ZJ.是一个M2-经过-N矩阵包含多个观察。DISTFUN必须接受矩阵ZJ.具有任意数量的观察。

  • D2是一个M2-经过-1距离矢量,和D2(k)是观察之间的距离Zi.zj(k,:)

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

有关定义,请参阅距离指标

当你使用时'seuclidean''minkowski', 或者'mahalanobis',您可以指定其他输入参数distparameter.控制这些指标。您还可以以与具有默认值相同的指标使用这些指标distparameter.

例子:'minkowski'

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

  • 如果距离'seuclidean'distparameter.是每个维度的缩放因子的矢量,指定为正矢量。默认值是std(x,'omitnan')

  • 如果距离'minkowski'distparameter.是Minkowski距离的指数,指定为正标量。默认值为2。

  • 如果距离'mahalanobis'distparameter.是一个协方差矩阵,指定为数字矩阵。默认值是COV(x,'omitrows')distparameter.必须是对称和积极的明确。

例子:'Minkowski',3

数据类型:单身的|双倍的

输出参数

全部收缩

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

距离按顺序排列(2,1),(3,1),...,(m,1),(3,2),......,(m,2),......,(mm-1),即,左侧三角形m-经过-m列顺序中的距离矩阵。观察之间的成对距离一世jD((I-1)*(M-I / 2)+ J-I)为了一世≤.j

你可以转换D.通过使用通过的对称矩阵方形功能。z =方形格式(d)返回A.m-经过-m矩阵在哪里Z(i,j)对应于观察之间的成对距离一世j

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

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

更多关于

全部收缩

距离指标

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

给予A.m-经过-N数据矩阵X,被视为m(1-by-N)行向量X1X2,......,Xm,矢量之间的各种距离XS.XT.定义如下:

  • 欧几里德距离

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

    欧几里德距离是Minkowski距离的特殊情况,在哪里P.= 2

  • 标准化的欧几里德距离

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

    在哪里V.是个N-经过-N对角线矩阵谁jth对角形元素是(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

  • Minkowski距离

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

    对于特例P.= 1,Minkowski距离给出了城市街区距离。对于特例P.= 2,Minkowski距离给出了欧几里德距离。对于特例P.=∞,Minkowski距离给出了Chebychev距离。

  • Chebychev距离

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

    Chebychev距离是Minkowski距离的特殊情况,在哪里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,......XMJ.,如图所示Tiedrank.

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

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

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

扩展能力

在R2006A之前介绍