- Python大数据分析算法与实例
- 邓立国
- 827字
- 2022-07-27 19:35:01
2.4.5 数据主成分分析的计算
样本观测数据矩阵为:
(1)对原始数据进行标准化处理:
其中:
(2)计算样本相关系数矩阵:
为了方便,假定原始数据标准化后仍用X表示,则经标准化处理后的数据的相关系数为:
(3)用雅克比方法求相关系数矩阵R的特征值(λ1, λ2, …, λp)和相应的特征向量ai=(ai1,ai2,…,aip),i=1,2,…,p。
(4)选择重要的主成分,并写出主成分表达式。
主成分分析可以得到p个主成分,但是,由于各个主成分的方差是递减的,包含的信息量也是递减的,因此在实际分析时,一般不选取p个主成分,而是根据各个主成分累计贡献率的大小选取前k个主成分。这里贡献率是指某个主成分的方差占全部方差的比重,实际上就是某个特征值占全部特征值合计的比重,即:
贡献率越大,说明该主成分所包含的原始变量的信息越强。主成分个数k的选取主要根据主成分的累积贡献率来决定,即一般要求累计贡献率达到85%以上,这样才能保证综合变量包括原始变量的绝大多数信息。
另外,在实际应用中,选择了重要的主成分后,还要注意主成分的实际含义解释。主成分分析中一个很关键的问题是如何给主成分赋予新的意义,给出合理的解释。一般而言,这个解释是根据主成分表达式的系数结合定性分析来进行的。主成分是原来变量的线性组合,在这个线性组合中,变量的系数有大有小,有正有负,有的大小相当,因而不能简单地认为这个主成分是某个原变量的属性的作用结果,线性组合中各变量系数的绝对值大者表明该主成分主要综合了绝对值大的变量,有几个变量系数大小相当时,应认为这一主成分是这几个变量的总和,这几个变量综合在一起应赋予怎样的实际意义,要结合实际问题和专业给出恰当的解释,进而达到深刻分析的目的。
(5)计算主成分得分。
根据标准化的原始数据,按照各个样品分别代入主成分表达式,就可以得到各主成分下的各个样品的新数据,即为主成分得分。具体形式如下:
(6)进一步的统计分析依据主成分得分的数据,可以进行进一步的统计分析。其中,常见的应用有主成分回归、变量子集合的选择、综合评价等。