2023年6月21日发(作者:)

数学模型作业:聚 类 分 析

一、

李 郭 应数081

二、 实验目的:学习利用距离函数建模的方法,掌握客观性权重的变异系数以及综合评价的基本方法,熟练掌握MATLAB处理矩阵的各种方法。

三、 实验内容及要求:

问题:近年来我国淡水水质富营养化的污染日趋严重,如何对湖泊水质的富营养化进行综合评价是摆在我们面前的一项重要任务。表1和表2分别是我国5个湖泊实测数据和水质评价标准。

表3.4 全国5个主要湖泊品和技术参数的实测数据

总磷

(mg/L)

130

105

20

30

20

耗氧量

(mg/L)

10.30

10.70

1.4

6.26

10.13

0.35

0.40

4.5

0.25

0.50

透明度

(m)

总氮

(mg/L)

2.76

2.0

0.22

1.67

0.23

杭州西湖

武汉东湖

青海湖

巢湖

滇池

表3.5 湖泊水质评价标准

评价指标

总磷

耗氧量

透明度

总氮

A.

B.

极贫营养

<1

<0.09

>37

<0.02

贫营养

4

0.36

12

0.06

中营养

23

1.80

2.4

0.31

富营养

110

7.10

0.55

1.20

极富营养

>660

>27.1

<0.17

>4.6

是利用以上数据,分析总磷,耗氧量,透明度和总氮这4种指标对湖泊水质富营养化所起作用。

对上述5个湖泊的水质进行综合评估,确定水质等级。

四、 问题的分析

在进行综合评价之前,首先要对评价的指标进行分析。通常评价指标分为效益型,成本型和固定型指标(另外还有区间型指标,偏离型指标等等)。在进行综合评定之前首先对各评定指标同一属性。由生物学知识可知,本题除了透明度指标为成本型指标以外,其余指标都为效益型指标。

在指标清楚之后,我们还要进行赋权和标准化。在初次建立模型的时候我们选择了:变异系数赋权法和线性比例变换法的标准化方法

五、 模型的建立

 根据表3.4和表3.5,我们得到实测数据矩阵X=(xij)5*4和等级标准矩阵Y=(ykt)4*5

13010.310510.7X201.46.26302010.13

0.352.7610.42.00.09

4.50.22Y370.251.670.020.50.2340.36120.06231.82.40.311107.100.551.20660

27.10.174.60建立无量纲化实测数据矩阵:A=(aij)和无量纲化等级标准矩阵B=(bkt)。

1 数学模型作业:聚 类 分 析

其中我们用线性比例变换的标准化方法得到:

xij/maxxij

aijminxij/xij利用MATLAB计算得

j3ykt/maxykt

bktj3minykt/yktk3k3

1.00000.8077A0.15380.23080.1538

0.96260.71431.00000.00150.00610.03480.16671.00000.00330.01330.06640.26201.00001.00000.62500.7246 B=

0.13080.05560.07970.00460.01420.07080.30911.00000.58501.00000.60510.00430.01300.06740.26091.00000.94670.50000.08335计算评价指标的权重

15bij首先计算矩阵B的各行向量的均值与标准差i5j1然后计算变异系数

wi,si(bj1iji)24(i1,2,3,4)

si/i (i=1,2,3,4)

利用MATLAB计算得:W=[0.2767 0.2444 0.2347 0.2442]

W表示个指标的权重。根据权重的大小,即可说明总磷,耗氧量,透明度和总氮4种指标对湖泊水质富营养化所起作用。由上可知个指标的作用很接近,比较而言总磷所起作用最大,耗氧量,总氮次之,透明度的额作用最小。

 建立个湖泊水质的综合评价模型,利用欧氏距离和绝对值距离进行建模

计算A中各行向量到B中各列向量的欧氏距离d若dikij(ak14ikbkj)2

min{dij},则第i个湖泊属于第k级(i=1,2,3,4,5)1j54计算A中各行向量到B中各列向量的绝对值距离

Dij若Dij|aikbkj|

k1。

min{Dij},则第i个湖泊属于第k级(i=1,2,3,4,5)1j5计算结果如下表所示:表3.6 欧氏距离判别表

湖泊

d11

1.8473

1.5960

0.2185

1.3201

1.0793

d12

1.8312

1.5798

0.2044

1.3037

1.0649

d13

1.7374

1.4859

0.1367

1.2083

0.9867

d14

1.3768

1.1271

0.3383

0.8392

0.7328

d15

0.2881

0.5034

1.7918

0.9591

1.3451

级别

杭州西湖

武汉东湖

青海湖

果湖

滇池

5

5

3

4

4

2 数学模型作业:聚 类 分 析

表3.7 绝对值距离判别表

湖泊

d11

3.6632

3.1436

0.4062

2.4072

1.6701

d12

3.6303

3.1107

0.3733

2.3743

1.6372

d13

3.4375

2.9179

0.2109

2.1815

1.4444

d14

2.6782

2.1586

0.5788

1.4222

1.0661

d15

0.3231

0.8427

3.5801

1.5791

2.3162

级别

杭州西湖

武汉东湖

青海湖

果湖

滇池

5

5

3

4

4

从上面的计算可知,尽管欧氏距离与绝对值距离意义不同,但是对个湖泊水质的富营养化评价等级是一样的,表明我们给出的方法具有稳定性。

六、 附录:用MATLAB编程

X=[130 10.3 0.35 2.76;105 10.7 0.4 2.0;20 1.4 4.5 0.22;30 6.26 0.25 1.67;20 10.13 0.5 0.23];

%输入实测数据矩阵

A1=X(:,1)./max(X(:,1));A2=X(:,2)./ max(X(:,2));A3= min(X(:,3))./X(:,3);

A4=X(:,4)./ max(X(:,4));A=[A1,A2,A3,A4];%输出用线性比例变换的标准化的实测矩阵

Y=[1 4 23 110 660;0.09 0.36 1.8 7.10 27.1;37 12 2.4 0.55 0.17;0.02 0.06 0.31 1.20 4.60];%输入等级标准矩阵

B1=Y(1,:)./ max(Y(1,:));B2=Y(2,:)./ max(Y(2,:));B3= min(Y(3,:))./Y(3,:);

B4=Y(4,:)./ max(Y(4,:));B=[B1;B2;B3;B4];%输出用线性比例变换的标准化的等级标准矩阵

b=B';t=std(b)./mean(b);w=t/sum(t)%计算等级标准矩阵各指标的变异系数,并赋权重

t=dist(A,B)%计算A中各行向量到B中各列向量的欧氏距离

mandist(A,B)%计算A中各行向量到B中各列向量的绝对值距离

七、 模型的优化:

 一.赋权法:熵值法

熵值法主要是依据各指标值所包含的信息量的大小,利用指标的熵值来确定指标权重的。熵值法的一般步骤为:

 (1)对实测矩阵X=(xij)5*4和等级标准矩阵Y=(准化矩阵进行行归一化处理ykt)4*5作标准化处理,并对等级标

pijyijyi1m(1im,1jn)ij0.00130.0025结果为:pij0.00330.0032 (2)计算第0.00500.02880.13780.82710.00990.04940.19480.7435

0.01010.05060.22100.71500.00970.05010.19390.7431其中k0,ej0。kpijlnpij(1jn)。i1mj个指标的熵值:ej

3 数学模型作业:聚 类 分 析

结果为:ej (3)、计算第0.56730.74800.78990.7521

j个指标的差异系数。对于第j个指标,指标值的差异越大,对方案评价的1ej(1jn)。

0.25200.21010.2479

gjn作用越大,熵值越小,反之,差异越小,对方案评价的作用越小,熵值就越大。因此,定义差异系数为:gj结果为:gj

0.4327(4)、确定指标权重。第j个指标的权重wj(1jn)j。

gj1结果为:wj0.37860.22050.18390.2169,wj表示每个指标的权重。根据权重的大小,即可说明总磷,耗氧量,透明度和总氮4种指标对湖泊水质富营养化所起作用。由上可知个指标的作用很接近,比较而言总磷所起作用最大,耗氧量,总氮次之,透明度的额作用最小。其权重的顺序和上面模型一样,只是每个指标的权重略有差别。

 二.用马氏距离求解:测定湖泊水质的等级

(有点不懂,不懂意思)

八、 附录:用MATLAB编程

X=[130 10.3 0.35 2.76;105 10.7 0.4 2.0;20 1.4 4.5 0.22;30 6.26 0.25 1.67;20 10.13 0.5 0.23];

%输入实测数据矩阵

A1=X(:,1)./max(X(:,1));A2=X(:,2)./ max(X(:,2));A3= min(X(:,3))./X(:,3);

A4=X(:,4)./ max(X(:,4));A=[A1,A2,A3,A4];%输出用线性比例变换的标准化的实测矩阵

Y=[1 4 23 110 660;0.09 0.36 1.8 7.10 27.1;37 12 2.4 0.55 0.17;0.02 0.06 0.31 1.20 4.60];

%输入等级标准矩阵

B1=Y(1,:)./ max(Y(1,:));B2=Y(2,:)./ max(Y(2,:));B3= min(Y(3,:))./Y(3,:);

B4=Y(4,:)./ max(Y(4,:));B=[B1;B2;B3;B4];%输出用线性比例变换的标准化的等级标准矩阵

p1=(B(1,:))./(sum(B(1,:)'));p2=(B(2,:))./(sum(B(2,:)'));p3=(B(3,:))./(sum(B(3,:)'));

p4=(B(4,:))./(sum(B(4,:)'));p=[p1;p2;p3;p4];%对标准化等级标准矩阵进行行归一化处理

E1=-sum(p(1,:).*log(p(1,:)));E2=-sum(p(2,:).*log(p(2,:)));E3=-sum(p(3,:).*log(p(3,:)));

E4=-sum(p(4,:).*log(p(4,:)));E=[E1,E2,E3,E4];%计算每个指标的熵值

g=1-E;%计算每个指标的差异系数,指标值的差异越大,对方案评价的作用越大,熵值越小,

%反之,差异越小,对方案评价的作用越小,熵值就越大

w=g./norm(g,1)%计算等级标准矩阵的权重

4

2023年6月21日发(作者:)

数学模型作业:聚 类 分 析

一、

李 郭 应数081

二、 实验目的:学习利用距离函数建模的方法,掌握客观性权重的变异系数以及综合评价的基本方法,熟练掌握MATLAB处理矩阵的各种方法。

三、 实验内容及要求:

问题:近年来我国淡水水质富营养化的污染日趋严重,如何对湖泊水质的富营养化进行综合评价是摆在我们面前的一项重要任务。表1和表2分别是我国5个湖泊实测数据和水质评价标准。

表3.4 全国5个主要湖泊品和技术参数的实测数据

总磷

(mg/L)

130

105

20

30

20

耗氧量

(mg/L)

10.30

10.70

1.4

6.26

10.13

0.35

0.40

4.5

0.25

0.50

透明度

(m)

总氮

(mg/L)

2.76

2.0

0.22

1.67

0.23

杭州西湖

武汉东湖

青海湖

巢湖

滇池

表3.5 湖泊水质评价标准

评价指标

总磷

耗氧量

透明度

总氮

A.

B.

极贫营养

<1

<0.09

>37

<0.02

贫营养

4

0.36

12

0.06

中营养

23

1.80

2.4

0.31

富营养

110

7.10

0.55

1.20

极富营养

>660

>27.1

<0.17

>4.6

是利用以上数据,分析总磷,耗氧量,透明度和总氮这4种指标对湖泊水质富营养化所起作用。

对上述5个湖泊的水质进行综合评估,确定水质等级。

四、 问题的分析

在进行综合评价之前,首先要对评价的指标进行分析。通常评价指标分为效益型,成本型和固定型指标(另外还有区间型指标,偏离型指标等等)。在进行综合评定之前首先对各评定指标同一属性。由生物学知识可知,本题除了透明度指标为成本型指标以外,其余指标都为效益型指标。

在指标清楚之后,我们还要进行赋权和标准化。在初次建立模型的时候我们选择了:变异系数赋权法和线性比例变换法的标准化方法

五、 模型的建立

 根据表3.4和表3.5,我们得到实测数据矩阵X=(xij)5*4和等级标准矩阵Y=(ykt)4*5

13010.310510.7X201.46.26302010.13

0.352.7610.42.00.09

4.50.22Y370.251.670.020.50.2340.36120.06231.82.40.311107.100.551.20660

27.10.174.60建立无量纲化实测数据矩阵:A=(aij)和无量纲化等级标准矩阵B=(bkt)。

1 数学模型作业:聚 类 分 析

其中我们用线性比例变换的标准化方法得到:

xij/maxxij

aijminxij/xij利用MATLAB计算得

j3ykt/maxykt

bktj3minykt/yktk3k3

1.00000.8077A0.15380.23080.1538

0.96260.71431.00000.00150.00610.03480.16671.00000.00330.01330.06640.26201.00001.00000.62500.7246 B=

0.13080.05560.07970.00460.01420.07080.30911.00000.58501.00000.60510.00430.01300.06740.26091.00000.94670.50000.08335计算评价指标的权重

15bij首先计算矩阵B的各行向量的均值与标准差i5j1然后计算变异系数

wi,si(bj1iji)24(i1,2,3,4)

si/i (i=1,2,3,4)

利用MATLAB计算得:W=[0.2767 0.2444 0.2347 0.2442]

W表示个指标的权重。根据权重的大小,即可说明总磷,耗氧量,透明度和总氮4种指标对湖泊水质富营养化所起作用。由上可知个指标的作用很接近,比较而言总磷所起作用最大,耗氧量,总氮次之,透明度的额作用最小。

 建立个湖泊水质的综合评价模型,利用欧氏距离和绝对值距离进行建模

计算A中各行向量到B中各列向量的欧氏距离d若dikij(ak14ikbkj)2

min{dij},则第i个湖泊属于第k级(i=1,2,3,4,5)1j54计算A中各行向量到B中各列向量的绝对值距离

Dij若Dij|aikbkj|

k1。

min{Dij},则第i个湖泊属于第k级(i=1,2,3,4,5)1j5计算结果如下表所示:表3.6 欧氏距离判别表

湖泊

d11

1.8473

1.5960

0.2185

1.3201

1.0793

d12

1.8312

1.5798

0.2044

1.3037

1.0649

d13

1.7374

1.4859

0.1367

1.2083

0.9867

d14

1.3768

1.1271

0.3383

0.8392

0.7328

d15

0.2881

0.5034

1.7918

0.9591

1.3451

级别

杭州西湖

武汉东湖

青海湖

果湖

滇池

5

5

3

4

4

2 数学模型作业:聚 类 分 析

表3.7 绝对值距离判别表

湖泊

d11

3.6632

3.1436

0.4062

2.4072

1.6701

d12

3.6303

3.1107

0.3733

2.3743

1.6372

d13

3.4375

2.9179

0.2109

2.1815

1.4444

d14

2.6782

2.1586

0.5788

1.4222

1.0661

d15

0.3231

0.8427

3.5801

1.5791

2.3162

级别

杭州西湖

武汉东湖

青海湖

果湖

滇池

5

5

3

4

4

从上面的计算可知,尽管欧氏距离与绝对值距离意义不同,但是对个湖泊水质的富营养化评价等级是一样的,表明我们给出的方法具有稳定性。

六、 附录:用MATLAB编程

X=[130 10.3 0.35 2.76;105 10.7 0.4 2.0;20 1.4 4.5 0.22;30 6.26 0.25 1.67;20 10.13 0.5 0.23];

%输入实测数据矩阵

A1=X(:,1)./max(X(:,1));A2=X(:,2)./ max(X(:,2));A3= min(X(:,3))./X(:,3);

A4=X(:,4)./ max(X(:,4));A=[A1,A2,A3,A4];%输出用线性比例变换的标准化的实测矩阵

Y=[1 4 23 110 660;0.09 0.36 1.8 7.10 27.1;37 12 2.4 0.55 0.17;0.02 0.06 0.31 1.20 4.60];%输入等级标准矩阵

B1=Y(1,:)./ max(Y(1,:));B2=Y(2,:)./ max(Y(2,:));B3= min(Y(3,:))./Y(3,:);

B4=Y(4,:)./ max(Y(4,:));B=[B1;B2;B3;B4];%输出用线性比例变换的标准化的等级标准矩阵

b=B';t=std(b)./mean(b);w=t/sum(t)%计算等级标准矩阵各指标的变异系数,并赋权重

t=dist(A,B)%计算A中各行向量到B中各列向量的欧氏距离

mandist(A,B)%计算A中各行向量到B中各列向量的绝对值距离

七、 模型的优化:

 一.赋权法:熵值法

熵值法主要是依据各指标值所包含的信息量的大小,利用指标的熵值来确定指标权重的。熵值法的一般步骤为:

 (1)对实测矩阵X=(xij)5*4和等级标准矩阵Y=(准化矩阵进行行归一化处理ykt)4*5作标准化处理,并对等级标

pijyijyi1m(1im,1jn)ij0.00130.0025结果为:pij0.00330.0032 (2)计算第0.00500.02880.13780.82710.00990.04940.19480.7435

0.01010.05060.22100.71500.00970.05010.19390.7431其中k0,ej0。kpijlnpij(1jn)。i1mj个指标的熵值:ej

3 数学模型作业:聚 类 分 析

结果为:ej (3)、计算第0.56730.74800.78990.7521

j个指标的差异系数。对于第j个指标,指标值的差异越大,对方案评价的1ej(1jn)。

0.25200.21010.2479

gjn作用越大,熵值越小,反之,差异越小,对方案评价的作用越小,熵值就越大。因此,定义差异系数为:gj结果为:gj

0.4327(4)、确定指标权重。第j个指标的权重wj(1jn)j。

gj1结果为:wj0.37860.22050.18390.2169,wj表示每个指标的权重。根据权重的大小,即可说明总磷,耗氧量,透明度和总氮4种指标对湖泊水质富营养化所起作用。由上可知个指标的作用很接近,比较而言总磷所起作用最大,耗氧量,总氮次之,透明度的额作用最小。其权重的顺序和上面模型一样,只是每个指标的权重略有差别。

 二.用马氏距离求解:测定湖泊水质的等级

(有点不懂,不懂意思)

八、 附录:用MATLAB编程

X=[130 10.3 0.35 2.76;105 10.7 0.4 2.0;20 1.4 4.5 0.22;30 6.26 0.25 1.67;20 10.13 0.5 0.23];

%输入实测数据矩阵

A1=X(:,1)./max(X(:,1));A2=X(:,2)./ max(X(:,2));A3= min(X(:,3))./X(:,3);

A4=X(:,4)./ max(X(:,4));A=[A1,A2,A3,A4];%输出用线性比例变换的标准化的实测矩阵

Y=[1 4 23 110 660;0.09 0.36 1.8 7.10 27.1;37 12 2.4 0.55 0.17;0.02 0.06 0.31 1.20 4.60];

%输入等级标准矩阵

B1=Y(1,:)./ max(Y(1,:));B2=Y(2,:)./ max(Y(2,:));B3= min(Y(3,:))./Y(3,:);

B4=Y(4,:)./ max(Y(4,:));B=[B1;B2;B3;B4];%输出用线性比例变换的标准化的等级标准矩阵

p1=(B(1,:))./(sum(B(1,:)'));p2=(B(2,:))./(sum(B(2,:)'));p3=(B(3,:))./(sum(B(3,:)'));

p4=(B(4,:))./(sum(B(4,:)'));p=[p1;p2;p3;p4];%对标准化等级标准矩阵进行行归一化处理

E1=-sum(p(1,:).*log(p(1,:)));E2=-sum(p(2,:).*log(p(2,:)));E3=-sum(p(3,:).*log(p(3,:)));

E4=-sum(p(4,:).*log(p(4,:)));E=[E1,E2,E3,E4];%计算每个指标的熵值

g=1-E;%计算每个指标的差异系数,指标值的差异越大,对方案评价的作用越大,熵值越小,

%反之,差异越小,对方案评价的作用越小,熵值就越大

w=g./norm(g,1)%计算等级标准矩阵的权重

4