资源描述
气象观测站的优化
摘要
本文主要讨论并求解了关于气象观察站的优化的问题,用SPSS软件
对12个样本用—方法进行聚类得到整体聚类树图。然后通过逐步计算R方统计量来确定在不影响信息量的情况下最理想的分类数,为8,具体聚类表格如下:
类别
1
2
3
4
5
6
7
8
编号
1
2
3
4 ,7
5,10
6,11
8,9
12
然后计算各样本的期望和均方值来考虑要去掉的气象点。结果为:4,
7,10,12;
关键词:气象观测站 年均降雨量 均方值 聚类 统计量 距离矩阵
一 问题重述
某地区有12个气象观察站,10年来各站测得的年降水量已知, 由于经费问题, 有关单位拟减少气象站数目以节约开支, 但又希望还能够尽量多地获取该地区的降水量信息. 我们从分析观测站数据入手, 从中找出去掉某个或某几个气象站的方案.
下表给出了各观察站10年的降水量(mm)。
地点
年
1981
276.2
324.5
158.6
412.5
292.8
258.4
334.1
303.2
292.9
243.2
159.7
331.2
1982
251.6
287.3
349.5
297.4
227.8
453.6
321.5
451.0
466.2
307.5
421.1
455.1
1983
192.7
433.2
289.9
366.3
466.2
239.1
357.4
219.7
245.7
411.1
357.0
353.2
1984
246.2
232.4
243.7
372.5
460.4
158.9
298.7
314.5
256.6
327.0
296.5
423.0
1985
291.7
311.0
502.4
254.0
245.6
324.8
401.0
266.5
251.3
289.9
255.4
362.1
1986
466.5
158.9
223.5
425.1
251.4
321.0
315.4
317.4
246.2
277.5
304.2
410.7
1987
258.6
327.4
432.1
403.9
256.6
282.9
389.7
413.2
466.5
199.3
282.1
387.6
1988
453.4
365.5
357.6
258.1
278.8
467.2
355.2
228.5
453.6
315.6
456.3
407.2
1989
158.5
271.0
410.2
344.2
250.0
360.7
376.4
179.4
159.2
342.4
331.2
377.7
1990
324.8
406.5
235.7
288.8
192.6
284.9
290.5
343.7
283.4
281.2
243.7
411.1
二 模型假设
1 . 一般来说, 单个气象站测得的降水量数据具有随机性, 但是各个气象站测出的降水量的分布应该符合一定的规律.
2 . 最初所有气象站所测得信息量可以整体反映该地区的降水量;
3 . 该地区所提供的12 个气象站10 年来的降水量数据是比较精确的.
4:每个气象站的费用基本相同;
三:符号说明
四:问题分析
此题求解主要从三方面入手:
(1) 用哪种方法聚类最为合适?
(2)可聚类的最大数目?
(3)在尽量减少信息量损失情况下,要去掉那些观测站?对一个气象站而言,,统计十年降水量的均值和方差。均值表示降水量的大小,方差表示降水量的变化,如果方差很小,就考虑可用以往的测量值来代替,这些气象站就可以考虑去掉。
五:模型建立
模型一:
先得到相关系数矩阵,然后用最远距离法进行聚类,最后根据方差由小到大计算看在不影响降雨量信息损失的情况下去掉那几个观测站较合适。
模型二:
1:可去掉气象点的最大数目
去掉m个气象点前的均降水量g=,g’=
判断|g-g’/g|<0.05,只要有一个组组合满足条件,则可以去掉m个点,直到去掉m个点时,没有一组组合满足条件,此时m-1则为适合去掉气象点的最大值
2:确定去掉那些点
求出12个气象点年均降水量的均方差,然后排序,去掉均方差最小的m-1个气象点;
模型三:
1用SPSS软件采用欧氏聚类法进行聚类,得到聚类图;
2通过matlab编程采用最近距离法逐步计算R方统计量,求解使R方不小于80%的最大类数;
3分别求出12个气象点年均降水量的均方差和期望,参考期望值根据聚类次数来去掉均方值较小的气象站;
六:模型求解
模型一求解:
(1)在距离矩阵D中,除去对角线元素以外,d37=d73=0.8126为最大着。故将第3区与第7区并为一类,划去第7行和第7列;
(2)在余下的元素中,除去对角线元素以外,d611=d116=0.6544为最大着。故将第6区与第11区并为一类,划去第11行和第11列;
(3)在第二步之后余下的元素中,除去对角线元素以外,d89=d98=0.6348为最大着。故将第8区和第9区并为一类,划去第9行和第9列;
(4)在第三步之后余下的元素中,除去对角线元素以外,d510=d105=0.5817为最大着。故将第5区与第10区并为一类,划去第10行和第10列。
用最大距离法对指标进行据类,得到下表:
类别
1
2
3
4
5
6
7
8
编号
1
2
3,7
4
5,10
6,11
8,9
12
得到各样本的方差列表
1
2
3
4
5
6
95.1
76.8
102.7
60.7
89.3
89.4
7
8
9
10
11
12
36.1
80.7
103.8
54.3
82.1
35
分析此表得到应去掉的站点为 4 7 10 12;
模型二求解:
1:由matlab编程求解在不影响信息量的条件下,可去掉气象点的最大数目,得到k>12,无法求解。
模型三求解:
由SPSS软件得聚类步骤表:
分为11类:
分为10类:
分为9类:
分为8类:
分为7类:
分为7类时,80%,信息损失量过大,因此确定分为8类,即去掉4
个气象点。
2:由matlab求出12个观测点的年降水量的均方值及其排序为
9
3
1
6
5
11
109.396
108.2444
100.1964
94.2002
94.1034
86.5136
8
2
4
10
7
12
85.0735
80.9270
63.9747
57.2472
38.0479
36.8299
可以得知去掉 4 10 7 12站点较为合适
七:模型评价
1:模型二考虑到用去掉气象点前后均降水量的变化大小来求解该去掉站点的最大数目。具有一定可取性。但是由于降水量随机分布,去掉部分气象站时,均降水量变化不大,所以无法得出可行解。
2:模型三采用专业软件和精准的距离聚类法得到最大分类数,再跟据均方值考虑要去掉的气象站。具有一定的可行性,但是没有进一步给对于去掉的气象站,如何来估测起降水量。
3:在水文系列中, 作为一个样本10 年数据略嫌不足, 理应提供更充足的数据, 才能在节约开支的同时也保证信息的精度.
4:实际上, 任何一个气象观测站的建立与否, 除了能单独地提供降水量的信息外, 还应考虑各测站的合理布设、 各测站的控制作用、 各测站的代表性以及周围环境的优劣等因素. 因以上因素在此问题中皆没有明确给出, 故该模型仅能单独进行数据处理
八:附录
附录2:模型2求解
对于可去掉气象点数目的最大值求解的matlab程序
a=[276.2 324.5 158.6 412.5 292.8 258.4 334.1 303.2 292.9 243.2 159.7 331.2
251.6 287.3 349.5 297.4 227.8 453.6 321.5 451.0 466.2 307.5 421.1 455.1
192.7 433.2 289.9 366.3 466.2 239.1 357.4 219.7 245.7 411.1 357.0 353.2
246.2 232.4 243.7 372.5 460.4 158.9 298.7 314.5 256.6 327.0 296.5 423.0
291.7 311.0 502.4 254.0 245.6 324.8 401.0 266.5 251.3 289.9 255.4 362.1
466.5 158.9 223.5 425.1 251.4 321.0 315.4 317.4 246.2 277.5 304.2 410.7
258.6 327.4 432.1 403.9 256.6 282.9 389.7 413.2 466.5 199.3 282.1 387.6
453.4 365.5 357.6 258.1 278.8 467.2 355.2 228.5 453.6 315.6 456.3 407.2
158.5 271.0 410.2 344.2 250.0 360.7 376.4 179.4 159.2 342.4 331.2 377.7
324.8 406.5 235.7 288.8 192.6 284.9 290.5 343.7 283.4 281.2 243.7 411.1
]
b=zeros(1,12);
for i=1:12
sum=0;
for j=1:10
sum=a(j,i)+sum;
end
b(1,i)=sum/10;
end
a1=cov(b);
a1
sum=0;
for i=1:12
sum=sum+b(1,i);
end
k=0;
sg=sum/12;
b1=b;
for i=1:12
sf=(sum-b(1,i))/11;
if(abs(sg-sf)/sg)<0.05
break;
end
k=k+1;
end
if k>=12
disp('0');
end
sg
sg=sum/12;
b1=b;
k=0;
sum
b
for i=1:12
for j=1:12
if i-j
sf=(sum-b(1,i)-b(1,j))/10;
if(abs(sg-sf)/sg)<0.05
s=abs(sg-sf)/sg;
k=14;
end
end
end
end
if k-14
disp('1');
end
k=0;
for i=1:12
for j=1:12
for z=1:12
if (i-j)&&(i-z)&&(j-z)
sf=(sum-b(1,i)-b(1,j)-b(1,z))/9;
if(abs(sg-sf)/sg)<0.05
k=14;
end
end
end
end
end
if k-14
disp('2');
end
k=0;
for l=1:12
for i=1:12
for j=1:12
for z=1:12
if (i-j)&&(i-z)&&(j-z)&&(i-l)&&(j-l)&&(l-z)
sf=(sum-b(1,i)-b(1,j)-b(1,z)-b(1,l))/8;
if(abs(sg-sf)/sg)<0.05
k=14;
end
end
end
end
end
end
if k-14
disp('3');
end
k=0;
for l=1:12
for i=1:12
for j=1:12
for z=1:12
for p=1:12
if (i-j)&&(i-z)&&(j-z)&&(i-l)&&(j-l)&&(l-z)&&(i-p)&&(j-p)&&(z-p)&&(l-p)
sf=(sum-b(1,i)-b(1,j)-b(1,z)-b(1,l))-b(1,p)/7;
if(abs(sg-sf)/sg)<0.05
k=14;
end
end
end
end
end
end
end
if k-14
disp('4');
end
展开阅读全文