《模糊聚类分析例子1.pdf》由会员分享,可在线阅读,更多相关《模糊聚类分析例子1.pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.模糊聚类分析模型环境区域的污染情况由污染物在4个要素中的含量超标程度来衡量。设这5个环境区域的污染数据为x1=(80,10,6,2),x2=(50,1,6,4),x3=(90,6,4,6),x4=(40,5,7,3),x5=(10,1,2,4).试用模糊传递闭包法对X进行分类。解:80106250164*由题设知特性指标矩阵为:X 906464057310124数据规格化:最大规格化x ijxijMj其中:Mj max(x1j,x2 j,.,xnj)0.890.56X0 10.440.1110.10.60.50.10.860.330.860.670.571 10.50.290.67构造模糊
2、相似矩阵:采用最大最小法来构造模糊相似矩阵R (rij)55,10.54R 0.620.630.240.540.620.630.2410.550.700.530.5510.560.370.700.5610.380.530.370.381利用平方自合成方法求传递闭包t(R)依次计算R2,R4,R8,由于R8 R4,所以t(R)R4 10.632R 0.620.630.53 10.634R 0.620.630.530.630.620.630.5310.560.700.530.5610.620.53,0.700.6210.530.530.530.5310.630.620.630.5310.620.7
3、00.530.6210.620.53=R80.700.6210.530.530.530.531选取适当的置信水平值0,1,按截矩阵进行动态聚类。把t(R)中的元素从大到小的顺序编排如下:1062053.依次取=1,062,053,得10t(R)1 00010 00011 01011 110000010000100,此时X被分为5类:x1,x2,x3,x4,x500100001000010100100,此时X被分为4类:x1,x2,x4,x3,x510100001101010100100,此时X被分为3类:x1,x2,x4,x3,x510100001111011101110,此时X被分为2类:x
4、1,x2,x4,x3,x511100001t(R)0.7t(R)0.63t(R)0.62t(R)0.5311 1111 1 1 11 1 1 11 1 1 1,此时X被分为1类:x1,x2,x3,x4,x51 1 1 11 1 1 1Matlab程序如下:%数据规格化MATLAB 程序a=80 10 6 2 50 1 6 4 90 6 4 6 40 5 7 3 10 1 2 4;mu=max(a)for i=1:5for j=1:4 r(i,j)=a(i,j)/mu(j);endendr%采用最大最小法构造相似矩阵r=;b=r;for i=1:5for j=1:5 R(i,j)=sum(min
5、(r(i,:);b(:,j)/sum(max(r(i,:);b(:,j);endendR%利用平方自合成方法求传递闭包t(R)矩阵合成的MATLAB 函数function rhat=hech(r);n=length(r);for i=1:nfor j=1:nrhat(i,j)=max(min(r(i,:);r(:,j);endend求模糊等价矩阵和聚类的程序R=;R1=hech(R)R2=hech(R1)R3=hech(R2)bh=zeros(5);bh(find(R2)=12.模糊综合评判模型某烟草公司对某部门员工进行的年终评定,关于考核的具体操作过程,以对一名员工的考核为例。如下表所示,根
6、据该部门工作人员的工作性质,将 18 个指标分成工作绩效(U1)、工作态度(U2)、工作能力(U3)和学习成长(U4)这 4 各子因素集。员工考核指标体系及考核表员工考核指标体系及考核表一级指标一级指标二级指标二级指标优秀优秀工作绩效工作量工作效率工作质量计划性工作态度责任感团队精神学习态度工作主动性360 度满意度工作能力创新能力0良好良好评评价价一般一般较差较差00差差00 0000自我管理能力沟通能力协调能力执行能力学习成长勤情评价技能提高培训参与工作提供0000请专家设定指标权重,一级指标权重为:A0.4,0.3,0.2,0.1二级指标权重为:A10.2,0.3,0.3,0.2A20.
7、3,0.2,0.1,0.2,0.2A30.1,0.2,0.3,0.2,0.2A40.3,0.2,0.2,0.3对各个子因素集进行一级模糊综合评判得到:B1 A1R10.39,0.39,0.26,0.04,0.01B2 A2R20.21,0.37,0.235,0.125,0.06B3 A3R30.15,0.32,0.355,0.125,0.06B4 A4R40.27,0.35,0.24,0.1,0.02这样,二级综合评判为:0.390.210.150.270.390.260.010.370.2350.1250.060.320.3550.1250.060.350.240.10.20.04B A R
8、 0.4,0.3,0.2,0.10.28,0.37,0.27,0.09,0.04根据最大隶属度原则,认为该员工的评价为良好。同理可对该部门其他员工进行考核。3.层次分析模型你已经去过几家主要的摩托车商店,基本确定将从三种车型中选购一种,你选择的标准主要有:价格、耗油量大小、舒适程度和外观美观情况。经反复思考比较,构造了它们之间的成对比较判断矩阵。113A=1718311515785513113三种车型(记为a,b,c)关于价格、耗油量、舒适程度和外表美观情况的成对比较判断矩阵为价格 a b c耗油量 a b ca 123a11/51/2b511/2127bc c 1/31/2121/71 舒适
9、程度 a b c外表 a b ca 135a 11/53b51/31417bc c 1/51/411/31/71根据上述矩阵可以看出四项标准在你心目中的比重是不同的,请按由重到轻顺序将它们排出。解:用matlab求解层次总排序的结果如下表准则价格耗油量舒适程度外表总排序权值准则层权值方案层单排序权值abcMatlab程序如下:clc,clearn1=4;n2=3;a=1 3 7 81/3 1 5 51/7 1/5 1 31/8 1/5 1/3 1;b1=1 2 31/2 1 21/3 1/2 1 ;b2=1 1/5 1/25 1 72 1/7 1;b3=1 3 51/3 1 41/5 1/4
10、1;b4=1 1/5 35 1 71/3 1/7 1;ri=0,0,;%一致性指标RIx,y=eig(a);%x为特征向量,y为特征值lamda=max(diag(y);num=find(diag(y)=lamda);w0=x(:,num)/sum(x(:,num);w0%准则层特征向量CR0=(lamda-n1)/(n1-1)/ri(n1)%准则层一致性比例for i=1:n1x,y=eig(eval(char(b,int2str(i);lamda=max(diag(y);num=find(diag(y)=lamda);w1(:,i)=x(:,num)/sum(x(:,num);%方案层的特
11、征向量CR1(i)=(lamda-n2)/(n2-1)/ri(n2);%方案层的一致性比例endw1CR1,ts=w1*w0,CR=CR1*w0%ts为总排序的权值,CR为层次总排序的随机一致性比例%当CR小于时,认为总层次排序结果具有较满意的一致性并接受该结果,否则对判断矩阵适当修改4.灰色预测GM(1,1)模型某地区年平均降雨量数据如表某地区年平均降雨量数据年份124129116322341351467856117降雨量年份10320125405533101557616降雨量300规定hz=320,并认为x(0)(i)=hz为旱灾。预测下一次旱灾发生的时间解:初始序列如下x(0)=,412
12、,320,553,310,561,300,632,540,576,由于满足x(0)(i)=320的x(0)(i)为异常值,易得下限灾变数列为0 xhz=(320,310,300,其对应的时刻数列为t=(3,8,10,14,17)建立GM(1,1)模型(1)对原始数据t做一次累加,即t(1)=(3,11,21,35,52)(2)构造数据矩阵及数据向量(3)计算a,ba=,b=(4)建立模型y=+*exp(.253610*t)(5)模型检验年份原始值模型值残差相对误差3810381000级比偏差14171417(6)通过计算可以预测到第六个数据是由于与17 相差,这表明下一次旱灾将发生在五年以后。
13、计算的 MATLAB 程序如下:clc,cleara=,412,320,553,310,561,300,632,540,576,;x0=find(a=320);x0=x0;n=length(x0)lamda=x0(1:n-1)./x0(2:n)range=minmax(lamda)x1=cumsum(x0)for i=2:nz(i)=*(x1(i)+x1(i-1);endB=-z(2:n),ones(n-1,1);Y=x0(2:n);u=BYx=dsolve(Dx+a*x=b,x(0)=x0);x=subs(x,a,b,x0,u(1),u(2),x1(1);yuce1=subs(x,t,0:n
14、-1);digits(6),y=vpa(x)yuce=x0(1),diff(yuce1)epsilon=x0-yucedelta=abs(epsilon./x0)rho=1-*u(1)/(1+*u(1)*lamdayuce1=subs(x,t,0:n);yuce=x0(1),diff(yuce1)5.Verhulst预测模型在实际问题中,常遇到原始数据本身呈 S形的过程,这时,可取原始数据为x(1),其一次累减生成(1IAGO)为x(0),建立Verhulst模型,直接对x(1)进行预测(模拟)。现以中国道路交通事故死亡人数为例,建立交通事故死亡人数Verhualst 预测模型。由中国交通年鉴
15、、中国汽车工业年鉴等可得近年来中国道路交通事故死亡人数统计资料,见表14。表14 道路交通事故死亡人数统计年份19901991199219931994199519961997死亡人数(万人)年份1998死亡人数(万人)199920002001200220032004解:19902003 年中国道路交通事故死亡人数曲线见图2,可见曲线呈S 形,故可建立Verhulst 模型进行预测,其建模过程如下。(1)设x(1)为19902003 年死亡人数的原始数据序列,即(1)(1)(1)x(1)(x1(1),x2,x3.x14)(4.93,5.33,5.87,6.35,6.63,7.15,7.37,7.
16、39,7.81,8.35,9.39,10.59,10.94,10.44)(2)对x(1)作一次累减生成(1IAGO),由(0)(1)(1)xk xk xk1,k 2,3,.14得(0)(0)x(0)(x1(0),x2,.x14)(4.93,0.4,0.54,0.48,0.28,0.52,0.22,0.02,0.42,0.54,1.04,1.2,0.35,-0.5)(3)对x(1)作紧邻均值生成,令(1)(1)(1)0.5(xk xkzk1),k 2,3,.14得(1)(1)(1)z(1)(z2,z3,.z14)(5.13,5.6,6.11,6.49,6.89,7.26,7.38,7.6,8.0
17、8,8.87,9.99,10.765,10.69)(4)对参数列(a,b)T进行最小二乘估计,得0.128 (B B)B Y 0.0089T1T(5)Verhulst模型为dx(1)0.128x(1)0.0089(x(1)2dt (6)模型精度检验(过程略)平均相对误差=%,则模型精度为二级;同时算得绝对关联度g为,均方差比值C 为,则模型精度为一级,可见模型精度较高,可用于事故预测。Matlab编程如下clc,clearx1=;n=length(x1);nian=1990:2003;plot(nian,x1,o-);x0=diff(x1);x0=x1(1),x0for i=2:nz1(i)=
18、*(x1(i)+x1(i-1);endz1B=-z1(2:end),z1(2:end).2Y=x0(2:end)abhat=BYx=dsolve(Dx+a*x=b*x2,x(0)=x0);x=subs(x,a,b,x0,abhat(1),abhat(2),x1(1);yuce=subs(x,t,0:n-1);digits(6);x=vpa(x)x1_all=x1;epsilon=x1_all-yucedelta=abs(epsilon./x1_all)delta_mean=mean(delta)x1_all_0=x1_all-x1_all(1);yuce_0=yuce-yuce(1);s0=a
19、bs(sum(x1_all_0(1:end-1)+*x1_all_0(end);s1=abs(sum(yuce_0(1:end-1)+*yuce_0(end);tt=yuce_0-x1_all_0;s1_s0=abs(sum(tt(1:end-1)+*tt(end);absdegree=(1+s0+s1)/(1+s0+s1+s1_s0)c=std(epsilon,1)/std(x1_all,1)yuce=subs(x,t,0:n)(2,1)模型19962001 年上海市上网户数数据序列为x(0)(x(0)(1),x(0)(2),.x(0)(6)(0.33,0.9,10.24,42.24,88.
20、24,104.1)在互联网发展初期,增长势头十分强劲。因此,定理5 引入的一阶缓冲算子弱化该序列的增长趋势,一阶缓冲序列仍记为x(0),x(0)=(41,49,61,78,96,104),试以该序列为基础建立GM(2,1)模型解:x(0)的1-AGO序列和1-IAGO序列分别为x(1)=(41,90,151,229,325,429)(1)x(0)=(0,8,12,17,18,8)x(1)的紧邻均值生成序列z(1)=(0,190,277,377)x(0)(2),z(1)(2),1(0)x(3),z(1)(3),1 B=.(0)(1)x(6),z(6),1a1a a2b(1)x(0)(2)(1)(
21、0),Y=x(3).(1)(0)x(6)(0)(0)x(2)x(1)(0)(0)x(3)x(2)=.(0)(0)x(6)x(5)1.0922(BTB)1BTY 0.195931.7983可得,GM(2,1)时间响应式x(k 1)=*exp(.865973*t)+*exp(.226223*t)(1)所以预测的数据为(41,51,63,77,92,104)误差分析实际数据49617896104Matlab程序如下clc,clear模拟数据残差相对误差x0=41,49,61,78,96,104;n=length(x0);x1=cumsum(x0)%x1为累加数列a_x0=diff(x0);a_x0=
22、0,a_x0%a_x0为累减数列for i=2:nz(i)=*(x1(i)+x1(i-1);endB=-x0(2:end),-z(2:end),ones(n-1,1);Y=a_x0(2:end);u=BY%a1,a2,b的值x=dsolve(D2x+a1*Dx+a2*x=b,x(0)=c1,x(5)=c2);x=subs(x,a1,a2,b,c1,c2,u(1),u(2),u(3),x1(1),x1(6);yuce=subs(x,t,0:n-1);digits(6),x=vpa(x)%x为时间响应式x0_hat=yuce(1),diff(yuce)%预测的数据epsilon=x0-x0_hat
23、%计算残差delta=abs(epsilon./x0)%计算相对误差7.波形预测模型上海证券交易所综合指数的波形预测。根据上海证券交易所综合指数的周收盘指数数据,从1997年2月21日到1998年10月31日的周收盘指数曲线如图所示:解:取9条等间隔的等高线,分别为1=1140,2=1170,3=1200,4=1230,5=1260,6=1290,7=1320,8=1350,9=1380i的等高时刻序列分别为对应于1=1140,Q1(0)=(,41,)对应于2=1170,(0)Q2=(,23,76,)对应于3=1200,4=1230,5=1260,6=1290,7=1320,8=1350,9=
24、1380分别为Q3(0)=(,)(0)Q4=(,85)Q5(0)=(7,)Q6(0)=(,)Q7(0)=(,)Q8(0)=(,)Q9(0)=(,69)对Qi(0)(i=1,2,3,9)序列,进行GM(1,1)预测,起响应时分别为y1=+*exp*t)y2=+*exp*t)y3=+*exp(.166865*t)y4=+*exp(.159938*t)y5=+*exp(.446077*t)y6=+*exp(.550388*t)y7=+*exp(.191636*t)y8=+*exp(.185059*t)y9=+*exp(.488018*t)对在1998年11月到2000年3月这5个月进行预测,可得等高
25、时刻的预测序列Q1=(,)Q2=(,)(0)(0)Q3=(,)Q4=(,)Q5=(,)Q6=()Q7=(,)Q8=(,)Q9=()据此可以画出上海证券交易所综合指数1998年11月到2000年3月的预测波形图如下(0)(0)(0)(0)(0)(0)(0)Matlab程序如下:%GM(1,1)函数function gm11(x0,t)n=length(x0);x1=cumsum(x0);lamda=x0(1:n-1)./x0(2:n);for i=2:nz(i)=*(x1(i)+x1(i-1);endB=-z(2:n),ones(n-1,1);Y=x0(2:n);u=BY;x=dsolve(Dx+a*x=b,x(0)=x0);x=subs(x,a,b,x0,u(1),u(2),x1(1);yuce1=subs(x,t,0:n-1);digits(6),y=vpa(x)yuce1=subs(x,t,0:n-1+t);yuce=x0(1),diff(yuce1)%预测数据clc,clearx1=,41,;x2=,23,76,;x3=,;x4=,85;x5=7,;x6=,;x7=,;x8=,;x9=,69;gm11(x1,4)gm11(x2,4)gm11(x3,4)gm11(x4,4)gm11(x5,4)gm11(x6,4)gm11(x7,4)gm11(x8,4)gm11(x9,4)
限制150内