数据压缩第二次作业

Felicite ·
更新时间:2024-09-21
· 874 次阅读

作业2:主成分分析:步骤、应用及代码实现。代码可以用任何你熟悉的编程语言。

主成分分析的步骤:
1.利用原矩阵计算出协方差矩阵;
2.求出矩阵的特征值和特征向量;
3.矩阵对角化(特征值由大到小从上到下排列);
4.数据降维,生成降维后的新的矩阵。

主成分分析的应用:主成分分析作为基础的数学分析方法,其实际应用十分广泛,比如人口统计学、数量地理学、分子动力学模拟、数学建模、数理分析等学科中均有应用,是一种常用的多变量分析方法。

Matlab代码实现:
Matlab中有corrcoef函数用于求矩阵的相关系数矩阵,pcacov函数用于求特征值、因子贡献率、降维后的矩阵,所以进行主成分分析很简便。

代码:
clc
clear all
close all

X=[1 100 87 110 102
2 82 87 109 102
3 128 87 132 117
4 106 77 105 100
5 105 79 113 102
6 112 82 114 106
7 95 75 105 96
8 102 74 96 94
9 107 76 110 98
10 98 83 111 104
];%原数据数组
X=X(:,2:5);%第一列的序号与目标无关,可删去
Y=corrcoef(X);%求相关系数矩阵Y
[new, eigenvalue, contribution]=pcacov(Y)%求降维后的矩阵new,特征值eigenvalue,因子贡献率contribution

程序运行结果:
Y =

1.0000 0.0459 0.6578 0.6376 0.0459 1.0000 0.6446 0.7345 0.6578 0.6446 1.0000 0.9520 0.6376 0.7345 0.9520 1.0000

new =

0.3995 0.7279 -0.5115 -0.2212 0.4244 -0.6832 -0.5055 -0.3125 0.5693 0.0414 0.6936 -0.4394 0.5798 -0.0422 0.0414 0.8126

(注:用Matlab求出的降维后的矩阵与实际相比少一个负号)

eigenvalue =

2.9116 0.9573 0.1019 0.0292

contribution =

72.7895
23.9335
2.5479
0.7292


作者:タン



数据 压缩 数据压缩

需要 登录 后方可回复, 如果你还没有账号请 注册新账号