R语言第三章相关性与相似性度量.docx
- 文档编号:9425465
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:19
- 大小:111.08KB
R语言第三章相关性与相似性度量.docx
《R语言第三章相关性与相似性度量.docx》由会员分享,可在线阅读,更多相关《R语言第三章相关性与相似性度量.docx(19页珍藏版)》请在冰豆网上搜索。
R语言第三章相关性与相似性度量
第三章相关性与相似性度量
本章介绍数据属性的相关性、数据对象的相似性度量方法。
本章的主要内容是:
数据对象相似性和数据属性相关性的概念;数据属性相关性的度量方法;数据对象相似性度量的方法;相关性和相似性的R软件操作。
第一节数据属性相关性度量
一、相关性与相似性
数据对象通常由多个数据属性描述,一个数据集中的所有数据对象通常都具有相同的属性集;因此,每个数据对象可以看作多维空间中的点(向量),其中每个维代表对象的一个不同属性。
这样的数据集可以用一个n×p的数据矩阵表示,其中n行表示n个对象,p列表示p个属性,如图3-1所示。
图3-1数据矩阵
数据矩阵表示的数据集中,Xij表示第i个对象的第j个属性值;向量Xi=(Xi1,Xi2,…,Xip)表示对象Xi(称为对象i),每一个分量表示对象i的不同属性取值;向量Yj=(Y1j,Y2j,…,Ynj)表示属性Yj(称为属性j),每一个分量表示属性j的不同对象取值。
在第二章,考察了数据的中心趋势、离散程度以及偏度和峰度等一维属性特征。
然而,在许多数据分析会涉及到数据对象的相似性和数据属性的相关性,如聚类分析、异常点检测、最邻近分类等。
数据属性的相关性和数据对象的相似性可以统一称为邻近性。
邻近性的度量常常包含许多主观上的考虑,如属性的性质(离散、连续以及二元性、稀疏性)、测量的尺度(定名的、定序的、定距的、定比的)和属性的重要性程度等。
数据属性的邻近性称为相关性,数据对象的邻近性称为相似性。
数据属性的相关性用相关系数来描述,数据对象的相似性通常由某种距离度量。
由于数据属性的类型不同,数据属性相关性度量的指标可以分为相合系数、等级相关系数、简单相关系数、夹角余弦和相关指数。
二、相合系数
(一)二元属性相关性
对于两个二元分类属性之间的相关性可以用相合系数来度量。
二元分类属性只有两个类别或状态:
0或1,其中0表示该属性不出现,1表示出现。
二元属性又称为布尔属性,用true和false来表示两个属性值。
如用0表示被调查者不抽烟、1表示被调查者抽烟;用0表示被调查者没有患肺部、1表示被调查者患肺癌。
为研究吸烟与患肺癌的关系,随机抽取了n个被调查者,得到是否吸烟与是否患肺癌这两个二元属性的频数列联表如表3-1。
表3-1吸烟与患肺癌人数分类
患肺癌
吸烟
是
(1)
期望
否(0)
期望
合计
是
(1)
n11
π11
n12
π12
n1.
否(0)
n21
π21
n22
π22
n2.
合计
n.1
n.2
n
表中期望为属性相互独立时的理论频数,即:
根据表3-1中的数据度量是否吸烟与是否患肺癌的关系可以利用Yule提出的相合系数:
很明显,两个二元属性的Q相合系数的取值范围为[-1,+1],并且Q有如下性质:
1、Q=1↔n12n21=0↔n12=0或n21=0;
2、Q=-1↔n11n22=0↔n11=0或n22=0;
3、Q=0↔n11n22=n12n21,两个属性相互独立。
从上可知,只要两个二元属性在某个属性值上完全相关联Q相合系数的绝对值就等于1;显然,Q相合系数存在一定的缺陷。
φ相合系数是一种更常见的度量二元属性之间相关性的指标:
显然,两个二元属性的φ相合系数的取值范围为[-1,+1],并且φ有如下性质:
1、φ=1↔n12n21=0↔n12=0且n21=0,两个属性完全相关;
2、φ=-1↔n11n22=0↔n11=0且n22=0,两个属性完全相关;
3、φ=0↔n11n22=n12n21,两个属性相互独立。
(二)多元属性相关性
对于多元分类属性之间的相关性可以利用χ2统计量进行度量,χ2统计量是根据属性值的观测频数和期望频数计算:
对于R×C的列联表,克莱默(Gramer)提出的V相合系数为:
显然,两个二元属性的V相合系数的取值范围为[0,1],并且V有如下性质:
1、V=1↔两个属性完全相关;
2、V=0↔两个属性相互独立。
实际上φ相合系数是V相合系数的特殊情况;如果2×2列联表(两个二元属性),V相合系数就等于φ相合系数。
三、等级相关系数
对于定序的分类属性之间的相关性可以用斯皮尔曼等级相关系数、Gamma统计量、Kendall´sTau-b等相关指标来度量。
(一)斯皮尔曼等级相关系数
定序属性的顺序等级可以用1,2,…,n表示,两个定序属性的等级相关系数为:
式中,di为对象i的两个定序属性的顺序等级差。
显然,两个定序属性的等级相关系数rs的取值范围为[-1,+1],并且rs有如下性质:
1、rs=1↔两个属性完全正相关;
2、rs=-1↔两个属性完全负相关;
3、rs=0↔两个属性不相关。
等级相关系数的度量要求n个数据对象的两个属性都分别不重复地属于1,2,…,n的各个等级。
若数据对象的属性出现相同的等级,可以用相同等级对象所在位置秩次的简单算术平均数作为这些对象相应的等级近似计算两个定序属性的等级相关系数。
(二)Gamma统计量
对于n个数据对象的两个定序属性的相关性可以利用n个对象两两之间定序属性一致对子数P和不一致对子数Q来度量。
所谓一致对子就是一属性的等级高另一属性的等级也高,所谓不一致对子就是一属性的等级高另一属性的等级低。
Gamma统计量的计算公式为:
显然,两个定序属性的Gamma统计量的取值范围为[-1,+1],并且γ有如下性质:
1、γ=1↔两个属性完全正相关;
2、γ=-1↔两个属性完全负相关;
3、γ=0↔两个属性不相关。
(三)Kendall´sTau-b系数
Kendall´sTau-b系数也是以一致对子数P和不一致对子数Q来度量,介绍该系数前先引入τa系数:
理论上的τa系数的取值范围为[-1,+1],但是当数据对象的定序属性相同等级太多时,会使其极大值与极小值不能达到±1,为此在分母上进行校正。
Kendall´sTau-b系数是对τa系数的校正,以保证取值能达到±1,计算公式为:
其中:
;
,tk为属性x的第k个取值的数据对象数;
,ul为属性y的第l个取值的数据对象数。
另外,除Kendall´sTau-b系数,还有更为复杂的Kendall´sTau-c系数、Somers´D系数,这里不再给出。
四、简单相关系数和夹角余弦
对于数值属性之间的相关性可以皮尔森(Pearson)简单相关系数和夹角余弦来度量。
(一)简单相关系数
两个数值属性X、Y的简单相关系数为:
其中,n为数据对象的个数。
显然,两个数值属性的简单相关系数r的取值范围为[-1,+1],并且r有如下性质:
1、r=1↔两个属性完全正相关;
2、r=-1↔两个属性完全负相关;
3、r=0↔两个属性不相关。
简单相关系数仅仅是两个数值属性线性关系程度的度量,可以证明等级相关系数是简单相关系数的特例。
简单相关系数不能描述非线性关系;两个数值属性的非线性关系可以用相关指数等其他指标度量。
相关指数也就是对非线性回归模型进行拟合时所得到的可决系数,在此不作深入探讨。
(二)夹角余弦
对于两个数值属性之间的相关性还可以用夹角余弦来度量。
图3-2相似形
夹角余弦是受相似形的启发而来,如图3-2中的曲线AB和CD尽管长度不一致、但是形状相似,当长度不是主要矛盾时,应定义一种相似系数使AB和CD呈现出比较密切的关系。
两个数值属性X、Y的夹角余弦为:
其中,n为数据对象的个数。
显然,两个数值属性的夹角余弦C的取值范围为[-1,+1],并且C有如下性质:
1、C=1↔两个属性完全正相关;
2、C=-1↔两个属性完全负相关;
3、C=0↔两个属性不相关。
显然,简单相关系数是夹角余弦的特例,两个数值属性的简单相关系数是标准化后的夹角余弦。
第二节数据对象相似性度量
一、数据对象的邻近度
(一)数据对象的邻近度
两个数据对象的邻近度是两个数据对象对应属性之间的邻近度的函数。
由于数据对象通常由多个属性描述,因此首先要讨论公包含一个简单属性的对象之间的邻近度,然后考虑具有多个属性的对象的邻近度度量。
包含单个属性的对象之间邻近度度量相对简单,但包含多个属性的对象之间的邻近度度量涉及到属性标准化、属性相关性、异种属性邻近度的组合、组合的权值以及各种邻近度度量方法的选择等问题。
(二)相似性和相异性
数据对象的邻近度通常用数据对象的相似性程度度量,两个对象越相似,它们的相似度越高;通常相似度是非负的,并且常常在0-1之间取值。
数据对象的邻近度有时也通过数据对象的相异性程度来度量。
两个数据对象的相异度是这两个数据对象差异程度的数值度量;对象越相似,它们的相异度越低。
通常距离用作相异度的同义词,实际上距离常常用来表示数据对象数值属性之间的相异度。
相异度有时在0-1之间取值,但也常常在0-∞之间取值。
相似度与相异度常常相互转换,并且常常将邻近度变换到一个特定区间,如0-1。
变换的方法一般有线性变换与非线性变换之分,变换也可能会改变邻近度的含义,在后面的章节将会较深入讨论。
二、具有单个属性的数据对象相似性
通常,具有若干属性的数据对象之间的邻近度用单个属性的邻近度的组合来定义,因此首先讨论具有单个属性的数据对象之间的邻近度。
1、由一个定类属性描述的数据对象相似性
由于定类属性只携带了对象的相异性信息,只能说由一个定类属性描述的两个数据对象有或者没有相同的值。
因此,如果两个数据对象的这个定类属性的值匹配,则这两个数据对象相似度定义为1,否则为0;相异度用相反的方法定义,如果属性值匹配,相异度为0,否则为1。
2、由一个定序属性描述的数据对象相似性
对于具有单个定序属性的数据对象,必须考虑序的信息。
如某城市300名住户对住房状况的评价是在标度{非常不满意、不太满意、一般、基本满意、很满意}上测量的定序属性。
显然,一个评定为很满意的住户P1与一个评定为基本满意的住户P2在住房状况上的相似度应当比一个评定为很满意的住户P1与一个评定为一般的住户P3在住房状况上的相似度高。
为了量化具有单个定序属性的数据对象的相似性,定序属性的值常常映射到从0或1的相继整数,例如,{非常不满意=0、不太满意=1、一般=2、基本满意=3、很满意=4}。
于是,P1与P2之间的相异度d(P1,P2)=4-3=1、P1与P3之间的相异度d(P1,P3)=4-2=2;如果希望相异度在0-1之间取值,可以利用线性变换d(P1,P2)=(4-3)/4=0.25、d(P1,P3)=(4-2)/4=0.5。
两个数据对象相似性程度可以由相异度线性转换计算s=1-d。
3、由一个数值属性描述的数据对象相似性
对于由一个定距或定比的数值属性描述的两个数据对象的相异性的自然度量是它们在这个属性的取值的差。
例如,如两个居民家庭的年收入相差20000元。
在这种情况下,相异度通常在0-∞之间、而不是在0-1之间取值。
此时,两个数据对象相似性程度可以由相异度非线性转换计算s=1/(1+d)。
表3-2总结了具有单个属性的数据对象的邻近度的常用度量方法。
表中,对于X和Y两个数据对象,它们具有一个指明类型的属性,d(X,Y)和s(X,Y)分别表示X和Y之间的相异度和相似度。
表3-2具有单个属性的数据对象相似度和相异度
属性类型
相异度d
相似度s
定类
定序
数值
表中:
定序属性的值映射到从0-K的相继整数,max_d、min_d表示所有数据对象之间相异度的最大值与最小值。
三、具有多个属性的数据对象相似性
具有若干属性的两个数据对象之间的邻近度通常用单个属性的邻近度的组合来定义,一般先将两个数据对象相同类型属性的邻近度进行组合、然后再将不同类型属性的组合邻近度进行再组合得到两个数据对象总的邻近度度量结果。
两个数据对象相同类型属性的邻近度组合方法包括Jaccard系数、距离、相关系数和余弦相似性等度量方法。
(一)具有多个分类属性的数据对象相似性
1、简单匹配系数
定类属性可以取两个或多个状态。
设一个定类属性的状态数目为M,如商品的颜色有红、黄、绿、白和蓝,则M=5。
对于由p个定类属性刻画的数据对象i和j之间的相异性可以根据不匹配率来计算:
其中,m为数据对象i和j匹配的属性数目。
相似度可以用下式计算简单匹配系数:
多个定类属性刻画的数据对象之间的邻近度也可以通过能定类属性的编码来计算。
定类属性可以按以下编码转换为非对称的二元属性编码:
对M种状态的每个状态创建一个新的二元属性;即,对于一个具有某给定状态值的数据对象,对应的状态值的二元属性设置为1,其余的二元属性都设置为0。
例如,为了对定类属性商品的颜色进行编码,可以对上面所列的五种颜色分别创建一个二元属性,如果一个对象是黄色,则是否为黄色设置为1,其余4个属性都设置为0。
对于这种形式的编码,可以用下面讨论的方法计算邻近度。
stop
2、Jaccard系数
两个仅包含多个二元属性的数据对象之间的相似性度量需要区分二元属性是对称的和非对称的。
对于由多个对称的二元属性刻画的数据对象之间的相似性可以利用简单匹配系数来度量;此时,所有的二元属性的取值都具有相同的权重。
对于由p个二元属性刻画的数据对象i和j,按照对象i和j所有二元属性的取值构造列联表如表3-3。
表3-3二元属性列联表
对象j
对象i
1
0
合计
1
f11
f10
f1.
0
f01
f00
f2.
合计
f.1
f.2
p
根据表3-3计算的对于由p个对称的二元属性刻画的数据对象i和j之间的不匹配率为:
非对称的二元属性的两个状态结果不是同样重要的;如考虑学生对象,用属性记录学生是否选修了大学的某门课程;对于某个学生来说,如果他选修了对应某属性的课程,该属性取值1、否则取值0;由于学生只选修了所有可等候课程的很小一部分,所以数据集的大部分值为0。
此时,两个学生没有选修的课程很多都是相同的,由此计算的不匹配率都很小,即相似度都很高。
因此,关注非零值将更有意义、更有效。
忽略负匹配数f00,根据表3-3计算的对于由p个非对称的二元属性刻画的数据对象i和j之间的不匹配率为:
其中,负匹配数f00被认为是不重要的。
相似度可以用下式计算:
上式被称作Jaccard系数。
当对称的和非对称的二元属性出现在同一个数据集中时,两个数据对象相似度可以利用下面介绍的混合属性相似性度量方法计算。
(二)具有多个数值属性的数据对象相似性
1、距离
具有多个数值属性的数据对象的相异性广泛使用距离度量,包括欧几里得距离、曼哈顿距离和明可夫斯基距离等。
使用最多的距离是欧几里得距离,对于由p个数值属性刻画的数据对象i和j之间的欧几里得距离为:
另一个著名的距离度量是曼哈顿距离,也称为街区距离、绝对距离;对于由p个数值属性刻画的数据对象i和j之间的曼哈顿距离为:
明可夫斯基距离是欧几里得距离、曼哈顿距离的推广,其定义为:
其中,r为参数,r≥1;上式也称为Lr范数。
显然,L1范数为曼哈顿距离,L2范数为欧几里得距离。
当r=∞时,L∞范数为上确界距离,它是数据对象i和j之间p个数值属性之间绝对距离的最大值:
L∞范数也称为一致范数。
具有多个数值属性的数据对象相似度可以用下式计算:
欧几里得距离、曼哈顿距离具有如下性质:
(1)非负性,d(i,j)≥0,距离是一个非负数值;
(2)同一性,d(i,j)=0,数据对象到自身的距离为0;
(3)对称性,d(i,j)=d(j,i),距离是一个对称函数;
(4)三角不等式,d(i,j)≦d(i,k)+d(k,j),从数据对象i到数据对象j的距离不会大于途经任何其他对象的距离。
满足这些性质的测度称为度量(metric)。
距离的度量与数值属性的量纲有关、并且没有考虑属性之间的相关性及属性的方差是否相同;因此,距离度量之前常常先将属性规范化(在后面的章节将会较深入讨论)。
2、余弦相似度
文档用数以千计或万计的属性表示,每个属性记录文档中的一个特定词(如关键词)或短语(常常忽略常用词)的频度。
这样,每个文档可以用一个词频向量表示。
如表3-4中,文档1包含team的5个实例、hockey出现3次,而coach在整个文档中没有出现。
表3-4文档词频向量
文档
team
coach
hockey
baseball
soccer
penalty
score
win
loss
season
文档1
5
0
3
0
2
0
0
2
0
0
文档2
3
0
2
0
1
1
0
1
0
1
文档3
0
7
0
2
1
0
0
1
0
1
文档4
0
1
0
0
1
2
2
0
3
0
文档数据可能是高度非对称的,词频向量通常是稀疏的,因为每个文档都具有相对较少的非0属性值。
使用这种数据结构的应用包括信息检索、文本文档聚类、生物学分类和基因特征映射等。
对于这种稀疏的数值属性数据,度量两个数据对象(文档)之间的相似性使用距离效果并不好。
两个词频向量可能有很多公共的0值,因此,度量词频向量的相似性应当象Jaccard系数一样忽略负匹配数、只关注两个文档确实共有的词及频数。
余弦相似度是文档相似性最常用的度量之一;对于由p个数值属性刻画的数据对象i和j之间的余弦相似度为:
其中,
表示向量的点积,
是向量的长度。
显然,两个数值属性的余弦相似度的取值范围为[0,+1]。
如图3-3所示,余弦相似度实际上度量的是两个数据对象之间的夹角(余弦)。
如果余弦相似度为1,则数据对象之间的夹角为00,即除长度外,两个文档对象是相同的;如果余弦相似度为0,则数据对象之间的夹角为900,则两个文档对象不包含任何相同的词。
图3-3余弦相似性
余弦相似度不满足度量测度的所有性质,因此是一种非度量测度。
余弦相似度与数值属性的量纲无关,是一种规范化的相似性测度方法。
3、广义Jaccard系数
对于这种稀疏的数值属性数据,也可以用广义Jaccard系数度量数据对象的相似度,又称Tanimoto系数,用EJ表示。
对于由p个数值属性刻画的数据对象i和j之间的广义Jaccard系数为:
对于二元属性,用1表示是、0表示否,则EJ转变为Jaccard系数。
4、简单相关系数
对于由p个数值属性刻画的数据对象i和j之间的简单相关系数为:
显然,两个数值属性的数据对象简单相关系数r的取值范围为[-1,+1],并且r有如下性质:
1、r=1↔两个属性完全正相关;
2、r=-1↔两个属性完全负相关;
3、r=0↔两个属性不相关。
简单相关系数仅仅是两个数据对象线性关系程度的度量;简单相关系数不能描述非线性关系,数据对象数值属性之间不存在线性关系并不意味着不存在非线性关系。
(三)具有多个定序属性的数据对象相似性
定序属性的值之间具有顺序或排位,但是相继值差异大小未知。
在度量具有多个定序属性的数据对象的相似性时,通常与度量具有多个数值属性的数据对象的相似性类似。
对于由p个定序属性刻画的数据对象i和j之间的相异性或相似性计算的步骤如下:
1、将每个定序属性的值定义一个排位
设一个定序属性f的状态(值)数目为Mf,则其排位为1、2、…、Mf;
2、将数据对象的每个定序属性的取值用排位代替
第i个数据对象的定序属性f的值为Xif,在定序属性f的状态(值)中排位为rif,则rif用代替Xif;
3、将数据对象的每个定序属性的排位规范化
由于每个定序属性可能性有不同的状态数,所以通常需要将每个属性的值映射到[0,1]区间,以使每个属性都有相同的权重,规范化公式如下:
4、利用具有多个数值属性的数据对象相似性方法度量相似度
以作为第i个数据对象的定序属性f的取值计算与数据对象j的相似度。
(四)具有多个混合类型属性的数据对象相似性
前面讨论的是具有相同类型的属性描述的数据对象之间的相似度。
然而,在实际数据库中,数据对象常常是被混合类型的属性描述的;因此,当属性类型不同时度量数据类型的相似性需要更一般的方法。
一种方法是将每种类型的属性分为一组,然后利用前面介绍的方法计算两个数据对象在每种类型上的相似度,最后将不同类型的相似度综合成总的相似度。
另一种更可取的方法是将所有属性类型一起处理,只做一次分析,其步骤如下:
1、对于第k个属性,计算两个数据对象的相似度sk(i,j),并且规范化到[0,1]区间;
2、对于第k个属性,定义一个指示变量δk,如下:
δk=0,如果第k个属性是非对称的、且两个对象在该属性上的取值都为0,或者如果一个对象的第k个属性具有遗漏值;
δk=1,其他;
3、使用如下公式计算两个数据对象之间总的相似度:
四、如何正确度量数据对象相似性
1、相似性度量要与属性类型相适应;
2、度量相似性要考虑数据的稀疏性;
3、是否需要对属性进行规范化;
4、是否需要考虑属性的相关性;
5、是否对不同的属性进行加权;
6、要根据数据分析方法选择不同的相似性度量方法。
第三节R相关性与相似性度量
一、相关性度量
例如,一种原料来自三个不同的地区,原料质量被分成三个不同等级。
从这批原料中随机抽取500件进行检验,得到的交叉频数分布表如表3-2。
表2-5某种原料来源与等级
等级
地区
一级
二级
三级
合计
甲地区
52
64
24
140
乙地区
60
59
52
171
丙地区
50
65
74
189
合计
162
188
150
500
例如,从一群棋手中随机抽取了9人,得到他们下围棋和下象棋的能力排序如表3-2。
表3-2下围棋与下象棋能力排序
人员
ABCDEFGHI
下围棋能力排序
135427689
下象棋能力排序
421376598
例如,一家大型商业银行在多个地区设有分行,其业务主要是进行基础设施建设、国家重点项目建设、固定资产投资等项目的贷款;该银行所属的25家分行2012年的有关业务数据如表2-7。
表2-72012年某银行所属的25家分行有关业务数据
分行编号
不良贷款
贷款余额
分行编号
不良贷款
贷款余额
1
0.9
67.3
14
3.5
174.6
2
1.1
111.3
15
10.2
263.5
3
4.8
173.0
16
3.0
79.3
4
3.2
80.8
17
0.2
14.8
5
7.8
199.7
18
0.4
73.5
6
2.7
16.2
19
1.0
24.7
7
1.6
107.4
20
6.8
139.4
8
12.5
185.4
21
11.6
368.2
9
1.0
96.1
22
1.6
95.7
10
2.6
72.8
23
1.2
109.6
11
0.3
64.2
24
7.2
196.2
12
4.0
132.2
25
3.2
102.2
13
0.8
58.6
二、相似性度量
三、表3-4文档词频向量
文档
team
coach
hockey
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- R语言第三章 相关性与相似性度量 语言 第三 相关性 相似性 度量
![提示](https://static.bdocx.com/images/bang_tan.gif)