数学建模社区-数学中国

标题: 求助!! [打印本页]

作者: yeguxing    时间: 2006-12-26 16:53
标题: 求助!!

那位知道用Matlab怎么做主成分分析,对应分析和因子分析啊?能不能给些原码啊?


作者: yeguxing    时间: 2006-12-28 09:33
怎么没人会吗?
作者: madio    时间: 2006-12-28 13:10

下面是一个主成分分析的例子,都是使用了统计工具箱中的函数,详细参见matlab统计工具箱的帮助,这里我觉得使用SPSS进行相关分析更加方便,你可以试一试!

%基于相关系数矩阵
clear;
load suju.mat;
stdr=std(dataset); %求个变量的标准差
[n,m]=size(dataset); %定义矩阵行列数
sddata=dataset./stdr(ones(n,1),; %将原始数据采集标准化
sddata %输出标准化数据
[p,princ,eigenvalue,t2]=princomp(sddata);
% p 每列是相应的特征向量数值,也即是每个组成分在各原是变量上的系数
%第一列是想对应于最大的特征值的特征向量 依此类推 princ n行m列矩阵
%是代表第一条信息的m个主成分分值
%eigenvalue 1维m元列向量,每条信息到样本中心的距离
per=100*eigenvalue/sum(eigenvalue) %求出各主成分的贡献率
cumsum(per) %列出各主成分的累积贡献率
figure(1)
pareto(per); %将贡献率绘成直方图
figure(2)
plot(eigenvalue,'r+'); %绘制方差贡献散点图
hold on
%保持图形
plot(eigenvalue,'g-'); %绘制方差贡献山麓图
p3=p(:,1:10) %提取前10个主成分得分系数
sc=princ(:,1:10) %提取前10个主成分得分值


作者: zhubq    时间: 2007-1-2 21:17

不会

4 V0 D" Z0 N" B
[此贴子已经被作者于2007-1-2 21:18:54编辑过]





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5