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 ij
j
x x M =
其中: 12max(,,...,)j j j nj M x x x =
00.8910.860.330.560.1
0.860.671
0.60.5710.440.510.50.11
0.1
0.290.67X ????????=??
??????
构造模糊相似矩阵: 采用最大最小法来构造模糊相似矩阵55()ij R r ?=,
1
0.540.620.630.240.5410.550.700.530.62
0.5510.560.370.630.700.5610.380.240.530.370.381R ??
???
???=??
??????
利用平方自合成方法求传递闭包t (R )
依次计算248,,R R R , 由于84R R =,所以4()t R R =
2
10.630.620.630.530.6310.560.700.530.62
0.5610.620.530.630.700.6210.530.530.530.530.531R ??
??????=??
??????,
4
10.630.620.630.530.6310.620.700.530.62
0.6210.620.530.630.700.6210.530.53
0.530.530.531R ????????=??
??????
=8R
选取适当的置信水平值[0,1]λ∈, 按λ截矩阵进行动态聚类。把()t R 中的元素从大到小的顺序编排如下: 1>0.70>0.63>062>053. 依次取λ=1, 0.70, 0.63, 062, 053,得
11
000001000()0
010*******
0001t R ?????
?
??=??
??????,此时X 被分为5类:{1x },{2x },{3x },
{4x },{5x } 0.7
1000001010()001000101000001t R ??????
??=??
??????,此时X 被分为4类:{1x },{2x ,4x },{3x },{5x }
0.63
1101011010()001001101000001t R ??????
??=??
??????,此时X被分为3类:{1x ,2x ,4x }
,{3x },{5x } 0.62
1111011110()11110111100
0001t R ??????
??=??
??????
,此时X 被分为2类:{1x ,2x ,4x ,3x },{5x }
0.53
1111111111()11111111111
1111t R ??
????
??=??
??????
,此时X 被分为1类:{12345,,,,x x x x x }
M atl ab 程序如下: %数据规格化MATL AB 程序 a=[80 10 6 2
50 1 6 4 90 6 4 6 40 5 7 3 10 1 2 4]; m u=max(a) for i=1:5 for j=1:4
r(i,j)=a(i,j)/mu(j); end end r
%采用最大最小法构造相似矩阵
r=[0.8889 1.0000 0.8571 0.3333 0.5556 0.1000 0.8571 0.6667 1.0000 0.6000 0.5714 1.0000 0.4444 0.5000 1.0000 0.5000 0.1111 0.1000 0.2857 0.6667]; b=r '; for i=1:5 fo r j=1:5
R(i ,j)=sum(min([r(i,:);b (:,j )']))/sum(max([r(i ,:);b(:,j)'])); e nd end R
%利用平方自合成方法求传递闭包t(R ) 矩阵合成的MATLAB 函数
f unc tion r hat=he ch(r ); n =l en gth (r ); for i =1:n f or j=1:n
r hat(i,j)=max (m in([r(i ,:);r(:,j)'])); end end
求模糊等价矩阵和聚类的程序
R =[ 1.0000 0.5409 0.6206 0.6299 0.2432 0.5409 1.0000 0.5478 0.6985 0.5339 0.6206 0.5478 1.0000 0.5599 0.3669 0.6299 0.6985 0.5599 1.0000 0.3818 0.2432 0.5339 0.3669 0.3818 1.0000]; R 1=he ch (R) R2=h ech (R1) R3=hech (R2) bh=zeros(5); bh(fi nd (R2>0.7))=1
2. 模糊综合评判模型
某烟草公司对某部门员工进行的年终评定,关于考核的具体操作过程,以对一名员工的考核为例。如下表所示,根据该部门工作人员的工作性质,将18个指标分成工作绩效(1U )、工作态度(2U )、工作能力(3U )和学习成长(4U )这4各子因素集。
员工考核指标体系及考核表
技能提高 0.1 0.4 0.3 0.1 0.1 培训参与 0.2 0.3 0.4 0.1 0 工作提供
0.4
0.3
0.2
0.1
请专家设定指标权重,一级指标权重为:
()0.4,0.3,0.2,0.1A =
二级指标权重为:
()10.2,0.3,0.3,0.2A =
()20.3,0.2,0.1,0.2,0.2A = ()30.1,0.2,0.3,0.2,0.2A = ()40.3,0.2,0.2,0.3A =
对各个子因素集进行一级模糊综合评判得到:
()1110.39,0.39,0.26,0.04,0.01B A R == ()2220.21,0.37,0.235,0.125,0.06B A R == ()3330.15,0.32,0.355,0.125,0.06B A R ==
()4440.27,0.35,0.24,0.1,0.02B A R ==
这样,二级综合评判为:
()
0.390.390.26
0.04
0.010.210.370.2350.1250.060.4,0.3,0.2,0.10.150.320.3550.1250.060.27
0.350.240.10.2B A R ??
????==??
??
??
()0.28,0.37,0.27,0.09,0.04=
根据最大隶属度原则,认为该员工的评价为良好。同理可对该部门其他员工进行考核。 3. 层次分析模型
你已经去过几家主要的摩托车商店,基本确定将从三种车型中选购一种,你选择的标准主要有:价格、耗油量大小、舒适程度和外观美观情况。经反复思考比较,构造了它们之间的成对比较判断矩阵。
A=1
3781155311137511118
53??
????
??????
????????
三种车型(记为a,b,c)关于价格、耗油量、舒适程度和外表美观情况的成对比较判断矩阵为
价格 a b c 耗油量 a b c
1231/2121/31/21a b c ?????????? 11/51/251721/71a b c ??
????
????
舒适程度 a b c 外表 a b c
1351/3141/51/41a b c ?????????? 11/535171/31/71a b c ??
????
????
根据上述矩阵可以看出四项标准在你心目中的比重是不同的,请按由重到
轻顺序将它们排出。 解:用m atlab 求解 层次总排序的结果如下表
Matlab程序如下:
clc,clear
n1=4;
n2=3;
a=[137 8
1/3 1 5 5
1/71/5 1 3
1/8 1/5 1/3 1];
b1=[1 2 3
1/2 1 2
1/3 1/2 1];
b2=[1 1/5 1/2
5 1 7
2 1/7 1];
b3=[1 3 5
1/3 1 4
1/51/4 1 ];
b4=[1 1/5 3
5 1 7
1/3 1/7 1];
ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; % 一致性指标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) %准则层一致性比例
fori=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); %方案层的一致性比例
end
w1
C R1, ts=w1*w0, CR =CR1*w0 %ts 为总排序的权值,C R为层次总排序的随机一致性比例
% 当C R小于0.1时,认为总层次排序结果具有较满意的一致性并接受该结果,否则对判断矩阵适当修改
4. 灰色预测GM (1,1)模型 某地区年平均降雨量数据如表 某地区年平均降雨量数据
规定hz=320,并认为(0)()x i <=hz 为旱灾。预测下一次旱灾发生的时间 解:
初始序列如下
(0)x =(390.6,412,320,559.2,380.8,542.4,553,310,561,300,
632,540,406.2,313.8,576,587.6,318.5)
由于满足(0)()x i <=320的(0)()x i 为异常值,易得下限灾变数列为
hz x = (320,310,300,313.8,318.5)
其对应的时刻数列为
t = (3,8,10,14,17)
建立GM(1,1)模型
(1) 对原始数据t 做一次累加,即
t(1) = (3,11,21,35,52) (2) 构造数据矩阵及数据向量 (3) 计算a,b
a=-0.2536,b=6.2585 (4) 建立模型
y=-24.6774+27.6774*exp(.253610*t)
(5)模型检验
(6)通过计算可以预测到第六个数据是22.0340
由于 22.034 与17相差5.034,这表明下一次旱灾将发生在五年以后。
计算的 MATLAB程序如下:
clc,clear
a=[390.6,412,320,559.2,380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';
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:n
z(i)=0.5*(x1(i)+x1(i-1));
end
B=[-z(2:n)',ones(n-1,1)];
Y=x0(2:n)';
u=B\Y
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)
yuce=[x0(1),diff(yuce1)]
epsilon=x0-yuce
delta=abs(epsilon./x0)
rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda
yuce1=subs(x,'t',[0:n]);
yuce=[x0(1),diff(yuce1)]
5. Verhulst预测模型
在实际问题中,常遇到原始数据本身呈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)(1)(1)
1,2,3,...14k k k x x x k -=-=
得
(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)
10.5(),2,3,...14k k k z x x k -=+=
得
(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) 对参数列
(,)T a b α∧
= 进行最小二乘估计,得