matlab
by lqx
评价模型
因子分析算法
% 生成随机数据
data = randn(100, 4); % 假设有100个样本和4个变量
% 计算相关系数矩阵
R = corrcoef(data);
% 显示相关系数矩阵
disp('相关系数矩阵:');
disp(R);
%结果展示
相关系数矩阵:
1.0000 -0.0104 -0.0331 0.0328
-0.0104 1.0000 -0.0498 0.1113
-0.0331 -0.0498 1.0000 -0.1102
0.0328 0.1113 -0.1102 1.0000
% 相关系数矩阵 R
R = [1.00, 0.75, 0.50;
0.75, 1.00, 0.25;
0.50, 0.25, 1.00];
% 求解特征值和特征向量
[V, D] = eig(R);
% 显示特征值
disp('特征值:');
disp(diag(D));
% 显示特征向量
disp('特征向量:');
disp(V);
%结果展示
特征值:
0.1995
0.7722
2.0283
特征向量:
0.7431 0.1214 0.6581
-0.6108 0.5248 0.5929
-0.2734 -0.8425 0.4641
r=[1 -1/3 2/3;-1/3 1 0;2/3 0 1];
[vec,val,con]=pcacov(r);
num=2;
f1=repmat(sign(sum(vec)),size(vec,1),1);
vec=vec.*f1;
f2=repmat(sqrt(val)',size(vec,1),1);
a=vec.*f2
[b,t]=rotatefactors(a(:,1:num),'method', 'varimax')
%结果展示
a =
0.9342 0 0.3568
-0.4178 0.8944 0.1596
0.8355 0.4472 -0.3192
b =
0.8706 -0.3386
-0.0651 0.9850
0.9408 0.1139
t =
0.9320 -0.3625
0.3625 0.9320