数据挖掘听课笔记
数据挖掘听课笔记
第1章 概述
《数据挖掘》 学堂在线课程 , 天津大学 喻梅老师主讲。
1.1 数据分析与数据挖掘
数据分析,是指采用统计分析方法对数据进行描述、分析、概括和总结,提取出有用信息的过程。
数据挖掘,是指从海亮的数据中通过相关的算法来发现隐藏在数据中的规律和知识的过程。数据挖掘被视为是数据中“知识发现”的过程。
知识发现的一般过程是:数据 数据与处理 数据选择与变换 数据挖掘 模式评估 知识表示。
所以,数据分析和数据挖掘的区别就是,
- 数据量上,数据挖掘处理的数据量更大,是海量的数据;
- 数据处理目标上,数据挖掘的目标是不明确的,而数据分析的目标是比较明确的;
- 侧重点上,数据挖掘侧重对未知的清苦进行预测和估计,而数据分析侧重展现数据之间的关系。
数据分析将数据变成信息,而数据挖掘将信息变成知识,二者相辅相成。
1.2 分析与挖掘的数据类型
- 数据库数据:如SQL数据库。
- 数据仓库数据:是一个面向主题的、集成的、会更新的数据集合。可以理解为管理者做某一决策时,所参考的几个数据库集合。
- 事务数据:事务数据库的每个记录代表一个事务,比如一个车次的订票、顾客的一个购物篮等等。
- 数据矩阵:数据矩阵中的数据对象的所有属性都是具有相同性质的数值型数据。比如,鸢尾花的数据集。
- 图和网状数据:通常用来表达不同节点之间的联系,比如人际关系网、网站之间的相互连接关系等等。
- 其他类型的数据:如时间序列数据(不同时刻的气温、股票交易市场的历史交易数据);数据流数据(如监控中的视频数据);多媒体数据(视频 音频 文本 图像数据)
1.3 数据分析与数据挖掘的方法
- 频繁模式:考察的是关联性问题,频繁模式就是数据中频繁出现的模式,频繁项集就是频繁在事务数据集中一起出现的项的集合。
- 分类与回归:是找出描述和区分数据类或概念的模型或函数,以便能够使用模型预测类标号。分类是预测类别的标号,回归是建立连续值函数模型。典型方法有,决策树、朴素贝叶斯分类、支持向量机、神经网络、逻辑回归、规则分类器、基于模式的分类等等。
- 聚类分析:把一些对象划分为多个组或者聚簇,使得同组内对象相似而不同组对象间差异较大。
- 离群点分析:指全局或局部范围内偏离一般水平的观测对象。离群点分析,可以用于分析某信用卡用户在某一时刻某一地点是否可能出现了信用卡盗刷行为。
1.4 数据分析与数据挖掘使用的技术
数据挖掘设计面较广,是一门交叉学科。
- 统计学
- 可视化
- 数据库技术
- 算法
- 模式识别:文本识别 图像识别 语音识别 医学诊断 指纹识别
- 机器学习:包括监督学习、无监督学习、半监督学习(主要考虑如何利用少量有标记的数据和大量未标记的数据来进行学习,其中标记的数据用来学习模型,而未标记的数据用来进一步改进类的边界,视频中的一个图中正负号画分界线的问题可以示例)等。
- 高性能计算:指使用多个处理器或多台计算机共同完成同一项任务的计算环境。
1.5 应用场景及存在的问题
应用场景:如商务智能、信息识别、搜索引擎、辅助医疗。
存在的问题:数据类型多,数据维度高,难以分析。噪声数据、隐私数据的泄露问题。分析和挖掘结果的可视化问题。
第2章 数据
2.1 数据的属性
数据集由数据对象组成,一个数据对象代表一个实体。数据对象,又称为样本、实例、数据点、对象或元组。
数据对象用属性描述。数据表的行对应数据对象,数据列的列对应属性。
属性(特征,变量),是一个数据字段,表示数据对象的一个特征。例如,商品编号,商品名,价格,种类等。
重点理解数据的不同属性类型:
- 标称属性(nominal,名义的):可以看做是枚举的,与二元属性不同,可以拥有2个或者更多个属性值。比如表示衣服的颜色, R G B Y等。
- 二元属性(binary):布尔属性,只有两个状态,0或1。分为对称的(如性别),和非对称的(如体检结果阴性和阳性,一般的惯例是,重要的结果用1编码,例如HIV阳性)。
- 序数属性(ordinal,序数的):值有排序,但是相继的值之间的差是未知的。例如,满意度评价012345.
- 数值属性(numeric):是定量度量,用整数或实数值表示。
- 区间标度属性(interval-scaled):值有序,可以评估计算差,但不能评估倍数,如日期,摄氏温度,华氏温度。
- 比例标度属性(ratio-scaled):值有序,可以求差,可以求倍数。例如重量,高度。
离散属性 VS 连续属性
2.2 数据的基本统计描述
中心趋势度量
-
均值
-
加权算术平均数
-
中位数
-
分组数据中位数:根据N/2确定中位数所在的组
-
众数(mode),经验公式, mean - mode = 3* (mean - median)
-
中列数(midrange),数据集中最大值和最小值的算术平均值。
重点介绍一下分组数据中位数的计算:
$$
M_{e}=L+\frac{\frac{N}{2}-S_{m-1}}{f_{m}} \times d
$$
Me:中位数,L:中位数所在组的下限,Sm-1:中位数所在组以下各组的累计频数,fm:中位数所在组的频数,d:中位数所在组的组距。
喻老师课件中有计算分组数据中位数的例子,是计算一个员工薪酬分组数据集的薪酬分组数据中位数,易于理解上述公式。就是先找N/2所处的分组区间,将该区间的数值按照区间的人数进行均分,然后用区间的下边界加上N/2在该区间具有的人数对应的数据值,得到的就是分组数据中位数。
数据分散度量
- 极差
- 分位数
- 四分位数:把数据分布划分成4个相等的部分,使得每部分表示数据分布的四分之一,这三个数据点就称为四分位数,下四分位数Q1、中位数Q2、上四分位数Q3。
- 四分位数极差:IQR = Q3 - Q1
- 方差(样本方差):是每个数据分别与平均数之差的平方的平均数。有总体方差和样本方差。
- 标准差:方差的平方根。
重点介绍一下四分位数极差的计算:
先计算Q1 和Q3。 注意Q1 和Q3 的计算方法:首先是确定四分位数的位置,Q1, Q2, Q3的位置分别是(n + 1)/4 , 2*(n + 1)/4 , 3 * (n + 1)/4 。其中n 是项数。然后再确定Q1 和Q3的数值。
举例,由8人组成的旅游小团队年龄分别为:17,19,22,24,25,28,34,37,求其年龄的四分位差。
①计算Q1与Q3的位置:
Q1的位置=(n+1)/4=(8+1)/4=2.25;Q3的位置=3(n+1)/4=3(8+1)/4=6.75
②确定Q1与Q3的数值:
Q1=19+(22-19)0.25=19.75;Q3=28+(34-28)0.75=32.5
③计算四分位差:
IQR=Q3-Q1=32.5-19.75=12.75
重点介绍一下样本方差和总体方差
样本方差:
$$
s^{2}=\frac{1}{n-1} \sum_{i=1}{n}\left(x_{i}-\bar{x}\right)=\frac{1}{n-1}\left[\sum_{i=1}^{n} x_{i}{2}-\frac{1}{n}\left(\sum_{i=1} x_{i}\right)^{2}\right]
$$
总体方差:
$$
\sigma^{2}=\frac{1}{N} \sum_{i=1}{N}\left(x_{i}-\bar{x}\right)=\left(\frac{1}{N} \sum_{i=1}^{N} x_{i}{2}\right)-\bar{x}
$$
所以可以看出主要的区别就是因为样本和总体方差计算公式中的n-1和N。
相对应的就有,样本标准差和总体标准差。
数据图形展示
- 箱线图:五数概括,min, Q1, median, Q3, max. 离群点,是Q3或者Q1之外至少1.5 IQR的值。
- 饼图
- 频率直方图(frequency histogram)
- 散点图
重点理解箱线图含义:
用盒子表示数据,盒子的上下端点分别在Q1, Q3上,盒内线是中位数,盒子的外线延伸到最小值和最大值。离群点,就是绘制在离群阈值范围(Q1之下1.5 IQR或Q3 之上1.5 IQR的值)外的点。所以,离群点可以在最小值最大值区间内,也可能不在,这要看IQR的范围有多大。
2.3 数据的相似性和相异性
对象,可以理解为数据集的一行。
相似性(similarity),是两个对象相似程度的数量表示。数值越高表明相似性越大,通常取值范围是[0, 1]。
相异性(dissimilarity),是两个对象不相似程度的数量表示。数值越低表示相异性越小。相异性的最小值通常为0,但是相异性的最大值是不同的。
临近性(proximity),相似性和相异性都称为临近性。
数据的相异性和相似性,是十分重要的概念,许多情况下,计算出数据的相异性矩阵之后,就不再需要原始数据了。
数据矩阵:就是对象-属性结构,行--对象: n个对象。列--属性:p个属性。是二模矩阵。
$$
\left[\begin{array}{ccccc}
x_{11} & \dots & x_{1 f} & \dots & x_{1 p} \
\dots & \dots & \dots & \dots & \dots \
x_{i 1} & \dots & x_{i f} & \dots & x_{i p} \
\dots & \dots & \dots & \dots & \dots \
x_{n 1} & \dots & x_{n f} & \dots & x_{n p}
\end{array}\right]
$$
相异性矩阵:对象 - 对象 结构。n 个对象两两之间的邻近度。是对称矩阵,是单模矩阵。
$$
\left[\begin{array}{ccccc}
0 & & & & \
d(2,1) & 0 & & & \
d(3,1) & d(3,2) & 0 & & \
: & \vdots & : & & \
d(n, 1) & d(n, 2) & \ldots & \ldots & 0
\end{array}\right]
$$
再观察一下相异性矩阵,可以看到相异性数据d的排布就是,相异矩阵的第一列就是每一行的数据对象与第一行数据对象的相异程度,第二列就是每一行的数据对象与第二行数据对象的相异程度,…… 依次类推。所以对角线上的d都是0.
重点介绍不同属性数据的邻近度的度量计算方法:
- 标称属性的临近性度量
- 二元属性的临近性度量
- 序数属性的临近性度量
- 数值属性的临近性度量
余弦距离:
欧几里得范数,对于向量,就是向量的模长。
||x||表示向量的长度,计算方法依然是向量各个元素模的平方之和再开方。
第3章 数据与处理
3.1 数据存在的问题
- 数据的不一致,各系统见的数据存在较大的不一致性,如重量单位有的为g,有的为千克
- 噪声数据,数据中存在着错误或异常,例如身高为0就是明显的错误
- 缺失值,如有些属性的值缺失。
数据预处理的主要任务就是:
- 数据清理,去除数据中的噪声,纠正不一致,缺失值的处理
- 数据集成,将多个数据源合并成一个完整的数据集,如数据仓库
- 数据归约(消减),通过聚集、删除冗余属性或聚类等方法来压缩数据
- 数据变换(转换),将一种格式数据转换为另一种格式的数据(如规范化)。
3.2 数据清理
- 缺失值的处理:
- 忽略行
- 忽略列
- 人工填写空缺值
- 使用属性的中心度量值填充空缺值,一般选择中位数填充。
- 使用一个全局变量填充空缺值,例如对所有属性的所有缺失值都使用一个固定值"not sure"填充,缺点是可能造成数据分析程序不能运行。
- 使用可能的特征值来替换缺失值(最常用):比如生成一个预测模型,来预测每个丢失值。或者可以利用回归、贝叶斯计算公式或判定树归纳确定,推断出该条记录特定属性最大可能的取值。
- 噪声数据,如何检测噪声数据,有(1)基于统计的技术,(2)基于距离的技术。
- 不一致的数据,一般利用数据库的元数据来进行纠正不一致的数据。
重点介绍“使用可能的特征值来替换缺失值”:
重点介绍“如何检测噪声数据”:
3.3 数据集成
把不同来源、格式、特点和性质的数据合理地集中合并起来,就是数据集成。
集成的过程中,涉及实体识别的问题,主要是匹配来自不同数据源的现实世界的实体。通常借用数据库中的数据字典和数据仓库的元数据,来确定一个数据库中某一个名称是否和另一个数据库中的一个字段名称是同一实体。
集成的过程中,还涉及的一个问题是数据冗余的问题。比如一个属性可以由另外的属性导出,如一个顾客数据表中的平均月收入属性,可以根据月收入属性计算出来。再比如组学数据中,一个蛋白的比值变化均值可以有所有的比值属性计算出来。
重点介绍检测冗余的方法:
通过相关性分析检测冗余:
- 数值属性采用相关系数和协方差进行相关性分析;
- 标称属性采用卡方检验进行相关性分析。
- Pearson 相关系数:
属性X 和属性Y 的pearson相关系数的计算公式是:
$$
r_{X, Y}=\frac{\sum_{i=1}^{m}\left(x_{i}-\bar{X}\right)\left(y_{i}-\bar{Y}\right)}{m \sigma_{X} \sigma_{Y}}=\frac{\sum_{i=1}^{m}\left(x_{i} y_{i}\right)-m \bar{X} \bar{Y}}{m \sigma_{X} \sigma_{Y}}
$$
式中,m代表元组的个数。分子上,xi 是元组i 在属性X上的值,yi是元组i在属性Y 上的值。X的均值,Y的均值。分母是X的标准差,Y的标准差。
-
如果r X, Y >0, 则X 和Y 是正相关的;如果r 较大,说明X 和Y数据有冗余,可以进行删除。
-
如果r X, Y =0, 则X 和Y 是独立的且不相关的;
-
如果r X, Y <0, 则X 和Y 是负相关的;也就是说X值随Y值的减小而变大。
不过需要注意的是,相关性不代表因果关系。
更直观的理解方式,可以通过回顾喻老师课件中的体重和血压数据相关系数计算的例子。
- 协方差
在概率论和统计学中,协方差是用于衡量两个变量的总体误差,而方差是协方差中两个变量相同的一种特殊情况(这一点,仔细看公式可以看出来,因为总体方差计算公式中是平方,也就是X 和Y 两个属性相同的情况)。协方差也可以评估两个变量的相互关系。
设有两个属性X 和Y, 以及有m次观测值的集合。
$$
\left{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \ldots \ldots,\left(x_{m}, y_{m}\right)\right}
$$
协方差的计算公式是,
$$
\operatorname{Cov}(X, Y)=E((X-\bar{X})(Y-\bar{Y}))=\frac{\sum_{i=1}^{m}\left(x_{i}-\bar{X}\right)\left(y_{i}-\bar{Y}\right)}{m}=E(X Y)-E(X) E(Y)
$$
式中的E表示期望,即均值。
再仔细观察公式,可以发现pearson相关系数和协方差之间的关系,相关系数等于协方差除以两个变量各自标准差的乘积(标准差采用样本标准差计算)。
$$
r_{X, Y}=\frac{\operatorname{Cov}(X, Y)}{\sigma_{X} \sigma_{Y}}
$$
- 当协方差大于0时,表明X与Y正相关;
- 当协方差小于0时,表明X与Y负相关;
- 当协方差等于0时,表明X与Y不相关;
如果两个变量的变化趋势一致,也即是说当一个变量的值大于自身的期望值时,另外一个变量的值,也大于自身的期望值,那么两个变量之间的协方差就是正值。如果两个变量的变化趋势相反,也即是说当一个变量的值大于自身的期望值时,另外一个变量的值却小于自身的期望值,那么两个变量之间的协方差就是负值。如果X 与Y 是统计独立的,那么两者之间的协方差就是0. 这是因为两个独立的随机变量满足$$E[X Y]=E[X] E[Y]$$。不过这一点反过来并不一定成立,即如果X与Y 的协方差等于0, 二者并不一定是统计独立的。
更直观的理解方式,可以通过回顾喻老师课件中的体重和血压数据相关系数计算后再乘以各自的样本标准差来计算协方差的例子。
- 卡方检验
对于标称数据,通过卡方检测来检测相关性。卡方统计量(也就是卡方检验值,也是由pearson提出的,可以用于检验类别变量之间的独立性,或者确定关联性)相关联的概率值p值小于选定的检验显著水平α时,检验将拒绝两个变量彼此独立的原假设。原假设是两个类别变量是相互独立的。
独立性检验一般采用表格的形式记录观察结果的计数资料,就是列联表。如下所示,假设属性X有n个不同取值,属性Y有r个不同取值,列联表就是n行 r列。取值区域中每个单元都是取xi yj的联合事件数,即O11就是,属性X取x1同时属性Y取y1的观测频度,即实际计数。依次类推。
$$
\begin{array}{|c|c|c|c|c|c|c|c|}
\hline x & y_{1} & y_{2} & \ldots & y_{j} & \ldots & y_{r} & \text {sum } \
\hline x_{1} & o_{1 1} & o_{1 2} & \ldots & o_{4j} & \ldots & o_{1 r} & O_{1} \
\hline x_{2} & o_{2 1} & o_{2 2} & \ldots & o_{2j} & \ldots & o_{2r} & O_{2} \
\hline \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots \
\hline x_{i} & o_{i 1} & o_{i 2} & \ldots & o_{ij} & \ldots & o_{ir} & O_{i} \
\hline \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots \
\hline x_{n} & o_{n 1} & o_{n 2} & \ldots & o_{n j} & \ldots & o_{n r} & O_{n} \
\hline \text {sum} & O_{1} & O_{2} & \ldots & O_{j} & \ldots & O_{r} & m \
\hline
\end{array}
$$
独立性检验的步骤如下:
- 首先进行统计假设:H0,属性X和属性Y之间是独立的。 H1 是属性X 和属性Y是相关的。
- 计算期望频数:在假设无关的情况下,应用其独立同分布特点,计算出每个单元格的期望概率值。期望频数的计算公式如式所示,$$e_{i j}=\frac{\left(O_{i .} \times O_{, j}\right)}{m}$$。 期望频数更容易理解的一个计算公式是,$$e_{i j}=\frac{\operatorname{count}\left(X=x_{i}\right) \times \operatorname{count}\left(Y=y_{j}\right)}{m}$$
- 自由度的确定: df = (r - 1) * (n - 1)
- Pearson 卡方统计量的计算:$$\chi{2}=\sum_{i=1} \sum_{j=1}^{r} \frac{\left(o_{i j}-e_{i j}\right)^{2}}{e_{i j}}$$。其中的Oij也就是联合事件的观测频度(即实际计数),而eij 是(xi, yj)的期望频度。整个公式计算的就是,观测频数减去期望频数的差的平方,除以期望频数后,再求和。
- 统计推断:当卡方值大于临界值(即具有自由度df和显著水平α的临界值,可以查卡方检验临界值表获得),拒绝原假设H0。当卡方值小于临界值(即具有自由度df和显著水平α的临界值,可以查卡方检验临界值表获得),接受原假设H0。
卡方检验就是统计样本的实际观测值,与理论推断值之间的偏离程度。实际观测值和理论推断值之间的偏离程度,决定卡方值的大小。卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合。若实际观测与理论推断两个值完全相等时,卡方值就为0,表明理论值完全符合。
卡方分布本身是连续性分布,但是在分类资料的统计分析中,显然频数只能以整数的形式出现,因此计算出的统计量是非连续的。只有当样本量比较充足时,才可以忽略两者之间的差异,否则可能导致大的偏差。即要求列联表中每个单元格中的期望频数均大于1,且至少有4/5 的单元格期望频数大于5,此时使用卡方分布计算出的概率值才是准确的。如果数据不符合要求,可以采用确切概率法进行概率的计算。或者是采用并行并列,删行删列、增大样本含量的方法使其符合卡方检验的应用条件。
在喻老师的讲课视频中,有一个计算示例,检验从事某一工种是否与患病或不患病有关,便于理解计算的过程。所以卡方检验在组学数据分析中,可以应用于某一基因的敲除与否,是否与某一表型有相关性的检测。或者某一基因的突变,是否与某一遗传病有显著相关性。
两个独立样本比较可以分成以下3种情况:
- 所有的期望频数e ij ≥ 5 并且总样本量 m ≥ 40,用pearson卡方进行检验。
- 如果期望频数e ij < 5 但 e ij ≥1,并且 m ≥40,用连续性矫正的卡方检验,如公式所示:$$\chi{2}=\sum_{i=1} \sum_{j=1}^{r} \frac{\left(\left|o_{i j}-e_{i j}\right|-0.5\right)^{2}}{e_{i j}}$$
- 如果有期望频数 e ij < 1或 m≤40,则用精确概率检验。
所以总结以上三种情况的一个共同点就是首先样本量要≥40,才有可能可以使用卡方检验。其次 e ij均 ≥ 1,则可以使用卡方检验。再相应选择是使用是否矫正后的卡方检验。
3.4 数据规约
数据归约是指在对挖掘任务和数据自身内容理解的基础上,通过数据消减或约简,在不影响最终挖掘结果的前提下,缩小所挖掘数据的规模。在归约后的数据集上挖掘将更有效。
数据归约的标准主要有两个:
- 用于数据归约的时间不应该超过归约后数据分析分析节省的时间,
- 归约后的数据应该可以产生几乎相同的结果。
数据归约的策略:
- 数量归约:通过直方图 聚类和数据立方体等非参数方法,使用替代的较小的数据表示原始数据
- 属性子集选择:检测并删除不相关,弱相关或冗余的属性。目的是为了找出最小属性集,而依然具备原来数据所有属性的区分能力。选择方法有,向前选择、向后删除、决策树归纳。
- 抽样:随机抽样来表示大型的数据集。有效抽样的理论是,抽样样本集和全部的样本集,被使用且得到的结论是一样的。抽样方案主要有不放回简单随机抽样、放回简单随机抽样(可能抽到相同数据)、聚类抽样(即先将大数据集D分成M个互不相交的聚类,然后从M个类中进行随机抽取)、分层抽样(即先分层后取样)。
- 回归和对象线性模型:对数据建模,使之拟合到一条直线,主要用来近似给定的数据。
- 维度归约:通过小波变换、主成分分析等特征变化方式减少特征数目。
3.5 数据变换与数据离散化
数据变换是将数据转换为适合于数据挖掘的形式。
数据变换主要有以下几种方法:
- 平滑,即去掉数据的噪声,将连续的数据离散化。操作有分箱、回归、聚类等方法实现。
- 聚类,即对数据进行汇总和聚集。如通过avg(), count(), min(), max()函数来实现。如每天的销售额数据可以通过求和获得每月或每年的销售额。
- 数据泛化,即使用概念分层,用更抽象(更高层次)的概念来取代低层次的数据对象。如街道属性可以泛化到城市 国家等概念,年龄可以映射到青年,中年和壮年的层次。以此来减少取值个数。
- 规范化,把属性数据按比例缩放,使之落入一个特定的小区间。如将数值很大的工资数据,以及小数值的年龄属性映射到[-1, 1]之间。规范化的目的,将一个属性取值范围映射到一个特定范围之内,以消除数值属性因大小不一而造成挖掘结果的偏差。
- 属性构造,根据已知属性构造新的属性,以利于挖掘。如,根据宽高属性,可以构造面积属性。
- 离散化,数值属性的原始值用区间标签或概念标签替换。如数值属性年龄的原始值,可以用区间标签(0~10, 11~20)或概念标签(youth, adult, senior)来表示。如考试成绩可以化为及格和不及格的两个区间。
数据规范化的常用方法有:
-
小数定标规范化:通过移动属性A的小数点位置进行规范化,小数点的移动依赖于A的最大绝对值。就是将数据除以10的j次幂,使数据落在[-1, 1]之间。计算公式是, $$v_{i}{\prime}=\frac{v_{i}}{10{j}}$$ , 其中j 是使Max(|v i '|) <1的最小整数。
-
最小-最大规范化:假定属性A的最大和最小值分别是 minA 和maxA,则将A的值映射到区间[a, b]中的 vi,a为规范化后的最小值,b为规范化后最大值计算公式是:
-
$$v_{i}^{\prime}=\frac{v_{i}-\min A}{\max A-\min A}(b-a)+a$$ , vi 是原属性值,。
-
零-均值规范化(即Z-score规范化):将属性A的值根据其平均值和标准差进行规范化。常用于属性最大值和最小值未知,或使用最小最大规范化方法会出现异常数据的情况。计算公式是: $$v_{i}^{\prime}=\frac{v_{i}-\bar{A}}{\sigma_{A}}$$ , 公式中分别是属性A的平均值,和属性A的标准差。注意,有必要保存规范化时使用的参数,以便于将来的数据可以用一致的方式规范化。
数据离散化的基本方法,主要有:
- 分箱法:对连续变量离散化,一般是先排序,然后选择断点,对数据集进行分裂。分箱时,一般基于箱的指定参数,等深(即每箱的记录数一样)或等宽(即每个箱的边界宽度一样)的箱中,然后按照箱的平均值、中值或边界值等进行平滑。即将箱中的每个值被箱中的平均值替换,或被中值替换,或将箱中的最大和最小值视为箱边界,然后将箱中的每一个值被最近的边界值替换。
- 直方图分析法:就是根据数据的频数分布,划分成一个个的区间。
第4章 数据仓库和OLAP(联机分析处理)
4.1 数据仓库基本概念
数据仓库,是一个面向主题的、集成的、时变的、非易失的,用于支持管理者决策的数据集合。
数据仓库体系结构,一般有四部分组成,数据源、数据存储、OLAP引擎(online analytical processing)、和前端工具(即前端客户层,由用户直接操作获取知识)。
OLAP ,数数据仓库系统前段分析服务的分析工具,能快速汇总大量数据并进行高效查询分析。OLAP操作可以与关联 分类 预测 聚类等数据挖掘功能结合,以加强多维数据挖掘。
4.2 数据仓库设计
数据仓库设计,有数据驱动,并且需要不断地循环和反馈。设计大体上分为以下3个步骤:
- 概念模型设计:充分了解业务。界定系统的边界,即仓库设计的需求分析。
- 逻辑模型设计:是数据仓库设计的核心。
- 物理模型设计:根据数据的使用频率 以及时间响应要求,将不同的数据存放在不同的介质上。
4.3 数据仓库实现
完成设计之后,可以创建数据仓库。数据仓库是一个信息提供平台。使用SQL server可以实现数据仓库创建。
讲课视频介绍了软件创建数据仓库的软件操作。
4.4 联机分析处理
数据仓库是数据的存储集合,OLAP是数据的查询、分析和处理。
OLAP的实现类型:
- ROLAP 关系OLAP,事实表和维表。类似与键值对的键的表, 和值的表。
- 多维MOLAP
- HOLAP
4.5 元数据模型
元数据,meta data,又被称为中介数据,是描述数据的数据。是描述数据属性的信息。
元数据 为数据资源提供指南作用。
元数据包括以下内容:
- 数据仓库结构的描述,
- 操作数据源
- 用于汇总的算法
- 由操作环境到数据仓库的映射
- 关于系统性能的数据,如数据仓库模式、视图和导出数据的定义。
- 商务数据,如商务术语和定义
第5章 回归分析
5.1 回归分析的基本概念
回归分析,是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
-
按涉及变量个数分类,可以分为一元回归分析和多元回归分析。
-
按自变量和因变量之间的关系分类,可以分为线性回归分析和非线性回归分析。
变量之间的关系,可以分为两类:
- 确定性关系,如圆的面积和半径的关系
- 非确定性关系,指变量之间有一定的依赖关系,但是由于受到无法预计和控制的因素的影响,当一个变量的值确定以后,另一个变量虽然随之变化,但是不能完全确定。这是变量之间的关系就不可以精确地用函数来表示了。例如,子女身高与父母亲身高的关系。
回归分析的步骤:
- 确定变量,自变量和因变量。
- 建立预测模型,依据历史经验判断
- 进行相关分析,只有当自变量和因变量之间确实存在某种关系时,建立的回归方程才有意义。一般要求出相关关系。
- 计算预测误差。回归预测模型是否可以用于实际预测,取决于对回归预测模型的检验和对预测误差的计算。回归方程只有通过各种检验,且预测误差较小,才能讲回归方程作为预测模型使用。
- 确定预测值。利用模型确定预测值。
5.2 一元线性回归
一元线性回归分析是最简单的回归分析模型,对于理解回归分析的基本思想以及方法和应用十分重要。
- 一元线性回归模型为:
$$
Y=a+b X+\varepsilon
$$
其中X为自变量,Y为因变量,a为常量截距,b是回归系数,表示自变量对因变量的影响程度。 $\varepsilon$ 为随机误差项。
模型特点:
- Y是X的线性函数加上误差项
- 线性部分反应了由于X的变化而引起的Y的变化
- 误差项 $\varepsilon$ 是随机变量,反映了除X和Y之间的线性关系之外的随机因素对Y的影响,它是一个期望值为0的随机变量,也是一个服从正态分布的随机变量,且相互独立。
- 对于一个给定的X,Y的期望值是 $$E(Y)=a+b X$$ , Y对称为X的回归。
记 $\hat{a} $ 和 $\hat{b} $ 分别是参数a 和参数b的点估计,并记 $\hat{Y} $ 为Y的条件期望 E(Y|X),即在X条件下Y的期望的点估计。
回归方程是:$\hat{Y}=\hat{a}+\hat{b} X$
$\hat{a} $ 和 $\hat{b} $ 分别是回归方程的回归系数,对于每一个$X_i$ ,由回归方程可以确定一个回归值 即$\hat{y_i} = \hat{a} + \hat{b}x_i$
- 回归方程求解及模型检验
可以使用最小二乘法求解一元线性回归方程。对于每一个点$(x_i, y_i)$ , $y_i$ 为实际测量值, $\hat{y_i}$ 是通过回归方程得到的预测值。最小二乘法的原理就是,找到一组$\hat{a}$, $\hat{b}$。 使得所有点的实际测量值 $y_i$ 与预测值$\hat{y_i}$ 的偏差的平方和最小。其中称残差$\Delta y$ 等于 $y_i$ 减去 $ \hat{y_i} $ 。
残差平方和(Residual Sum of Squares, RSS)定义为,
$$Q ( \hat { a } , \hat { b } ) = \sum _ { i = 1 } ^ { n } \left( y _ { i } - \hat { y } _ { i } \right) ^ { 2 } = \sum _ { i = 1 } ^ { n } \left( y _ { i } - \hat { a } - \hat { b } x _ { i } \right) ^ { 2 }$$
即找到一组$\hat{a}$, $\hat{b}$, 使RSS的值最小。式子中,Q是关于a估计,b估计的二次函数,所以Q存在最小值。分别对$\hat{a}$ 和$\hat{b}$ 求一阶偏导,并令其一阶偏导值为0 。即
$$\frac { \partial Q } { \partial \hat { a } } = - 2 \sum _ { i = 1 } ^ { n } \left( y _ { i } - \hat { a } - \hat { b } x _ { i } \right) = 0$$
$$\frac { \partial Q } { \partial \hat { b } } = - 2 \sum _ { i = 1 } ^ { n } \left( y _ { i } - \hat { a } - \hat { b } x _ { i } \right)x _ { i } = 0$$
以上两式称为正规方程组,据此可以求出$\hat{a}$ 和$\hat{b}$ 的值为下式,
$$ \hat{a} $$
$$ \hat{b} $$
其中分别用到了$x_i$ 和$y_i$ ,$ x*y$ , $x 2$的平均值。
然后将求得的 $\hat{a}$ 和$\hat{b}$代入后得到的回归方程就是最佳拟合曲线 $\hat{y} = \hat{a} + \hat{b}x$
拟合优度检验:
拟合优度(goodness of fit),指所求的回归直线对观测值的拟合程度,若观测值与回归直线之间的距离近,则认为拟合优度较好,反之较差。这里用决定系数(也称为确定系数, R2)来度量拟合优度。首先给出,离差(实际值和平均值之差)、回归差(估计值和平均值之差)、残差(实际值和估计值之差)的概念。其中,离差 = 回归差 + 残差。
用总平方和TSS 表示因变量的n个观测值与其均值的误差综合,TSS 是各个数据离差的平方和。
用回归平方和ESS 表示自变量x的变化对因变量y 取值变化的影响,ESS是各个数据回归差的平方和。
用残差平方和RSS表示实际值与拟合值之间的差异程度,RSS是各个数据残差的平方和。
TSS 和ESS RSS三者之间的关系是, TSS = ESS + RSS
拟合优度统计量即决定系数R2的计算公式为:
其中, R2属于[0, 1]
越接近于1, 说明回归曲线拟合优度越好; 越小,说明回归曲线拟合优度越差。
等于0 时,表示自变量x和因变量y 没有线性关系。 等于1 时表明回归曲线和样本点重合。
线性关系的显著性检验:
采用F检验来度量一个或多个自变量,同因变量之间的线性关系是否显著。F检验运用服从F分布的统计量或方差比作为统计检验,通过显著性水平(significant level) 检验回归方程的线性关系是否显著。
F检验的计算公式为:
且服从F分布,F = (k, n-k-1)。其中k 为自由度(自变量的个数),n为样本总量。对于线性回归方程,只有一个自变量x,所以 k = 1.
F值越大,说明自变量和因变量之间在总体上的线性关系越显著,反之线性关系越不显著。
回归参数的显著性检验:
采用t检验,对回归参数进行显著性检验,t检验检测变量x 是否是被解释变量y 的一个显著性的影响因素。t检验是用于样本的两个平均值差异程度的检验方法。它是用T分布理论来推断差异发生的概率,从而判断两个平均数的差异是否显著。t检验的计算公式为:
5.3 多元线性回归
一个因变量,多个自变量。
多元线性回归分析的步骤,和一元线性回归分析的步骤基本一样,但是在拟合优度检验时,需要使用矫正后R2 来代替R2,以降低解释变量数量对R2的影响。
同样使用F检验对多元线性回归方程进行回归参数的显著性检验。然后分别对n个回归参数进行t检验。
5.4 多项式回归
例如,麻醉剂药效与时间的关系,药效先增强后减弱。非线性。
研究一个因变量与多个自变量之间的多项式关系称为多项式回归。
一元多项式回归,最简单的多项式回归是二次多项式(抛物线)。
多元多项式回归。
多项式回归求解示例的过程总结:
- 求解回归方程。先看图形的散点图,发现x 和y的关系近似可以用一元二次多项式来表示,所以假设x 和y 的关系表达式是一元二次方程。依然采用用最小二乘法求解参数。
- 多项式方程拟合优度检验。根据求出来的回归方程,求出来y 的预测值。然后求解TSS ESS。再求解R2. R2 非常接近于1,说明拟合度较好。
- 线性关系的显著性检验。根据TSS RSS , k, 数据点个数n,求解F值。根据显著水平,查F值表。判断回归方程是否显著成立。
- 回归参数的显著性检验。分别对回归系数进行 t 检验。在一定的置信度水平下,查t分布表,得出t值,然后分别得出两个自变量是否对因变量有显著性影响。
第6章 频繁模式
6.1 频繁模式概述
挖掘出顾客购买商品订单中的频繁模式。
本章介绍,频繁模式和关联规则、两种频繁模式算法、解决频繁项集过大的问题、关联模式进行评估的方法。
- 频繁模式,是指频繁出现在数据集中的模式。
模式包括,项集、子序列、子结构等。
研究频繁模式的目的,是得到关联规则和其他的联系,并在实际应用中应用这些规则和联系。
-
项集,是包含0个或者多个项的集合。如果一个项集包括k个项,则称为k-项集。
-
支持度:项集的支持度,分为绝对支持度和相对支持度。绝对支持度,是指项集的出现频度,即包含项集的事务数。相对支持度,是指项集出现的百分比。
-
频繁项集:如果某一个项集I的支持度,满足了预定的最小支持度阈值,则称为I频繁项集。一个频繁项集的所有子集也都是频繁的。
-
关联规则:是形如 A=>B 的蕴含式,其中称A为规则前件,B为规则后件,并且A,B满足:A, B是I的真子集,并且A和B的交集是空集。
-
关联规则的支持度,是指事务中同时包含集合A和集合B的百分比。支持度,揭示了A和B同时出现的概率,支持度公式是,P(A U B)。
-
最小支持度,是有用户定义衡量支持度的一个阈值,表示该规则统计意义上必须满足支持度的最低重要性。
-
置信度:是指事务中同时包含集合A和集合B的事务数,与同时包含集合A的事务数的百分比。置信度公式为,P( B | A)。置信度,揭示了A出现时, B也出现的可能性大小。
-
最小置信度,是由用户自定义衡量置信度的一个阈值,表示该规则统计意义上必须满足置信度的最低重要性。
在典型情况下,如果关联规则满足最小支持度阈值和最小置信度阈值,关联规则被认为是有用的。
- 强关联规则:因为通常一个包含k个项的项集,可能产生2^k -1 个频繁项集,可能产生3…^k - 2^(k +1) + 1个规则。即使对于小数据,产生的频繁项集和规则数目都是巨大的。传统的关联分析度量,包括支持度,置信度和提升度。同时满足最小支持度阈值和最小置信度阈值要求的所有关联规则被称为强关联规则。
为了得到有用的关联规则,大多数关联规则挖掘算法采用的策略是将之分解为以下三个子任务:
- 根据最小支持度阈值,找出数据集中所有的频繁项集
- 挖掘出频繁项集中满足最小支持度阈值和最小置信度阈值要求的规则,得出强关联规则
- 对产生的强关联规则进行剪枝,找出有用的关联规则。
通常,产生频繁项集的计算开销,远大于产生规则的计算开销,因此需要降低频繁项集的计算复杂度。而先验性质就是一种不用计算支持度而删除某些候选项集的有效方法。
先验原理:
如果一个项集是频繁的,那么它的所有非空子集也是频繁的。反之,如果一个项集不是频繁的,那么所有包含该项集的项集都不是频繁的。(也就是它的逆否命题)