本发明涉及海洋温度预测领域,具体涉及一种基于层次聚类和随机森林的高分辨率海洋水温计算方法。
背景技术:
发生在海洋中的许多自然现象和发生过程往往与海水的物理性质有着很大的相关性。人类要认识和开发海洋,首先必须对海洋进行全面深入地观测和调查,掌握其物理性质。而海水温度和盐度作为海洋水文要素中最重要的组成部分之一,研究其时间和空间分布规律,不仅是海洋学的重要内容,而且对气象学、航海学、捕捞业、军事和水声等领域也弥足轻重。由于海洋环境复杂,人类在水下工作困难较大,目前为止,水下传感器网络是我们感知海洋环境的理想选择。美国是第一个开展水下传感器网络的国家。20世纪50年代,美国在大西洋和太平洋部署了声学监控系统sosus(kocakulakandbutun2017)。oceannetworkcanadaandtheuniversityofvictoria也发展了水下传感器网络venus和neptune用于接收和发送数据(heesemannet.al.2014)。2013年,中国在南海也部署了第一个水下监视系统。水下监测中最基本的工作之一是温度和盐度的监测。不仅需要实时监测网络中各个监测点的数据,也需要非监测点的值。换句话说,需要提高监测数据的空间分辨率。更高的分辨率意味着对环境信息有着更好的认知。
yujianget.al.提出了一种基于支持向量回归的用于提高海水温度和盐度空间分辨率的模型。但就像所知道的那样,支持向量机是借助二次规划来求解支持向量的,较大规模的海洋水温和盐度数据样本将耗费大量的机器内存和运算时间。海洋学中,水团是具有相对均匀的物理、化学和生物特征及大体一致的变化趋势,而与周围海水存在明显差异的宏大水体。聚类分析可以将数据分类到不同的类簇中,同一个类簇的对象具有很大的相似性,不同类簇间的对象有很大的差异性。这使用聚类方法对某一海域进行水团划分,然后对不同水团进行建模分析。常见的聚类算法大致包括k-means聚类(huangx,weis.2016)、均值漂移聚类(yamasakir,tanakat.2019)、基于密度的聚类(maheshkumark,ramamra)、用高斯混合模型的最大期望聚类(vlassisn,likasa.2002)、层次聚类(bouguettayaa.2015)和图团体检测聚类5种。
随机森林是一种基于决策树模型的集成学习方法。决策树学习算法最著名的代表是id3(quinlan,1979,1986)、c4.5(quinlan,1993)和cart(breimanetal.,1984)。id3、c4.5分别采用信息增益和信息增益率来进行特征选择。cart采用最小剩余方差来进行特征选择,这使得它既可以运用于分类,也可以运用于回归。bagging是集成学习常见的方法之一,它是一种从训练数据集中随机抽取部分样本来生成决策树的方法(breimanl,1996)。ho利用随机子空间方法通过对特征变量随机选取子集来生成每棵决策树(hotk.1998)。amit和geman定义了很多集合属性以及从这些随机选择中寻找每个结点的最优分割(amitandgeman,1997)。该方法对随机森林的提出产生了重要影响(breimanl.2001)。oshiro等分析了随机森林中是否存在最优的子模型数目(oshiroetal.2012)。biau等详细描述了随机森林的最新理论和研究进展(biaug,scornete.2016)。随机森林解决了决策树性能瓶颈问题,对噪声和异常值有较强的容忍性,大量的理论和实证研究都表明其有很好的预测准确率。
技术实现要素:
本发明设计开发了一种基于层次聚类和随机森林的高分辨率海洋水温计算方法,本发明的发明目的是提供高分辨率模型对未知数据点进行水温预测,能够有效的提升预测的准确度。
本发明提供的技术方案为:
一种基于层次聚类和随机森林的高分辨率海洋水温计算方法,包括如下步骤:
步骤一、采集目标海域指定时间内的海洋水温数据,并将所述海洋水温数据进行归一化处理;
步骤二、对归一化处理后的数据进行层次聚类;
步骤三、对聚类后产生的类簇,分别构建基于层次聚类和随机森林模型建立的海洋温度模型
其中,
优选的是,在所述步骤一中,采用min-max标准化公式对所述海洋水温数据进行归一化处理:
式中,l表示数据的特征个数,q表示样本数量,xik表示第k个数据样本的第i维特征值,
优选的是,在所述步骤二中,进行层次聚类过程包括:
对归一化的数据集,将每一个样本看作一个初始的类簇,然后通过两个类簇的平均距离公式计算两个类簇的平均距离,找出距离最近的两个类簇,合并两个类簇,生成新的类簇的集合,该过程不断重复直到所有的数据被划分成五类c={c1,c2,c3,c4,c5}。
优选的是,所述平均距离公式为
式中,ci,cj表示不同的类,
优选的是,在所述步骤三中,构建基于随机森林模型建立的海洋温度模型过程包括:
对聚类后产生的类簇中的一类数据,有放回的随机抽取若干个训练数据集d=(d1,d2,…,dm),未被选择的数据用来评估模型的预测准确率,在所述训练数据集中随机选择β个特征得到特征子集t=(t1,t2,…,tβ),采用平方误差最小化准则递归地构建二叉决策树模型
优选的是,pi(i=1,2,…,β)是特征对应的切分点集合,可通过特征ti(i=1,2,…,β)对应的特征值计算,通过求解
优选的是,在所述步骤一中,所述目标区域为95°w~115°w,9.5°n~9.5°s,且精度均为1°,深度范围为0~500m。
本发明与现有技术相比较所具有的有益效果:机器学习的一个基本目的就是获得一个与已知样本集之间差异最小的的可能函数,插值则是已经假定了已知离散点的约束的正确性,然而实际中我们要解决的问题一般都是有噪声和误差的,这也就意味着通过插值去补间数据集往往常见于不复杂的场景之中,我们所研究的海洋水温环境恰巧就是一个复杂的应用场景,这使得机器学习的方法可能更适合海洋水温的回归预测,和现有的基于支持向量机的海洋水温高分辨率模型相比,我们的模型拥有明显较低的时间复杂度,且模型准确率也相差无几。
附图说明
图1a为本发明所述的原始数据分布图。
图1b为本发明所述的仅按水温进行聚类后的效果图。
图1c为本发明所述的所有变量按水温进行聚类后的效果图。
图2为本发明所述的子模型数量为250的预测结果示意图。
图3a为本发明所述的叶节点最小样本数对预测分数的影响示意图。
图3b为本发明所述的节点分裂最小样本数对预测分数的影响示意图。
图4a为本发明所述的一月boa_argo数据集绘制的图像示意图。
图4b为本发明所述的方法将一月boa_argo数据提升数据分辨率后绘制的图像示意图(0.25°水平分辨率、1米垂直分辨率)。
图5a为本发明所述的二月boa_argo数据集绘制的图像示意图。
图5b为本发明所述的方法将二月boa_argo数据提升数据分辨率后绘制的图像示意图(0.25°水平分辨率、1米垂直分辨率)。
图6a为本发明所述的三月boa_argo数据集绘制的图像示意图。
图6b为本发明所述的方法将三月boa_argo数据提升数据分辨率后绘制的图像示意图(0.25°水平分辨率、1米垂直分辨率)。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
如图1所示,本发明提供一种基于层次聚类和随机森林的高分辨率海洋水温计算方法,该方法基于层次聚类和随机森林,包括:首先,本发明对数据集进行归一化处理,以消除量纲的不同对实验造成的影响;其次,本发明将数据集中的样本看作初始类簇,采用自底向上的聚合策略进行层次聚类;在聚类算法运行过程的每一步找出距离最近的两个类簇进行合并,该过程不断重复,直至数据被划分出五类,包括:表层水团、上混合层水团、温跃层水团、下混合层水团和深海层水团;最后,对于划分出的每一个类,本发明采用网格化搜索的方法寻找随机森林模型的最佳参数并为其构建随机森林模型。
根据海洋水体的物理、化学和生物特征,可以将他们划分为不同的水团。海洋中的不同水团,具有各不相同的理化和生化特性,在本发明中并没有采用严格意义上的水团的定义,而是沿用这一概念将海域划分为为不同簇的带有一定水团性质的不同区域,选择层次聚类的原因是该算法对距离度量的选择不敏感,而对于其他聚类算法,距离度量的选择是至关重要的。这对于缺乏对水团划分的先验知识非常有利。而且,海洋水温在垂直方向上所具有的层次结构也很好的表明层次聚类的适用性。考虑到不同特征的量纲不同,且数据变化的幅度也不一样,本发明对数据进行归一化处理。采用min-max标准化公式:
其中,l表示数据的特征个数,q表示样本数量;xik表示第k个数据样本的第i维特征值,
聚类作为一种无监督学习的方法,旨在按照某种特定标准将没有分类标签的数据集分为若干个簇。理论上,它使得同一簇中的数据对象相似性尽可能大,同时不同簇中的数据对象的差异性也尽可能大。即聚类之后同一类的数据尽可能聚集在一起,不同数据尽量分离。层次聚类是聚类算法中的一种,主要有两种类型:分裂型层次聚类和聚合型层次聚类。本发明中采用一种自底向上的层次聚类算法。自底向上聚合策略的层次聚类算法先将数据集中的样本看作一个初始聚类簇,然后在算法运行过程的每一步找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。这里的关键是如何计算聚类簇之间的距离。实际上,每个簇是一个样本集合,因此,只需采用关于集合的某种距离即可。
对于聚类所产生的类簇,本发明分别对其构建随机森林模型,对归一化的数据集,将每一个样本看作一个初始的类簇,然后通过两个类簇的平均距离公式
在本实施例中,对聚类产生的五类数据,分别对每一类数据构建随机森林模型,以c1为例,本发明先有放回的随机抽取若干个训练数据集d=(d1,d2,…,dm),m代表回归树子模型的数目,未被选择的数据将用来评估模型的预测准确率。对于训练样本dm∈d,随机选择k个特征(本发明选择总特征数的平方根),在所述训练数据集中随机选择β个特征得到特征子集t=(t1,t2,…,tβ),采用平方误差最小化准则递归地构建二叉决策树模型
寻找最优切分变量t和切分点p,依此将输入空间划分为两个区域,继续对每个区域重复划分,直到被划分出的所有区域的所有叶节点只剩下两个样本点则停止划分,重复上述过程建立
以下算法概述了本发明的训练过程,对其描述如下:
步骤1、初始化数据集dataset={x1,x2,x3,…,xn},设定距离度量函数
步骤2、采用min-max标准化公式对数据集进行归一化处理得到新的数据集dnormalization={x1,x2,x3,…,xn};
步骤3、将dnormalization中的每一个数据样本初始化一个类簇得到c={c1,c2,…,cn};
步骤4、通过距离度量函数davg(ci,cj)计算所有类簇的相似距离;
步骤5、找到两个最相似的类簇并合并一个新的类簇cnew;
步骤6、计算cnew和其它类簇的距离并回到步骤5,重复此过程至c中只剩下五类,即c={c1,c2,c3,c4,c5};
步骤7、根据聚类结果将数据集dnormalization分成五份,即
步骤8、从dnormalization中选出一类数据
步骤9、从
步骤10、采用随机子空间法随机选择β个特征t=(t1,t2,…,tβ);
步骤11、计算各个特征的分割点得到分割点向量集合p={p1,p2,…,pβ};
步骤12、通过方程
步骤13、根据分割点(t,p)划分区域并决定相应的输出值,r1(t,p)={x|x(t)≤p},r2(t,p)={x|x(t)>p},
步骤14、继续对两个子区域调用步骤12,13直到输入空间被划分为n个区域r1,r2,…,rn,且每个区域的数据样本点个数为2,生成决策树
步骤15、调用步骤9-14,重复estimators次,构建
步骤16、调用8-15,为五类数据分别构建随机森林模型,最终得到基于层次聚类和随机森林的高分辨率海洋水温模型表示为
实施例
本部分描述了在2004年一月、二月和三月数据集上的一些独立实验。argo提供的全球海洋argo网格资料数据集(boa_argo)所包含的特征包括经度、纬度、深度、压力、温度和盐度。经度、维度、深度组成本实验的特征向量,温度是要预测的值。本实施例中所选的数据的经度范围是95°w~115°w,纬度范围9.5°n~9.5°s,深度范围为0~500m,该区域内有着明显的温跃层特征,便于本发明进行实验及验证实验结果。
1、聚类实验结果
根据水温在垂直方向上的分布情况可以将水团分为表层水团、上混合层水团、温跃层水团、下混合层水团和深海层水团(本发明所选海域温跃层存在);本发明利用聚合型层次聚类方法将数据样本划分为五类数据,图1a~1c是原始数据和聚类效果分布图,lat坐标、lon坐标和dep坐标分别代表纬度、经度和深度;其中,图1a是原始数据分布图,不同的颜色深度代表不同的温度值;1b和1c分别是仅按温度值进行聚类和将数据的所有变量进行聚类后的效果图,不同的颜色深度代表不同的温度值;比较1a和1b,聚类后的各类别分布和原始数据分布具有较好的层次对应关系,这表明通过层次聚类能较好地对温度参数进行分类,值得注意的是某些类簇的数据样本较少,这可能影响预测模型的准确性,与1b采用的一维数据(温度)聚类分析方法相比,1c所采用的多维聚类分析方法存在着一定的复杂性,本发明假设各维数据对分析结果具有同等重要的影响,虽然实际可能存在着某些差异,从图中可以看出,引入多维特征之后,数据的划分不在具有一维聚类后所表现的层次效果。
2、随机森林模型实验结果
回归树的个数是影响随机森林预测准确度的主要参数,本发明固定叶节点分裂时参与判断的最大特征数为特征的开根,节点分裂最小样本数为2,叶节点最小样本数为2,采用十折交叉运算对随机森林在2004年1月数据集上的表现性能进行实验分析,表1是不同子模型数量时的预测结果准确度。从表中的数据可以看出,随机森林模型的预测性能总体表现良好,当子模型数量逐渐增大时,mse的值逐渐减小,同时mse也存在一定的波动性,说明随机森林回归模型的每次预测具有一定的偶然性,但无论怎样波动,整体的预测效果还是不错的;其中回归树为300棵,mse=0.0358762时的测试样本真实值和预测值的对比图如图2所示。可以看到,predict_values和target=output基本重合,这表明模型预测值很好地拟合了测试样本真实值。
表1不同子模型数量时的预测结果
在固定子模型数量为300、叶节点分裂时参与判断的最大特征为特征的开根和节点分裂最小样本数为2的情况下分别考量了叶节点最小样本数对预测分数的影响;同样也考虑了在固定子模型数量为250棵回归树、最大子特征为2和节点最小样本数为2时节点分裂最小样本数对预测分数的影响,图3a、3b是其变化图,从图中可以看出,随着叶节点最小样本数和节点分裂最小样本数的不断增大,测试分数也不断增大,这表明随机森林模型的预测准确率逐渐减小。这种变化带有一定的波动性,这是由于随机森林的偶然性引起的,但从变化的总体趋势来看叶节点最小样本数和节点分裂最小样本数与预测准确率呈负相关关系。
3、基于水团和随机森林的海洋温度空间分辨率提升模型实验
针对本实施例中所提到的两种聚类方式,分别进行实验分析。对一维数据聚类所产生的五个类簇分别进行随机森林建模分析,由建立的所及森林模型可以知道,随机森林模型的子模型个数是影响随机森林预测准确度的主要参数;本发明得到了50为步长,子模型数量从50到1000的不同随机森林模型的预测情况,表2是不同类簇的最优随机森林模型所对应的子模型数目及其预测准确度mse,为避免随机森林的随机性影响实验结果,本发明总共进行了三次实验,表中子模型数目代表的是随机森林预测结果时对应的子模型数量。分析实验数据结果,可以知道不同类簇之间,随机森林算法的预测准确度有着相当大的差异,比如第一类簇和第二、第四类簇预测准确度相差两个数量级,第三类簇和第五类簇的实验结果与第二类簇和第四类簇也有着一个数量级的差距。不同类簇的最优模型所对应子模型数目也存在一定的差异。忽略随机森林的随机性影响,第一至第五类簇最优模型所对应的子模型数目分别为150、500、500、800、600左右。对于总的预测效果而言,和表1相比较,一维数据聚类分析方法所构建的随机森林模型预测误差是原始的随机森林模型的两倍,这主要受第一类簇的高预测误差影响。
表2一维数据聚类分析方法所构建的随机森林模型预测结果
对多维数据聚类所产生的五个类簇同样进行上述实验,实验结果如表3所示。分析实验结果,随机森林算法的预测准确度对于不同类簇依然有第一的差异,但这一差异有明显减小趋势,仅仅表现为第二类簇和第四的预测误差是第一类簇、第三类簇和第五类簇的10倍左右。不同类簇的最优模型所对应子模型数目也存在一定的差异,第一至第五类簇最优模型所对应的子模型数目分别为750、450、750、750、400左右。对于总的预测效果而言,多维维数据聚类分析方法所构建的随机森林模型预测准确度是一维数据聚类分析方法所构建的随机森林模型预测结果的4倍。相较于原始随机森林而言,多维数据聚类分析方法所构建的随机森林模型预测误差也降低了0.0177。就不同类簇的预测准效果而言,虽然第二类簇的预测误差相对较高,但其它类簇都有着相当不错的预测性能,部分类簇的预测误差降低了一个数量级。
表3多维数据聚类分析方法所构建的随机森林模型预测结果
4、仿真实验结果
根据本发明提出的方法,分别对所选数据集构建高分辨率海洋水温模型并对未知数据点进行预测;图4至图6分别表示一月至三月的海洋水温分布图。其中4a、图5a、图6a由表示argo提供的网格数据集绘制的图像,图4b、图5b、图6b表示由本发明提出的方法提升数据分辨率后绘制的结果图;在使用模型预测的过程中,对于属于由层次聚类划分出的海域的内部空间点,本发明直接使用该海域所构建的随机森林模型进行预测,但存在某些空间点并不存在于所划分的任何类中,也即是说这些空间点分布在某两个或几个海域的边界所围成的区域中。对于这一类空间点,本发明采用一种特殊的处理方法,以其中某一点xi为例,该点是属于类c1,c2,…,cm的边界点围成的海域之中;首先,本发明找到该点的近邻点,所谓近邻点是指与某一个点欧式空间距离最接近的一系列点,并且这些点是c1,c2,…,cm所对应的空间位置的子集;然后,本发明取各个近邻点的温度的平均值作为点xi的温度值;此时,该点用于聚类的四维特征所对应的特征值都存在,本发明可以对该点进行类别预测;最后,根据预测的类别使用该类别对应的随机森林模型进行温度值预测。从图中可以看出,高分辨率模型的热力图与现有数据趋势一致,说明两者之间存在很大的一致性。基于层次聚类和随机森林高分辨率海洋水温模型可以根据现有数据的变化预测不同位置的温度值。此外,高分辨率数据的热力图边缘更清晰,能更好的反应海洋温度变化的细节。
因此,为了提高海洋水温的空间分辨率,为了验证本发明所提出的模型,本发明使用十折交叉验证方法对boaargo提供的2014年1月数据进行了实验。实验结果表明,本发明提出的模型的预测准确度比对数据直接使用随机森林模型有着很好的提升,特别是在聚类划分出的某些局部海域,模型准确度能提升10倍左右。另一方面,实验结果也说明了海洋水温分布的复杂性,使用单一模型无法很好的预测海洋水温的空间分布规律。通过对原始数据和提高分辨率后的数据进行海洋温度梯度值分析计算,一些在原始数据分布中不能被找到的较薄的温跃层被找到,并且该区域的温跃层分布形态被进一步确定。这对海洋温跃层的研究具有重要意义。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
1.一种基于层次聚类和随机森林的高分辨率海洋水温计算方法,其特征在于,包括如下步骤:
步骤一、采集目标海域指定时间内的海洋水温数据,并将所述海洋水温数据进行归一化处理;
步骤二、对归一化处理后的数据进行层次聚类;
步骤三、对聚类后产生的类簇,分别构建基于层次聚类和随机森林模型建立的海洋温度模型
其中,
2.如权利要求1所述的基于层次聚类和随机森林的高分辨率海洋水温计算方法,其特征在于,在所述步骤一中,采用min-max标准化公式对所述海洋水温数据进行归一化处理:
式中,l表示数据的特征个数,q表示样本数量,xik表示第k个数据样本的第i维特征值,
3.如权利要求1所述的基于层次聚类和随机森林的高分辨率海洋水温计算方法,其特征在于,在所述步骤二中,进行层次聚类过程包括:
对归一化的数据集,将每一个样本看作一个初始的类簇,然后通过两个类簇的平均距离公式计算两个类簇的平均距离,找出距离最近的两个类簇,合并两个类簇,生成新的类簇的集合,该过程不断重复直到所有的数据被划分成五类c={c1,c2,c3,c4,c5}。
4.如权利要求3所述的基于层次聚类和随机森林的高分辨率海洋水温计算方法,其特征在于,所述平均距离公式为
式中,ci,cj表示不同的类,
5.如权利要求1所述的基于层次聚类和随机森林的高分辨率海洋水温计算方法,其特征在于,在所述步骤三中,构建基于随机森林模型建立的海洋温度模型过程包括:
对聚类后产生的类簇中的一类数据,有放回的随机抽取若干个训练数据集d=(d1,d2,…,dm),未被选择的数据用来评估模型的预测准确率,在所述训练数据集中随机选择β个特征得到特征子集t=(t1,t2,…,tβ),采用平方误差最小化准则递归地构建二叉决策树模型
6.如权利要求5所述的基于层次聚类和随机森林的高分辨率海洋水温计算方法,其特征在于,pi(i=1,2,…,β)是特征对应的切分点集合,可通过特征ti(i=1,2,…,β)对应的特征值计算,通过求解
7.如权利要求1所述的基于层次聚类和随机森林的高分辨率海洋水温计算方法,其特征在于,在所述步骤一中,所述目标区域为95°w~115°w,9.5°n~9.5°s,且精度均为1°,深度范围为0~500m。
技术总结