主成分分析SPSS步骤+Matlab程序

SPSS

![[Pasted image 20240818185041.png]]

导入数据

![[Pasted image 20240819052400.png]]

![[Pasted image 20240819052522.png]]

主成分分析

![[Pasted image 20240819052621.png]]

参数设置

选择要压缩的变量
![[Pasted image 20240819052723.png]]

![[Pasted image 20240819052855.png]]

![[Pasted image 20240819053050.png]]

![[Pasted image 20240819053101.png]]

![[Pasted image 20240819053126.png]]

![[Pasted image 20240819053200.png]]

输出结果

![[Pasted image 20240819053221.png]]

![[Pasted image 20240819053545.png]]

![[Pasted image 20240819053659.png]]

越陡说明信息差越大,反之信息差越小
![[Pasted image 20240819053811.png]]

![[Pasted image 20240819054027.png]]

![[Pasted image 20240819053403.png]]
![[Pasted image 20240819053436.png]]

导出数据

双击可以复制
![[Pasted image 20240819055032.png]]
粘贴到matlab
![[Pasted image 20240819055059.png]]

计算

Matlab

clc,clear
data = readmatrix('例2.xlsx'); %将数据保存在txt文件中
data = zscore(data); %数据的标准化
r = corrcoef(data);  %计算相关系数矩阵r
%下面利用相关系数矩阵进行主成分分析,vecl的第一列为r的第一特征向量,即主成分的系数
[vec1,lamda,rate] = pcacov(r); %lamda为r的特征值,rate为各个主成分的贡献率
ljrate = cumsum(rate); %累计贡献率
f = repmat(sign(sum(vec1)), size(vec1, 1), 1); %构造与vecl同维数的元素为正负1的矩阵
vec2 = vec1.*f; %修改特征向量的正负号,使得每个特征向量的分量和为正,即为最终的特征向量
num = find(lamda>1, 1, 'last'); %num为选取的主成分的个数,这里选取特征值大于1的
df = data*vec2(:,1:num); %计算各个主成分的得分
tf = df*rate(1:num)/100; %计算综合得分
[stf, ind] = sort(tf,'descend'); %把得分按照从高到低的次序排列
disp('特征值及其贡献率,累加贡献率:')
[lamda, ratem ljrate]
disp('主成分得分及排序')
[stf, ind]

%假定主成分的信息保留率
T = 0.9;
for k = 1:b
	if DS(k, 3) >= T
		com_num = k;
		break;
	end
end

![[Pasted image 20240819063125.png]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值