数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

1.4数据降维

在分析多个变量时发现它们中有一定的相关性。有一种方法将多个变量综合成少数几个相互无关的代表性变量来代替原来的变量,这就是数据降维,可以考虑主成分分析法。

1)、主成分分析法(PCA)

1、基本思想

(1)如果将选取的第一个线性组合即第一个综合变量记为F1,自然希望它竟可能多的反映原来的变量信息。(这里的“信息”用方差来测量,即希望Var(F1)方差函数越大,表示F1包含的信息愈多),因此在所有的线性组合中所选取的F1应该是方差最大的,故称F1为第一主成分。

(2)如果第一主成分不足以代表原来P个变量的信息,在考虑选取F2(即第二个线性组合),为了有效的反映原来的信息,F1已有的信息就不需要出现在F2中(即用数学表达式Cov函数为统计学协方差:Cov(F1 , F2)=0),称F2为第二主成分。

(3)以此类推可以构造第三、第四。。。。。第p个主成分。

2、PCA步骤

观测数据矩阵:

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

(1)、对原始数据进行标准化处理。

变量:i:矩阵的行,j:矩阵的列;~X j:表示 j 列的均值(期望)var()函数:方差

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

(2)、计算样本相关系数矩阵。

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

(3)、计算相关系数矩阵R的特征值和相应的特征变量。

这里不在论述,不懂得看看线性代数,这里有matlab的

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维(4)、选着重要的成分,并写出主成分表达式。

①主成分分析可以得到P个主成分。但是,由于各个主成分的方差是递减的,包含的信息量也是减少的,所以实际分析时,一般不是选取P个主成分,而是根据各个主成分累计贡献率的大小选取前K个主成分。但要要求累计贡献率达到85%以上,这样才能保证综合变量包括原始变量的绝大多数信息。

②贡献率:某个主成分的方差占全部方差的比重,即某个特征值占全部特征值合计的比重。

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

③接下来要进行综合变量(即主成分变量)在一起应赋予怎样的实际含意解释,这要结合具体的实际问题和专业给出合理的解释,进而才能达到深刻分析的目的。

④一般而言,这个解释是根据主成分表达式的系数结合定性分析来进行的。

⑤主成分是原本变量的线性组合,在这个线性组合中各变量的系数有大有小,有正有负,有的大小相当,因而不能简单地认为这个主成分是某个变量的的属性的作用。

⑥线性组合中各变量的绝对值大者表明该主成分主要综合了绝对值大的变量,有几个变量系数大小相当时,应该认为这一主成分是这几个变量的总和。

(5)、计算主成分得分。

根据标准化的原始数据,按着这个样品,分别代入主成分表达式,就可以得到各主成分下的各个样品的新数据(即主成分得分)。

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

(6)、依据主成分得分的数据,进一步对问题进行后续的分析和建模。

后续的分析和建模常见的形式:主成分回归,变量子集合的选择,综合评价等。

3、PCA实例

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

由上图可知:15个企业进行综合实例排序。这里有8个指标,但是他们间的关联关系并不是太明确,且各指标数值的数量级也有差异,为此这里首先借助PCA方法对指标体系进行降维处理。然后根据PCA打分结果实现对企业的综合实例排序。

这里是用matlab进行编码的

(1)数据导入及处理

程序:

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

参数:xlsread():将表格导入并赋值给A

(2)数据标准化处理

程序:

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

参数:A:矩阵,a:矩阵的行数,b:矩阵列数,SA:标准化后矩阵,mean()函数:均值函数,std()函数:方差函数

相关公式:数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

x*:标准化矩阵,x:原始矩阵,~x j:表示列均值,var()函数:方差函数

(3)计算相关系数矩阵的特征值和特征向量    

程序:

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

参数:CM:相关系数矩阵,SA:标准化后矩阵,V:相关系数的特征向量,D:相关系数的特征值,corrcoef()函数:计算相关系数,eig()函数:计算特征值和特征向量

相关公式:数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

r:标准化矩阵的相关系数,cov()函数:协方差函数,var()函数:方差

(4)计算主成分

①计算贡献率和累计贡献率

程序:

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

参数:b:矩阵列数,D:相关系数的特征值,DS:关于特征值、贡献率和累计贡献率的矩阵,sum()函数:求和函数

相关公式:数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维,   累计贡献率G(m)数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维   

参数λ:为相关系数的特征值

结果:DS第一列为特征值,并且排过序,第二列为贡献率,第三列为累计贡献率

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

②选择的主成分以及对应的的特征向量

程序:

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

参数:T:主成分保留率,b:标准化矩阵的列,Com_num:选取的主成分数量;V:相关系数矩阵的的特征向量;PV:选取的主成分对应的特征向量

结果:

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

(5)计算各评价对象的主成分得分

程序:

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

参数:new_score :选取的主成分得分矩阵,SA:标准化之后的X矩阵 ,PV:选取的主成分对应的特征向量,total_score:选取的主成分的和以及企业编号,result_report:选取的主成分和总分以及编号,sum()函数:求和,sortrows()函数:排序

相关公式:数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

F:主成分得分,a:相关系数特征向量,x:标准化矩阵里面的数值

结果:result_report:1,2,3,列是各主成分得分;4列是前三列的和,是各主成分的总分;5列为企业编号

数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

从上面报告可知,第9综合实例最强,第12最弱

2)、相关系数降维

定义:X,Y 为两组观测数据

   数据挖掘学习------------------1-数据准备-4-主成分分析(PCA)降维和相关系数降维

①相关系数用 r 表示,与PCA里面的相关系数一样,r 在-1和+1之间取值。

②相关系数 r 的绝对值大小|r|,表示两个变量之间的直线相关强度

③相关系数 r 的正负号,表示相关的方向,分别为正相关和负相关

④相关系数 r = 0,则称零线性相关,简称零相关

⑤相关系数 |r| = 1,则表示两个变量完全相关,这时两个变量有确定的函数关系。

⑥相关系数 0.7 < |r| < 1,称高度相关;0.4 < |r| < 0.7,称中等相关;0.2 < |r| < 0.4,称低度相关;|r| < 0.2,称极低相关或近零相关

⑦两个高度相关的变量,要进行分析关系,他们之间可能具有明显的因果关系,也可能只具有部分因果关系,还可能没有直接的因果关系,其数量上的 相关联,只是他们共同受到第三个变量所支配的结果

⑧相关系数 r接近零,只能表示两个变量不存在明显的线性相关,但不能肯定的说明两个变量之间没有规律性的联系,根据散点图,可以看到他们有可能会有某种曲线相关,但是不是直线型相关,其 r 值往往接近零。