主要内容

pdist

成对观测值之间的距离

描述

例子

D= pdist (X返回观测值对之间的欧氏距离X

例子

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

例子

D= pdist (X距离DistParameter属性指定的方法返回距离距离而且DistParameter.你可以指定DistParameter只有当距离“seuclidean”闵可夫斯基的,或“mahalanobis”

例子

全部折叠

计算观测值对之间的欧氏距离,并将距离向量转换为使用的矩阵squareform

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

rng (“默认”%用于再现性X = rand(3,2);

计算欧氏距离。

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

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

Z =方形(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

通过Zsquareform函数的输出pdist函数。

y =方形(Z)
y =1×30.2954 1.0670 0.9448

输出ysquareform而且Dpdist都是一样的。

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

rng (“默认”%用于再现性X = rand(3,2);

用默认指数2计算闵可夫斯基距离。

D1 = pdist(X,闵可夫斯基的
D1 =1×30.2954 1.0670 0.9448

用指数1计算闵可夫斯基距离,它等于城市街区距离。

D2 = pdist(X,闵可夫斯基的, 1)
D2 =1×30.3721 1.5036 1.3136
D3 = pdist(X,“cityblock”
D3 =1×30.3721 1.5036 1.3136

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

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

rng (“默认”%用于再现性X = rand(3,2);

假设第一个观察的第一个元素缺失了。

X(1,1) = NaN;

计算欧氏距离。

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

如果观察j包含值,函数pdist返回对于它们之间的成对距离而且j.因此,成对距离(2,1)和(3,1)D1(1)和D1(2)为值。

定义一个自定义距离函数naneucdist它忽略了值并返回欧几里得距离。

函数忽略与nan坐标的欧氏距离Nstar = sum(~isnan(sqdx),2);%不包含nan的对个数nstar(nstar == 0) = NaN;如果所有对都包含NaN则返回NaND2squared = sum(sqdx,2,“omitnan”)。* n / nstar;%对缺失坐标的修正D2 =根号下(D2平方);

计算距离naneucdist通过将函数句柄作为的输入参数传递pdist

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

输入参数

全部折叠

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

数据类型:|

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

价值 描述
“欧几里得”

欧式距离(默认值)。

“squaredeuclidean”

欧式距离的平方。(此选项仅为提高效率而提供。它不满足三角形不等式。)

“seuclidean”

标准化欧氏距离。观测值之间的每个坐标差都通过除以相应的标准偏差元素来缩放,S = std(X,'omitnan').使用DistParameter为指定另一个值年代

“mahalanobis”

的样本协方差的马氏距离XC = cov(X,'omitrows').使用DistParameter为指定另一个值C,其中矩阵C是对称且正定的。

“cityblock”

城市街区距离。

闵可夫斯基的

闵可夫斯基距离。默认指数为2。使用DistParameter指定一个不同的指数P,在那里P是指数的正标量值。

“chebychev”

切比雪夫距离(最大坐标差)。

的余弦

1减去点间夹角的余弦(作为向量)。

“相关”

1减去点之间的样本相关性(作为值序列处理)。

“汉明”

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

“jaccard”

1减去杰卡德系数,也就是非零坐标的百分比。

“枪兵”

1减去观测值之间的样本斯皮尔曼秩相关(被视为值序列)。

@distfun

自定义距离函数句柄。距离函数有这样的形式

函数D2 = distfun(ZI,ZJ)距离计算%...
在哪里

  • 是一个1——- - - - - -n包含单个观测值的向量。

  • ZJ是一个平方米——- - - - - -n包含多个观测值的矩阵。distfun必须接受一个矩阵ZJ用任意数量的观测值。

  • D2是一个平方米——- - - - - -1距离向量,和D2 (k)观测值之间的距离是多少而且ZJ (k,:)

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

有关定义,请参见距离度量

当你使用“seuclidean”闵可夫斯基的,或“mahalanobis”,您可以指定一个额外的输入参数DistParameter控制这些指标。您还可以以与其他缺省值相同的方式使用这些指标DistParameter

例子:闵可夫斯基的

距离度量参数值,指定为正标量、数值向量或数值矩阵。此参数仅在指定时有效距离作为“seuclidean”闵可夫斯基的,或“mahalanobis”

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

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

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

例子:闵可夫斯基,3

数据类型:|

输出参数

全部折叠

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

这些距离按(2,1),(3,1),…, (,1),(3,2),…, (, 2),…, (的左下三角形,即——- - - - - -列式距离矩阵。观测值之间的成对距离而且j是在D((张)* (m i / 2) + j-i)j

你可以转换D变成一个对称矩阵squareform函数。Z =方形(D)返回一个——- - - - - -矩阵Z (i, j)对应于观测值之间的成对距离而且j

如果观察j包含S中对应的值D对于内置的距离函数。

D通常用作聚类或多维缩放中的不相似矩阵。详细信息请参见分层聚类和函数参考页cmdscalecophenet链接mdscale,optimalleaforder.这些函数需要D作为输入参数。

更多关于

全部折叠

距离度量

距离度量是定义两个观测值之间距离的函数。pdist金宝app支持各种距离度量:欧几里得距离、标准化欧几里得距离、马氏距离、城市街区距离、闵可夫斯基距离、切比雪夫距离、余弦距离、相关距离、汉明距离、杰卡德距离和斯皮曼距离。

给定一个——- - - - - -n数据矩阵X,则视为(1 -n)行向量x1x2、……x,向量之间的不同距离x年代而且xt定义如下:

  • 欧氏距离

    d 年代 t 2 x 年代 x t x 年代 x t

    欧几里得距离是闵可夫斯基距离的一个特例,其中p= 2

  • 标准化欧氏距离

    d 年代 t 2 x 年代 x t V 1 x 年代 x t

    在哪里Vn——- - - - - -n对角矩阵j第Th对角线元素为(年代j))2,在那里年代是每个维度的比例因子的向量。

  • Mahalanobis距离

    d 年代 t 2 x 年代 x t C 1 x 年代 x t

    在哪里C是协方差矩阵。

  • 城市街区距离

    d 年代 t j 1 n | x 年代 j x t j |

    城市街区距离是闵可夫斯基距离的一个特例,其中p= 1

  • 闵可夫斯基距离

    d 年代 t j 1 n | x 年代 j x t j | p p

    对于特殊情况p= 1,闵可夫斯基距离为街区距离。对于特殊情况p= 2,闵可夫斯基距离为欧几里得距离。对于特殊情况p=∞,闵可夫斯基距离为切比雪夫距离。

  • Chebychev距离

    d 年代 t 马克斯 j | x 年代 j x t j |

    切比雪夫距离是闵可夫斯基距离的一种特殊情况,其中p=∞

  • 余弦距离

    d 年代 t 1 x 年代 x t x 年代 x 年代 x t x t

  • 相关距离

    d 年代 t 1 x 年代 x ¯ 年代 x t x ¯ t x 年代 x ¯ 年代 x 年代 x ¯ 年代 x t x ¯ t x t x ¯ t

    在哪里

    x ¯ 年代 1 n j x 年代 j 而且 x ¯ t 1 n j x t j

  • 汉明距离

    d 年代 t x 年代 j x t j / n

  • Jaccard距离

    d 年代 t x 年代 j x t j x 年代 j 0 x t j 0 x 年代 j 0 x t j 0

  • 斯皮尔曼的距离

    d 年代 t 1 r 年代 r ¯ 年代 r t r ¯ t r 年代 r ¯ 年代 r 年代 r ¯ 年代 r t r ¯ t r t r ¯ t

    在哪里

    • rsjxsj接管x1jx2j,……x乔丹,按tiedrank

    • r年代而且rt的坐标秩向量是x年代而且xt,也就是说,r年代= (r年代1r年代2,……rsn).

    • r ¯ 年代 1 n j r 年代 j n + 1 2

    • r ¯ t 1 n j r t j n + 1 2

扩展功能

R2006a之前介绍