MATLAB实现主成分分析的例子例题
主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。主成分分析的本质是对实验数据的相关系数矩阵求特征值和特征向量,然后对特征向量进行排序,最大的特征值对应的特征向量方向即为第一主成分,次大的特征值对应的特征向量方向即为第二主成分,以此类推。
下面通过一个具体例子说明如何对数据进行主成分分析。
例题 已知某湖8年来湖水中COD浓度的实测值y与影响因素湖区工业产值x 1 、总人口数x 2 、捕鱼量x 3 、降水量x4的资料如下:
x 1 =[1.376,1.375,1.387,1.401,1.412,1.428,1.445,1.477]',
x 2 =[0.450,0.475,0.485,0.500,0.535,0.545,0.550,0.575]',
x 3 =[2.170,2.554,2.676,2.713,2.823,3.088,3.122,3.262]',
x 4 =[0.8922,1.1610,0.5346,0.9589,1.0239,1.0499,1.1065,1.1387]',
x=[x 1 ,x 2 ,x 3 ,x 4 ].
对数据进行主成分分析。
解: 计算相关系数矩阵:
R=corrcoef(x)
求特征值、特征向量:
[V,D]=eig(R)
得结果:
按特征值由大到小的顺序写出各主成分: