matlab与应用多元统计分析
多元统计分析中的应用研究
,
摘要:许多实际问题往往需要对数据进行统计分析,建立合适的统计模型,过去一般采用 SAS 、SPSS软件分析,本文给出 Matlab软件在多元统计分析上的应用, 主要介绍Matlab在聚类分析、判别分析、主成份分析上的应用,文中均给以实例, 结果令人满意。 关键词:Matlab软件;聚类分析;主成份分析
Research for application of Multivariate Statistical
Analysis
Abstract:Many practice question sometimes need Statistical Analysis to data.,and establish appropriate Statistical model SAS and SPSS software were commonly used in foretime ,this paper give the application of Matlab software in Multivariate Statistical Analysis,mostly introduce the application of Matlab software in priciple component analysis and cluster analysis and differentiate analysis.The example are given in writing and the result are satisfaction.
Key words: Matlab software; cluster analysis; priciple component analysis 许多实际问题往往需要对数据进行多元统计分析, 建立合适的模型, 在
0 引言
多元统计分析方面, 常用的软件有SAS 、SPSS 、S-PLUS等 。我们在这里给出Matlab在多元统计分析上的应用, 在较早的版本中, 统计功能不那么强大, 而在Matlab6.x版本中, 仅在统计工具中的功能函数就达200多个, 功能 已 足 以 赶超任何其他专用的统计软件,在应用上Matlab具有其他软件不可比拟的操作简单,接口方便, 扩充能力强等优势, 再加上Matlab的应用范围广泛, 因此可以预见其在统计应用上越来越占有极其重要的地位,下面用实例给出Matlab在聚类分析、主成份分析上的应用。 1 聚类分析
聚类分析法是一门多元统计分类法,其目的是把分类对象按一定规则分成若干类,所分成的类是根据数据本身的特征确定的。聚类分析法根据变量(或样品或指标)的属性或特征的相似性,用数学方法把他们逐步地划类,最后得到一个能反映样品之间或指标之间亲疏关系的客观分类系统图, 称为谱系聚类图。
聚类分析的步骤有:数据变换,计算n个样品的两两间的距离,先分为一类,在剩下的n-1个样品计算距离,按照不同距离最小的原则,增加分类的个数,减少所需要分类的样品的个数,循环进行下去,直到类的总个数为 1 时止。根
据类之间的距离,画出谱系聚类图。
我们对杭州所辖张家港市2005年七条河流中主要污染因子(指标)即CODmn,BOD5, 非离子氨,氨氮,挥发酚, 石油类共6个变量(资料见表1, 来源于张家港市2003年环境质量报告书) ,进行聚类分析。
我们利用Matlab6.5中的cluster命令实现,具体程序如下
x={
3.14 5.47 3.1 5.67 6.81
6.21 4.87
8.41 9.57 4.31 9.54 9.05 7.08 8.97
23.78 26.48 21.2 10.23 16.18 21.05 26.54
25.79 23.79 22.48 20.87 24.56 31.56 34.56
4.17 6.42 5.34 4.2 5.2 6.15 5.58
6.47 5.58 6.54 6.8 5.45 8.21 8.07 }
{n,m}=size(x); Stdr=std(x);
xx=x./stdr(ones(n,1),;); % 标准化变换
y=pdist(xx); %计算各样本间距离(这里为欧氏距离) z=linkage(y); %进行聚类(这里为最短距离法) h=dendrogram(z); %画聚类谱系图 t=cluster(z,3) % 将全部样本分为3类 find(t==2); %找出属于第2类的样品编号 执行后得到所要结果 聚类谱系图见图1
t={3,1,3,1,1,2,2} 即全部样本分为3类。结果见表1
从图 1可以看出:七条河流中, 二干河、横套河、四干河属于一类, 污染
较重, 主要是CODmn、BOD5超标多; 华妙河、盐铁塘属于一类, 污染一般, 主要是氨氮、石油类超标; 张家港河、东横河属于一类,污染较轻, 总的来说,各河流都存在不同程度的污染,因此全市应对各河流严格监督管理, 着力实施水污染防治工作, 太湖流域水污染源应限期治理达标排放, 巩固水污染防治工作成果,加
大投入,新建或改、 扩建废水治理工程, 确保达标排放。
图1 :聚类谱系图
,
2 主成分分析
主成分分析是将多个指标化为少数几个综合指标的一种多元统计分析方法。对于实际工作中遇到的多指标系统评估问题,主成分分析可以将多个指标综合为单个指数的形式。
主成分的计算步骤如下:
第一步,原始数据零均值标准化。
设每个指标的样本数据为xi,1,xi,2,Lxi,Nxi,1,xi,2,Lxi,N.作如下变换,令
x'ij=(xij- x i)/Si
(i=1,2,L,P; j=1,2,L,N)
第二步,计算相关矩阵R=(rij),其中
第三步,求矩阵R 的特征值λi 与相应的标准正交化的特征向量Ai。 第四步,计算第j 个主成分yi 的贡献率
当前q 个主成分(即新的综合指标) 的累积贡献率超过85%时,就提取前q 个主成分作为评价指标,它们保持原始数据总信息量的85%以上。
这里给出江苏省生态城市主成份分析实例
城市环境生态化是城市发展的必然趁势, 表现为社会、经济、环境与生态全方位的现代化水平, 一个符合生态规律的生态城市应该是结构合理、功能高效和关系协调的城市生态系统所谓结构合理是指适度的人口密度, 合理的土地利用, 良好的环境质量, 充足的绿地系统, 完善的基础设施, 有效的自然保护功能高效是指资源的优化配置、物力的经济投入、人力的充分发挥、物流的畅通有序、信息流的快捷关系协调是指人和自然协调、社会关系协调、城乡
协调、资源利用和更新协调一个城市要实现生态城市的发展目标, 关键是在市场经济的体制下逐步改善城市的生态环境质量, 防止生态环境质量恶化, 因此, 对城市的生态环境水平调查评价很有必要。
我们对江苏省十个城市的生态环境状况进行了调查, 得到生态环境指标的指数值, 见表2。现对生态环境水平分析和评价
表2 指标指数值
我们利用Matlab6.5中的princomp命令实现,具体程序如下
x=x’
stdr=std(x); %求各变量标准差 {n,m}=size(x);
Sddsta=x./stdr(ones(n,1),:); % 标准化变换
{p,princ,egenvalue}=princomp(sddata) %调用主成分分析程序 P3=(:,1:3) %输出前三个主成分系数 sc=princ(:,1:3) %输出前三个主成分得分 egenvalue %输出特征根
per=100* egenvalue/sum(egenvalue) %输出各个主成分贡献率 执行后得到所要结果, 这里是前三个主成分、主成分得分、特征根即
Egenvalue=[3.8811,2.6407,1.0597]’, per=[43.12,29.34,11.97]’ 这样, 前三个主成分为
Z1=-0.3677x1+0.3702x2+0.1364x3+0.4048x4+0.3355x5-0.1318x6+0.4236x7+0.4815x8-0.0643x9
Z2=0.1442x1+0.2313x2-0.5299x3+0.1812x4-0.1601x5+0.5273x6+0.3116x7-0.0267x8+0.4589x9
Z3=-0.3282x1-0.3535x2+0.0498x3+0.0582x4+0.5664x5-0.0270x6-0.0958x7-0.2804x8+0.5933x9
第一主成分贡献率为43.12%,第二主成分贡献率为29.34%, 第三主成分贡献率为11.97%,前三个主成分累计贡献率达84.24%如果按80%以上的信息量选取新因子, 则可以选取前三个新因子第一新因子Z1包含的信息量最大为43.12%, 它的主要代表变量为X8(城市文明)、X7(生产效率)、X4(城市绿化), 其权重系数分别为0.4815、0.4236、0.4048, 反映了这三个变量与生态环境水平密切相关,第二新因子Z2包含的信息量次之为29.34%, 它的主要代表变量为X3(地理结构)、X6(资源配置)、X9(可持续性), 其权重系数分别为0.5299、0.5273、0.4589, 第三新因子Z3包含的信息量为11.97%, 代表总量为X9(可持续性)、X5(物质还原), 权重系数分别为0.5933、0.5664这些代表变量反映了各自对该新因子作用的大小, 它们是生态环境系统中最重要的影响因素。
根据前三个主成分得分, 用其贡献率加权, 即得十个城市各自的总得分
F=43.12%princ(:,1)+29.34% princ(:,2)+11.97% princ(:,3)
=[0.0970,-0.6069,-1.5170,1.1801,0.0640,-0.8178,-0.9562,1.1383,0.1107,1.3077]’
根据总得分排序, 结果见表2
参考文献
[1 ] 高惠璇. 应用多元统计分析[M] . 北京:北京大学出社,2005. [2 ] 袁志发. 多元统计分析 [M ]. 北京 :科学出版社 , 2002.
[3] 梁邦助. 多元统计分析在教学质量评价中的应用[J]. 天津工业大学学报,2002(3). [4]于秀林, 任雪松.多元统计分析[M].中国统计出版社,1999. [5] 王学民. 应用多元分析 [ M ] . 上海 :上海财经大学出版社 ,1999. [6] 陈桂明等.MATLAB数理统计(6.x)[M]北京科学出版社,2002 [7 刘则毅.科学计算技术与MATLAB[M]北京科学出版社,2001