小白学数据,只为记录学习进程,对每个问题有新的理解会及时更正。
一、PCA
在处理大数据时,数据量太多太杂,影响执行效率。这时候使用PCA来选择重要的信息,实现降维,减少数据量。
具体步骤
1.对特征归一化:对每个特征,求特征的平均值,再用每个特征减去这个平均值。
2.求协方差矩阵:A和A的转置相乘,得到协方差矩阵,因为PCA的思想就是使得降维后的数据尽量分开,同样保证不同特征之间的关联性小。这样只要让协方差矩阵的对角元素尽可能大,其他元素为0
3.对角化:求解协方差阵的特征值和特征向量,让协方差阵对角化
4.确定k个特征:选择top k个特征值,将对角化后的矩阵按照特征值从大到小排序,并且选择这k个特征值对应的特征向量,进行矩阵投影。
5.相乘:用这k个特征向量去和对角化后的矩阵相乘,得到投影后的数据矩阵。
降维的目的:
1.减少不必要的特征,降低数据复杂度
2.使变量之间不相关
3.去除噪声等冗余信息
二、相关系数
1.皮尔森相关系数
皮尔森相关系数要求数据总体呈正太分布。
皮尔森相关系数反应的是线性相关程度,r取值在[-1,1],当r>0,是正相关,当r<0是负相关,当r=0是非线性相关(注意,只是非线性相关,不代表不相关,可能是曲线相关)
计算公式:r =
S
x
y
/
S
x
∗
S
y
Sxy/Sx*Sy
Sxy/Sx∗Sy
即X和Y的协方差,除以X,Y标准差的乘积。
2.斯皮尔曼相关系数
斯皮尔曼相关系数对数据要求不高,两个变量可以排序就可以了。
对两个变量进行等级排序(值相同,采用均值),再计算排序值之间的距离d(两个排序值相减),带入公式
n是变量个数。计算得到相关系数。
等级相关系数与相关系数一样,取值-1到+1之间,rs为正表示正相关,rs为负表示负相关,rs等于零为零相关,区别是它是建立在等级的基础上计算的,较适用于反映序列变量的相关。