主要内容

pdist

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

描述

例子

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

例子

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

例子

D= pdist (X距离DistParameter使用指定的方法返回距离距离DistParameter.您可以指定DistParameter只有当距离“seuclidean”闵可夫斯基的,或“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

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

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

输出ysquareformDpdist都是一样的。

创建一个带有三个观察值和两个变量的矩阵。

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

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

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 =兰德(3 2);

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

X(1,1) =南;

计算欧几里得距离。

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

如果观察j包含值,函数pdist返回成对的距离j.因此,D1(1)和D1(2),即成对距离(2,1)和(3,1)为值。

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

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

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

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

输入参数

全部折叠

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

数据类型:|

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

价值 描述
“欧几里得”

欧氏距离(默认)。

“squaredeuclidean”

平方欧氏距离。(此选项仅用于提高效率。它不满足三角形不等式)

“seuclidean”

标准化的欧氏距离。观测值之间的每个坐标差除以相应的标准差,S =性病(X, omitnan).使用DistParameter为指定另一个值年代

“mahalanobis”

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

“cityblock”

城市街区的距离。

闵可夫斯基的

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

“chebychev”

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

的余弦

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

“相关”

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

“汉明”

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

“jaccard”

1减去雅卡尔系数,雅卡尔系数是不同的非零坐标的百分比。

“枪兵”

1减去观察值之间的样本斯皮尔曼等级相关性(作为值的序列处理)。

distfun

自定义距离功能手柄。距离函数有这样的形式

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

  • 是一个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),(2),…, (, 2),…, (-1),即左下角的三角形——- - - - - -按列顺序排列的距离矩阵。观察值之间的成对距离j是在D((张)* (m i / 2) + j-i)j

您可以转换D转化为对称矩阵squareform函数。Z = squareform (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