yeguxing 发表于 2006-12-26 16:53

求助!!

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

yeguxing 发表于 2006-12-28 09:33

怎么没人会吗?

madio 发表于 2006-12-28 13:10

<p>下面是一个主成分分析的例子,都是使用了统计工具箱中的函数,详细参见matlab统计工具箱的帮助,这里我觉得使用SPSS进行相关分析更加方便,你可以试一试!</p><p>%基于相关系数矩阵<br/>clear;<br/>load suju.mat;<br/>stdr=std(dataset); %求个变量的标准差<br/>=size(dataset); %定义矩阵行列数<br/>sddata=dataset./stdr(ones(n,1),:); %将原始数据采集标准化<br/>sddata %输出标准化数据<br/>=princomp(sddata);<br/>% p 每列是相应的特征向量数值,也即是每个组成分在各原是变量上的系数<br/>%第一列是想对应于最大的特征值的特征向量 依此类推 princ n行m列矩阵<br/>%是代表第一条信息的m个主成分分值<br/>%eigenvalue 1维m元列向量,每条信息到样本中心的距离<br/>per=100*eigenvalue/sum(eigenvalue) %求出各主成分的贡献率<br/>cumsum(per) %列出各主成分的累积贡献率<br/>figure(1)<br/>pareto(per); %将贡献率绘成直方图<br/>figure(2)<br/>plot(eigenvalue,'r+'); %绘制方差贡献散点图<br/>hold on <br/>%保持图形<br/>plot(eigenvalue,'g-'); %绘制方差贡献山麓图<br/>p3=p(:,1:10) %提取前10个主成分得分系数<br/>sc=princ(:,1:10) %提取前10个主成分得分值</p>

zhubq 发表于 2007-1-2 21:17

<p>不会</p>
[此贴子已经被作者于2007-1-2 21:18:54编辑过]
页: [1]
查看完整版本: 求助!!