摘要
本文是为了解决有关观测点的优化问题,即为达到减少观测站同时既可以节省开支,又可以使得该市年降水量的信息量损失较小的目地。本文采用层层推进的方法,对问题逐一求解,具体如下:
针对问题1,本文先将观测点7,8的数据通过SPSS做相关性分析,得出其具有显著正相关的结论,并以观测点8为自变量,7为因变量,构建线性回归模型,用matlab解得到观测点7的回归方程,得出观测点7可以减少,其数据可由观测点8得到的结论。
针对问题2,本文先用分层聚类法,以各类间欧氏距离尽可能远,组内距离尽可能近为原则将剩余9个观测点分组,再以组内成员多于一个的组剔除一个成员为准则,在分别构建回归函数,并用SPSS里的F检验验证回归方程是否显著,最终得到可以去掉观测点2,6,7的结论。
针对问题3,本文先通过EXCEL处理数据,利用问题1,2中得到的回归方程计算出减少观测点前后的误差绝对值。然后本文基于假设建立误差绝对值的正态分布模型,用极大似然估计法给出正态分布均值和方差的点估计值,并用ttest对假设显著性进行检验,组后得出假设成立的结论。最后通过正态分布累计概率计算公式算得误差绝对值小于10mm的概率约为0.777,大于20mm的概率为0.0555。
最后,本文对模型中分组问题作了讨论,并结合实际做了的优缺点进行了评价,提出了细化分组的改进方案,对模型进行了简单的推广。
关键词:回归分析,相关性分析,分层聚类,极大似然估计
一、问题的提出与重述
问题的提出:
某市有10个县,每个县有一个气象观测站,每个气象观测站测得的年降水量即为该县的年降水量。30年来各观测站测得的年降水量如附表1。为了节省开支,想要适当减少气象观测站,但希望减少观测站同时既可以节省开支,又可以使得该市年降水量的信息量损失较小。请你选出这些观测站。
问题的重述:
1.第7个观测站和第8个观测站观测到的数据之间可能有相关关系,所以第7个观测站可以减少,第7个观测站的年降水量信息可以从第8个观测站观测到的数据中获取,问如何得出,并予以讨论。
2.除了观测点7还有哪些观测站可以减少,减少的观测站的年降水量信息如何获取。
3.如果以10个县年降水量的平均值为该市年平均降水量。在减少观测站以前,每个县年降水量都是观测数据。在减少观测站以后,被减少的观测站的年降水量只能从其它观测站观测到的数据中获取。减少观测站以前和减少观测站以后是用两种不同测量计算方法得到该市年平均降水量。两种不同测量计算方法得到的该结果会有误差,试预测误差的绝对值小于10mm的概率是多少?误差的绝对值大于20mm的概率是多少?
一、问题的分析
本题是希望选取一些作用不大的观测站,并予以淘汰。要求既可以节省开支,又可以使得该市年降水量的信息量损失较小。本文需要做的是找出哪些观测点间相关性大并发现相关观测点间的降雨量关系。
针对问题1本文先通过SPSS中的相关性检验来验证两观测点间是否相关性较大,然后通过构建回归模型得到观测点7的回归方程,从而可以通过观测点8得出观测点7的降雨量数据。
针对问题2本文先用分层聚类法对剩下9个观测点进行分组,初步得出分为4组和每组的成员,然后在多于一个成员的组任意选出一个要剔除的观测点,通过构建回归模型通过每组中留下的点得出除去的观测点的回归方程,并用F法检验其是否服从原假设(是否舍去)。
针对问题3 本文列出未减少观测站时的年平均降水量。再用减少后的观测站得出年平均降水量,求其差,得到误差绝对值。然后假设误差绝对值服从正态分布,通过matlab数据分析检验假设的正确性,最后通过正态分布累计概率公式计算出题中要求结果。
二、模型假设
(1)假设这段时间内该地区没有洪涝灾害,干旱等自然灾害的影响;
(2)假设每个观测点成本都是一样的,不存在拆除观测点时成本不一的问题;
(3)不考虑其他地区对该地区的影响。
三、符号及变量说明
:第个观测点的实际降雨量(=3,8,10);
:第个观测点估测的降雨量(=2,4,6,7);
:回归拟合得到的系数(=1,2);
其他符号会在文中说明
四、模型的建立与求解
5.1.1对于问题一的模型建立
根据题意,本人先用SPSS对观测点7、8测得的年降水量数据进行相关性分析,分析结果如表1:
表1
| 相关性 | |||
| 7 | 8 | ||
| 7 | Pearson 相关性 | 1 | .952** |
| 显著性(双侧) | .000 | ||
| 平方与叉积的和 | 509175.467 | 451818.667 | |
| 协方差 | 17557.775 | 15579.954 | |
| N | 30 | 30 | |
| 8 | Pearson 相关性 | .952** | 1 |
| 显著性(双侧) | .000 | ||
| 平方与叉积的和 | 451818.667 | 442122.667 | |
| 协方差 | 15579.954 | 15245.609 | |
| N | 30 | 30 | |
| **. 在 .01 水平(双侧)上显著相关。 | |||
于是本文以观测点8测得的降雨量数据为自变量,以观测点7测得的降雨量数据为因变量建立线性回归模型,以检验第7个观测站的年降水量信息是否可以从第8个观测站观测到的数据中获取:
其中为随机误差,固定的未知参数、为回归系数,自变量x为回归变量。
5.1.2对于问题一模型的求解和检验
本文利用MATLAB统计工具箱中的命令regress求解,设置置信水平为0.05,得到回归残差图:
图1初步回归残差图
从图1可知有两个异常点,即第9个和第19个数据点,剔除以后再做线性回归得到新的残差图:
图2第二步回归残差图
由残差图可知,调整后的数据第十个点还是异常点,将第十个点数据剔除再次做线性回归得到回归图:
图3观测站7,8线性回归图
从图2中可以直观看出,回归拟合度较好。
表2相应参数
| 参数 | 参数估计值 | 参数置信区间 |
| 53.254 | [7.477 99.032] | |
1.034 | [0.929 1.1409] | |
| =0.942 | F=405.432 | P<0.0001 |
于是得到线性回归方程:
=53.254+1.034
因此观测站7可以去除,其数据是可以通过观测站8得到的。
5.2.1对于问题二模型的建立
本人采用分层聚类法中的Q型聚类分析将10个观测站进行合理分组。通过SPSS分类中的系统聚类命令对十个观测站30年观测的数据进行分析,分析结果如下:
图4 各观测站聚类树状图
若将其分成4类,分类结果如下表:
表3观测点分组
| 群集成员 | |
| 案例 | 4 群集 |
| 观测站1 | 1 |
| 观测站2 | 2 |
| 观测站3 | 2 |
| 观测站4 | 2 |
| 观测站5 | 3 |
| 观测站6 | 4 |
| 观测站8 | 4 |
| 观测站9 | 3 |
| 观测站10 | 2 |
成员多于一个的组可以考虑剔除其中一个观测站,由于第一问中已经验证第七组可以剔除,其数据可由观测站8得到,所以现假设观测站6、2、5可以剔除,其数据可由组内其他成员得到。可对每组内成员之间进行回归分析,建立一元或多元回归模型,并检验模型的可行性。
5.2.2模型的求解和检验
5.2.2.1剔除观测站6
需要检验其数据是否可以从观测站8得到。本人以观测站8的数据为自变量,以观测的数据为因变量,用SPSS做回归分析。
表4
| 模型汇总b | |||||
| 模型 | R | R 方 | 调整 R 方 | 标准 估计的误差 | Durbin-Watson |
| 1 | .903a | .816 | .809 | 56.43610 | 1.824 |
表5
| Anovaa | ||||||
| 模型 | 平方和 | df | 均方 | F | Sig. | |
| 1 | 回归 | 394880.927 | 1 | 394880.927 | 123.980 | .000b |
| 残差 | 180.939 | 28 | 3185.034 | |||
| 总计 | 484061.867 | 29 | ||||
表6
| 系数a | ||||||||
| 模型 | 非标准化系数 | 标准系数 | t | Sig. | B 的 95.0% 置信区间 | |||
| B | 标准 误差 | 试用版 | 下限 | 上限 | ||||
| 1 | (常量) | 52.819 | 37.325 | 1.415 | .168 | -23.637 | 129.275 | |
| 观测站8 | .945 | .085 | .903 | 11.135 | .000 | .771 | 1.119 | |
因此可知,观测点6可以剔除,祈数据可由观测点8通过上式方程得到得到。
5.2.2.2剔除观测站5
以观测站5的数据为因变量,观测站9的数据为自变量,用SPSS做回归分析
表7
| Anovaa | ||||||
| 模型 | 平方和 | df | 均方 | F | Sig. | |
| 1 | 回归 | 351.783 | 1 | 351.783 | .053 | .820b |
| 残差 | 187006.083 | 28 | 6678.7 | |||
| 总计 | 187357.867 | 29 | ||||
| a. 因变量: 观测站4 | ||||||
| b. 预测变量: (常量), 观测站10。 | ||||||
5.2.2.3剔除观测站2
表8
| 模型汇总b | |||||
| 模型 | R | R 方 | 调整 R 方 | 标准 估计的误差 | Durbin-Watson |
| 1 | .921a | .848 | .830 | 38.57598 | 1.807 |
| a. 预测变量: (常量), 观测站10, 观测站4, 观测站3。 | |||||
| b. 因变量: 观测站2 | |||||
表9
| 系数a | ||||||||
| 模型 | 非标准化系数 | 标准系数 | t | Sig. | B 的 95.0% 置信区间 | |||
| B | 标准 误差 | 试用版 | 下限 | 上限 | ||||
| 1 | (常量) | 91.204 | .754 | 1.408 | .171 | -41.900 | 224.308 | |
| 观测站3 | .883 | .074 | .933 | 11.901 | .000 | .731 | 1.036 | |
| 观测站4 | -.147 | .0 | -.126 | -1.3 | .112 | -.330 | .037 | |
| 观测站10 | -.120 | .095 | -.100 | -1.271 | .215 | -.315 | .074 | |
| a. 因变量: 观测站2 | ||||||||
修正后:
表10
| 模型汇总b | |||||
| 模型 | R | R 方 | 调整 R 方 | 标准 估计的误差 | Durbin-Watson |
| 1 | .906a | .822 | .815 | 40.24175 | 1.579 |
表11
| Anovaa | ||||||
| 模型 | 平方和 | df | 均方 | F | Sig. | |
| 1 | 回归 | 208824.306 | 1 | 208824.306 | 128.952 | .000b |
| 残差 | 45343.161 | 28 | 1619.399 | |||
| 总计 | 254167.467 | 29 | ||||
| a. 因变量: 观测站2 | ||||||
| b. 预测变量: (常量), 观测站3。 | ||||||
表12
| 系数a | ||||||||
| 模型 | 非标准化系数 | 标准系数 | t | Sig. | B 的 95.0% 置信区间 | |||
| B | 标准 误差 | 试用版 | 下限 | 上限 | ||||
| 1 | (常量) | -16.828 | 41.056 | -.410 | .685 | -100.928 | 67.271 | |
| 观测站3 | .858 | .076 | .906 | 11.356 | .000 | .704 | 1.013 | |
| a. 因变量: 观测站2 | ||||||||
5.3.1对于问题三模型的建立
用EXCEL求出去除观测点2,6,7前后各年份年均降雨量,和和前后的差的绝对值值(附录1)。
假设其误差的绝对值服从正态分布,建立正态分布模型~N(),估计出和便可求出误差的绝对值小于10mm的概率和大于20mm的概率,原理如下:
对于一般的正态曲线,其概率计算公式为:
P ( a F ( x ) = F(x) 称为正态分布的累积函数。现如给变数任一定值,假如 x 等于 a ,那么,随机变数 xP ( x 根据以上的方法,如果 a 、 b(aP(a 模型检验和求解步骤如下: Step1 由MATLAB命令histfit()大致观察一下数据的正态分布趋势得到如下图形: Step2 由命令normplot()正态概率纸检验数据是否来自正态分布,得到如此啊图形: Step3 由命令normfit()预测出均值和方差: Step4 由命令ttest做均值为6.2362显著性水平为0.05的检验: 表示不拒绝原假设,说明原假设误差绝对值的均值是合理的。 从而得到误差绝对值 所以预测误差的绝对值小于10mm的概率为 P(x<10)=F(10)=0.777。误差的绝对值大于20mm的概率是P(x<20)=1-F(20)=0.0555。 五、模型的评价与改进 在处理问题2时本文利用分层聚类法对观测站进行了分组,采用主观化分组,误差较大。且初步分为4组,在模型求解时发现组内观测站2和3有显著相关性,而观测站4和观测站10却与观测站2无显著相关;观测站5和观测站9也无显著相关性。于是本文提出改进方案将分组细化,分为六组,分别为:6,7,8一组,2,3一组,4,10一组,9一组,5一组,1一组。 参考文献 [1] 司守奎 孙玺箐.《数学建模算法与应用》.国防工业出版社,2011 [2] 姜启源 谢金星.《数学模型》.高等教育出版社,2011 [3] 韩中庚. 数学建模方法及其应用. 北京 高等教育出版社. 322-343 .2005 附录一:减少观测站前后年均降雨量及误差绝对值 x=load('5.txt'); y=load('9.txt'); plot(x,y,'o') hold on X=[ones(30,1) x]; [b,bint,r,rint,stats]=regress(y,X); b bint r rint stats plot(x,y,'o',x,b(1)+b(2)*x,'r'); xlabel('观测站8的年降雨量数据') ylabel('观测站7的年降雨量数据') figure rcoplot(r,rint) x=load('误差分析.txt') normplot(x) figure histfit(x) [u,s,uci,sci]=normfit(x)下载本文
附录二:年份 前均值 后均值 差绝对值 年份 前均值 后均值 差绝对值 1976 451.2 459.9533 8.7533 1991 528.8 536.9702 8.1702 1977 461.6 468.9471 7.3471 1992 565.6 550.3062 15.2938 1978 534.4 538.6287 4.2287 1993 459.2 462.9872 3.7872 1979 513.6 525.7999 12.1999 1994 523.2 515.6078 7.5922 1980 497.6 504.4871 6.8871 1995 440.8 449.4079 8.6079 1981 468 474.7425 6.7425 1996 624.8 622.36 2.4354 1982 570.4 574.6156 4.2156 1997 580 582.5592 2.5592 1983 548 532.7545 15.2455 1998 577.6 577.0086 0.5914 1984 496 485.1002 10.98 1999 484 476.3362 7.6638 1985 475.2 467.0926 8.1074 2000 474.4 479.2778 4.8778 1986 532 537.8846 5.8846 2001 432 426.9714 5.0286 1987 467.2 460.3274 6.8726 2002 527.2 527.0842 0.1158 1988 420 419.842 0.158 2003 516 518.9181 2.9181 19 5.6 581.1915 8.4085 2004 4 460.3362 3.6638 1990 551.2 549.734 1.466 2005 555.2 561.5636 6.3636