读书笔记 -- 002_数据预处理_数据集成
2015-12-08 10:59
423 查看
概述
数据挖掘经常需要数据集成 – 合并来自多个数据源的数据。小心集成有助于减少结果数据集的冗余和不一致。这有助于提高其后数据挖掘的准确性和速度。
1、实体识别问题
数据分析多半涉及数据集成。数据集成将多个数据源中的数据合并,存放那个在一个一致的数据存储中,如存放在数据仓库中。这些数据源可能包括多个数据库、数据立方体或一般文件。
自数据集成时,有许多问题需要考虑。模式集成和对象匹配可能需要技巧。来自多个信息源的现实世界的等价实体如何才能“匹配”?这涉及实体识别问题。例如,数据分析者或者计算机如何才能确定一个数据库的customer_id与另一个数据库中的cust_number指的是相同的属性呢 ?每个属性的元数据包括名字、含义、数据类型和属性的允许取值范围,以及处理空白、零或NULL值得空值规则。这样的元数据可以用来帮助避免模式集成的错误。元数据还可以用于变换数据(例如,pay_type的数据编码在一个数据库中可以是“H”和“S”,而在另一个数据库中是1和2)。因此,这一步也与前面介绍的数据清理有关。
在集成期间,当一个数据库的属性和另一个数据库的属性匹配时,必须特别注意数据的结构。这旨在确保源系统中的函数和参考约束与目标系统中的匹配。例如,在一个系统中,discount可以用于订单,而在另外一个系统中,它被用于订单内的商品。如果在集成之前未发现,则目标系统中的商品可能被不正确地打折。
2、冗余和相关分析
冗余是数据集成的另一个重要问题。一个属性(例如,年收入)如果能由另一个或另一组属性”导出”,则这个属性可能是冗余的。属性或维命名的不一致可能导致结果数据集中的冗余。
有些冗余可以被相关分析检测到。给定两个属性,这种分析可以根据可用的数据,度量一个属性能在多大程度上蕴涵另一个。对于标称数据,我们使用x^2(卡方)检测。对于数值属性,我们使用相关系数(correlation coefficient)和协方差(covariance),他们都评估一个属性的值如何随另一个变化。
2.1、标称数据的x^2相关检验
对于标称属性,两个属性A和B之间的相关性可以用卡方检验发现。假设A有c个不同的值a1,a2,a3 … ac,B有r个不同的值b1,b2,b3 … br。用A和B描述的数据元组可以用相依表显示,其中A的c个值构成列,B的r个值构成行。令(Ai, Bj)表示属性A取取值ai、属性B取值bj的联合事件,即(A = ai,B = bj)。每个可能的(Ai,Bj)联合事件都在表中都有自己的单元。x^2值(又称Pearson X^2统计量)可以用下式计算:
其中,0ij是联合事件(Ai, Bj)的观测频度(即实际计数),而eij是(Ai,Bj)的期望频度,可以用下式来计算:
其中,n是数据元组的个数,count(A = ai)是A上具有值ai的元组个数,而count(B = bj)是B上具有值bj的元组个数。1式中的和在所有r x c 个单元上计算。注意 x^2值贡献最大的单元是其实际计数与期望计数很不相同的单元。
x^2统计检验假设A和B是独立的。检验基于显著水平,具有自由度(r - 1) * (c - 1)。
例: 使用x^2的标称属性的相关分析。将设调查了1500名学生,记录了每名学生的性别。每个人对他们喜爱的阅读材料类型是否是小说进行投票。调查结果如下表,其中括号中的数是期望频率。
使用第二个式子,我们可以验证每个单元的期望频率。例如,单元(男,小说)的期望频率是:
注意,再任意行和列,期望频率的和必须等于改行和列的总观测频率。
我们得到:
对于这个2 x 2的表,其自由度为(2 - 1) x (2 - 1) = 1。对于自由度1,在0.001的置信水平下,拒绝假设的值时10.828。由于我们计算的值大于该值,因此我们拒绝gender和preferred_reading独立的假设,并断言对于给定的人群,这两个属性是(强)相关的。
2.2、数值数据的相关系数
对于数值数据,我们可以通过计算属性A和B的相关系数(又称Pearson积距系数),估计两个属性的相关度:
其中,n是元组的个数,ai和bi分别是元组i在A和B上的值,分母是n与A和B的标准差的乘积。注意,相关系数的取值区间是[-1, 1]。如果相关系数大于0,那么A和B正相关,这意味着A值随B值的增加而增加。该值越大,相关性越强(即每个属性蕴涵另一个的可能性越大)。因此,因此,一个较高的相关性值表明A(或B)可以作为冗余而被删除。
如果相关性值等于0,则A和B是独立的,并且他们之间不存在相关性。如果相关性值小于0,则A和B是负相关,一个值随另一个值得减少而增加。这意味着每一个属性都阻止另一个的出现。
注意,相关性并不蕴涵因果关系。也就是说,如果A和B是相关的,这并不意味着A导致B或者B导致A。例如,在分析人口统计数据库时,我们可能发现一个地区的医院数量与汽车盗窃数十相关的。这并不意味着一个导致另外一个。实际上,二者必然地关联到第三个属性—人口。
2.2、数值数据的协方差
在概率论与统计学中,协方差和方差是两个类似的度量,评估两个属性如何一起变化。考虑两个数值属性A、B和n次观测的集合{(a1,b1),(a2,b2),…,(an,bn)}。A和B的均值又分别称之为A和B的期望,即
A和B的协方差定义为:
我们把相关系数和协方差的表达式相比较,则可以看出:
还可以证明:
对于两个趋向于一起改变的属性A和B,如果A大于A的期望,则B很可能大于B的期望。因此A和B的协方差为正。反之,则为负。
如果A和B是独立的(即他们不具有关联性),则E(AB) = E(A)E(B)。因此,协方差
。然而,其逆不成立。某些随机变量(属性)对可能具有协方差为0,但是不是独立的。仅在某种附加的假设下(如数据遵守多元正态分布),协方差0蕴涵独立性。
3、元组重复
除了检测属性间的冗余外,还应当在元组级检测重复。去规范表是数据冗余的另一个来源。不一致通常出现在各种不同的副本之间,由于不正确的数据输入,或者由于更新了数据库的某些地方,但未更新所有的。
数据挖掘经常需要数据集成 – 合并来自多个数据源的数据。小心集成有助于减少结果数据集的冗余和不一致。这有助于提高其后数据挖掘的准确性和速度。
1、实体识别问题
数据分析多半涉及数据集成。数据集成将多个数据源中的数据合并,存放那个在一个一致的数据存储中,如存放在数据仓库中。这些数据源可能包括多个数据库、数据立方体或一般文件。
自数据集成时,有许多问题需要考虑。模式集成和对象匹配可能需要技巧。来自多个信息源的现实世界的等价实体如何才能“匹配”?这涉及实体识别问题。例如,数据分析者或者计算机如何才能确定一个数据库的customer_id与另一个数据库中的cust_number指的是相同的属性呢 ?每个属性的元数据包括名字、含义、数据类型和属性的允许取值范围,以及处理空白、零或NULL值得空值规则。这样的元数据可以用来帮助避免模式集成的错误。元数据还可以用于变换数据(例如,pay_type的数据编码在一个数据库中可以是“H”和“S”,而在另一个数据库中是1和2)。因此,这一步也与前面介绍的数据清理有关。
在集成期间,当一个数据库的属性和另一个数据库的属性匹配时,必须特别注意数据的结构。这旨在确保源系统中的函数和参考约束与目标系统中的匹配。例如,在一个系统中,discount可以用于订单,而在另外一个系统中,它被用于订单内的商品。如果在集成之前未发现,则目标系统中的商品可能被不正确地打折。
2、冗余和相关分析
冗余是数据集成的另一个重要问题。一个属性(例如,年收入)如果能由另一个或另一组属性”导出”,则这个属性可能是冗余的。属性或维命名的不一致可能导致结果数据集中的冗余。
有些冗余可以被相关分析检测到。给定两个属性,这种分析可以根据可用的数据,度量一个属性能在多大程度上蕴涵另一个。对于标称数据,我们使用x^2(卡方)检测。对于数值属性,我们使用相关系数(correlation coefficient)和协方差(covariance),他们都评估一个属性的值如何随另一个变化。
2.1、标称数据的x^2相关检验
对于标称属性,两个属性A和B之间的相关性可以用卡方检验发现。假设A有c个不同的值a1,a2,a3 … ac,B有r个不同的值b1,b2,b3 … br。用A和B描述的数据元组可以用相依表显示,其中A的c个值构成列,B的r个值构成行。令(Ai, Bj)表示属性A取取值ai、属性B取值bj的联合事件,即(A = ai,B = bj)。每个可能的(Ai,Bj)联合事件都在表中都有自己的单元。x^2值(又称Pearson X^2统计量)可以用下式计算:
其中,0ij是联合事件(Ai, Bj)的观测频度(即实际计数),而eij是(Ai,Bj)的期望频度,可以用下式来计算:
其中,n是数据元组的个数,count(A = ai)是A上具有值ai的元组个数,而count(B = bj)是B上具有值bj的元组个数。1式中的和在所有r x c 个单元上计算。注意 x^2值贡献最大的单元是其实际计数与期望计数很不相同的单元。
x^2统计检验假设A和B是独立的。检验基于显著水平,具有自由度(r - 1) * (c - 1)。
例: 使用x^2的标称属性的相关分析。将设调查了1500名学生,记录了每名学生的性别。每个人对他们喜爱的阅读材料类型是否是小说进行投票。调查结果如下表,其中括号中的数是期望频率。
使用第二个式子,我们可以验证每个单元的期望频率。例如,单元(男,小说)的期望频率是:
注意,再任意行和列,期望频率的和必须等于改行和列的总观测频率。
我们得到:
对于这个2 x 2的表,其自由度为(2 - 1) x (2 - 1) = 1。对于自由度1,在0.001的置信水平下,拒绝假设的值时10.828。由于我们计算的值大于该值,因此我们拒绝gender和preferred_reading独立的假设,并断言对于给定的人群,这两个属性是(强)相关的。
2.2、数值数据的相关系数
对于数值数据,我们可以通过计算属性A和B的相关系数(又称Pearson积距系数),估计两个属性的相关度:
其中,n是元组的个数,ai和bi分别是元组i在A和B上的值,分母是n与A和B的标准差的乘积。注意,相关系数的取值区间是[-1, 1]。如果相关系数大于0,那么A和B正相关,这意味着A值随B值的增加而增加。该值越大,相关性越强(即每个属性蕴涵另一个的可能性越大)。因此,因此,一个较高的相关性值表明A(或B)可以作为冗余而被删除。
如果相关性值等于0,则A和B是独立的,并且他们之间不存在相关性。如果相关性值小于0,则A和B是负相关,一个值随另一个值得减少而增加。这意味着每一个属性都阻止另一个的出现。
注意,相关性并不蕴涵因果关系。也就是说,如果A和B是相关的,这并不意味着A导致B或者B导致A。例如,在分析人口统计数据库时,我们可能发现一个地区的医院数量与汽车盗窃数十相关的。这并不意味着一个导致另外一个。实际上,二者必然地关联到第三个属性—人口。
2.2、数值数据的协方差
在概率论与统计学中,协方差和方差是两个类似的度量,评估两个属性如何一起变化。考虑两个数值属性A、B和n次观测的集合{(a1,b1),(a2,b2),…,(an,bn)}。A和B的均值又分别称之为A和B的期望,即
A和B的协方差定义为:
我们把相关系数和协方差的表达式相比较,则可以看出:
还可以证明:
对于两个趋向于一起改变的属性A和B,如果A大于A的期望,则B很可能大于B的期望。因此A和B的协方差为正。反之,则为负。
如果A和B是独立的(即他们不具有关联性),则E(AB) = E(A)E(B)。因此,协方差
。然而,其逆不成立。某些随机变量(属性)对可能具有协方差为0,但是不是独立的。仅在某种附加的假设下(如数据遵守多元正态分布),协方差0蕴涵独立性。
3、元组重复
除了检测属性间的冗余外,还应当在元组级检测重复。去规范表是数据冗余的另一个来源。不一致通常出现在各种不同的副本之间,由于不正确的数据输入,或者由于更新了数据库的某些地方,但未更新所有的。
相关文章推荐
- 消息传递机制、线程机制
- 【FAQ】Jenkins如何从slave到slave拷贝文件?
- Android Drawable、Bitmap、byte[]之间的转换
- (iPhone/iPad开发)实现应用程序icon及UITabBar右上角带红圈中数字
- vim操作
- 输入法无法使用
- Java异常汇总
- android library使用方法
- jQuery动画模块源码分析之queue,dequeue,clearQueue方法源码分析
- 我的学习之路(二)
- textview设置下划线
- C#使用 LumiSoft.Net.dll 通过IMAP 登陆QQ邮箱读取未读邮件
- iOS内存管理-@property关键字区别
- 第14章4节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-装备ViewServer-端口转发
- 解决iOS画上的内容的像素问题
- 【MVC】 js,css 压缩
- SQLSTATE=42704
- 第14章3节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-HierarchyViewer实例化
- TR有关的几个术语
- 判断http 请求来自于手机还是PC