知识库 > 数学方法 > 多元统计分析

距离计算    

  •     常见的距离有以下几种:
        绝对值距离(cityblock):
         
        欧式距离(euclidean):
        
        闵可夫斯基(minkowski):
        
        切比雪夫(Chebychev):
         
        马氏距离(Mahalanobis):
        
        是样本协方差矩阵
        兰氏距离(canberra):
        
        方差加权距离
        
        

        定义:Distance(x:array,y:array,name:integer):array;
        说明:计算样本和样本间的距离或样本数据观测矩阵的距离矩阵,其中距离包括欧氏距离,欧氏距离平方,方差加权距离,Chebychev距离,Block距离,夹角余弦,广义距离
        Distance(x,y,name)
        计算样本和样本间的距离,x,y为一维数组
        Distance(x,name)
        计算样本矩阵的距离矩阵,x为二维数组,样本矩阵,每一行为一个样本
        参数:
        x:样本数据观测矩阵或样本数据,一维或二维数字数组
        y:样本数据,一维数字数组
        name:距离方式,为一整数或字符串,输入参考表5-2
        p:minkowski的p值或马氏距离协方差的估计,或方差加权距离标准差的估计
        

    距离类别数字标示字符串标示
    欧氏距离1euclidean
    欧氏距离平方2sqeuclidean
    方差加权距离3seuclidean
    Chebychev距离4Chebychev
    Block距离(绝对值距离)5cityblock
    夹角余弦(1减去夹角余弦平方 然后开方)6cosine
    广义距离(1减去相关系数)7Generalized
    马氏距离8Mahalanobis
    Minkowski距离9Minkowski

        

        x := Array(22,35,24,32,43,53);
        y := Array(1,2,3,4,5,6);
        name := 'euclidean';  //采用欧式距离;
        return Distance(x,y,name);