当前位置:文档之家› 模糊聚类分析例子1

模糊聚类分析例子1

1. 模糊聚类分析模型环境区域的污染情况由污染物在4个要素中的含量超标程度来衡量。

设这5个环境区域的污染数据为1x =(80,10,6,2),2x =(50,1,6,4),3x =(90,6,4,6),4x =(40,5,7,3),5x =(10,1,2,4).试用模糊传递闭包法对X 进行分类。

解:由题设知特性指标矩阵为:*80106250164906464057310124X ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦数据规格化:最大规格化'ij ijjx x M =其中:12max(,,...,)j j j nj M x x x =构造模糊相似矩阵:采用最大最小法来构造模糊相似矩阵55()ij R r ⨯=, 利用平方自合成方法求传递闭包t (R )依次计算248,,R R R ,由于84R R =,所以4()t R R =210.630.620.630.530.6310.560.700.530.620.5610.620.530.630.700.6210.530.530.530.530.531R ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦,410.630.620.630.530.6310.620.700.530.620.6210.620.530.630.700.6210.530.530.530.530.531R ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦=8R选取适当的置信水平值[0,1]λ∈,按λ截矩阵进行动态聚类。

把()t R 中的元素从大到小的顺序编排如下:1>>>062>053.依次取λ=1,,,062,053,得11000001000()0010*******0001t R ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦,此时X 被分为5类:{1x },{2x },{3x },{4x },{5x }0.71000001010()001000101000001t R ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦,此时X 被分为4类:{1x },{2x ,4x },{3x },{5x }0.631101011010()001001101000001t R ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦,此时X 被分为3类:{1x ,2x ,4x },{3x },{5x }0.621111011110()111101111000001t R ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦,此时X 被分为2类:{1x ,2x ,4x ,3x },{5x }0.531111111111()111111111111111t R ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦,此时X 被分为1类:{12345,,,,x x x x x }Matlab 程序如下: %数据规格化MATLAB 程序a=[801062 50164 90646 40573 10124]; mu=max(a) for i=1:5 for j=1:4r(i,j)=a(i,j)/mu(j); end end r%采用最大最小法构造相似矩阵r=['; for i=1:5 for j=1:5R(i,j)=sum(min([r(i,:);b(:,j)']))/sum(max([r(i,:);b(:,j)'])); end end R%利用平方自合成方法求传递闭包t (R ) 矩阵合成的MATLAB 函数function rhat=hech(r); n=length(r); for i=1:n for j=1:nrhat(i,j)=max(min([r(i,:);r(:,j)'])); end end求模糊等价矩阵和聚类的程序 2. R=[模糊综合评判模型某烟草公司对某部门员工进行的年终评定,关于考核的具体操作过程,以对一名员工的考核为例。

如下表所示,根据该部门工作人员的工作性质,将18个指标分成工作绩效(1U )、工作态度(2U )、工作能力(3U )和学习成长(4U )这4各子因素集。

员工考核指标体系及考核表技能提高 培训参与工作提供 0请专家设定指标权重,一级指标权重为: 二级指标权重为:对各个子因素集进行一级模糊综合评判得到: 这样,二级综合评判为:根据最大隶属度原则,认为该员工的评价为良好。

同理可对该部门其他员工进行考核。

3.层次分析模型你已经去过几家主要的摩托车商店,基本确定将从三种车型中选购一种,你选择的标准主要有:价格、耗油量大小、舒适程度和外观美观情况。

经反复思考比较,构造了它们之间的成对比较判断矩阵。

A=1378115531113751111853⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦三种车型(记为a,b,c )关于价格、耗油量、舒适程度和外表美观情况的成对比较判断矩阵为 价格abc 耗油量abc 舒适程度abc 外表abc1351/3141/51/41a b c ⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦11/535171/31/71a b c ⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦根据上述矩阵可以看出四项标准在你心目中的比重是不同的,请按由重到轻顺序将它们排出。

解:用matlab 求解 层次总排序的结果如下表Matlab程序如下:clc,clearn1=4;n2=3;a=[13781/31551/71/5131/81/51/31];b1=[1231/2121/31/21];b2=[11/51/251721/71];b3=[1351/3141/51/41];b4=[11/535171/31/71];ri=[0,0,,,,,,,];%一致性指标RI[x,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:n1[x,y]=eig(eval(char(['b',int2str(i)])));lamda=max(diag(y));num=find(diag(y)==lamda);w1(:,i)=x(:,num)/sum(x(:,num));%方案层的特征向量CR1(i)=(lamda-n2)/(n2-1)/ri(n2);%方案层的一致性比例endw1CR1,ts=w1*w0,CR=CR1*w0%ts为总排序的权值,CR为层次总排序的随机一致性比例%当CR小于时,认为总层次排序结果具有较满意的一致性并接受该结果,否则对判断矩阵适当修改4.灰色预测GM(1,1)模型某地区年平均降雨量数据如表某地区年平均降雨量数据规定hz=320,并认为(0)()x i<=hz为旱灾。

预测下一次旱灾发生的时间解:初始序列如下(0)x=,412,320,,,,553,310,561,300,632,540,,,576,,由于满足(0)()x i为异常值,易得下限灾变数列为x i<=320的(0)()x=(320,310,300,,hz其对应的时刻数列为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)模型检验(6)通过计算可以预测到第六个数据是由于与17相差,这表明下一次旱灾将发生在五年以后。

计算的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=B\Yx=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) yuce=[x0(1),diff(yuce1)] epsilon=x0-yuce delta=abs(epsilon./x0) rho=1-*u(1))/(1+*u(1))*lamda yuce1=subs(x,'t',[0:n]); yuce=[x0(1),diff(yuce1)] 预测模型在实际问题中,常遇到原始数据本身呈S 形的过程,这时,可取原始数据为(1)x ,其一次累减生成(1—IAGO )为(0)x ,建立Verhulst 模型,直接对(1)x 进行预测(模拟)。

现以中国道路交通事故死亡人数为例,建立交通事故死亡人数Verhualst 预测模型。

由《中国交通年鉴》、《中国汽车工业年鉴》等可得近年来中国道路交通事故死亡人数统计资料,见表14。

解:1990~2003年中国道路交通事故死亡人数曲线见图2,可见曲线呈S 形,故可建立Verhulst 模型进行预测,其建模过程如下。

(1)设(1)x 为1990~2003年死亡人数的原始数据序列,即(1)(1)(1)(1)(1)12314(,,...)(4.93, 5.33, 5.87, 6.35, 6.63, 7.15,7.37, 7.39, 7.81, 8.35, 9.39,10.59,10.94,10.44)x x x x x ==(2)对x(1)作一次累减生成(1—IAGO ),由得(0)(0)(0)(0)1214(,,...)(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)x x x x ==(3)对(1)x 作紧邻均值生成,令得(1)(1)(1)(1)2314(,,...)(5.13, 5.6, 6.11, 6.49, 6.89, 7.26, 7.38,7.6, 8.08, 8.87, 9.99,10.765,10.69)z z z z ==(4)对参数列进行最小二乘估计,得 (5)Verhulst 模型为(6)模型精度检验(过程略)平均相对误差Δ=%,则模型精度为二级;同时算得绝对关联度g 为,均方差比值C 为,则模型精度为一级,可见模型精度较高,可用于事故预测。

相关主题