一种基于快速密度峰聚类的客观天气分型方法

文档序号:26007983发布日期:2021-07-23 21:27阅读:239来源:国知局
一种基于快速密度峰聚类的客观天气分型方法
本发明属于天气分型领域,尤其涉及一种基于快速密度峰聚类的客观天气分型方法。
背景技术
:天气分型是一种通过分析若干特定气象变量来识别出特征天气类型,并将气象场分类为这些天气类型的方法。通过这种方式,天气场被分类为具有不同个体特征的不同组,而特征天气类型则代表了该组所有成员中气象要素的核心分布。由于天气类型通常与大气的动态变化过程密切相关,因此,天气分型可用于识别各种天气过程、空气污染特征等,并有助于改善气象和空气质量预报技能。传统的天气分型方法是基于人为主观判断的主观天气分型方法,该方法通过人工判断识别天气图,根据天气图中目标参数的变化特征进行分类,存在着分型结果普适性弱、主观性强、工作量大等缺点,且不同的人员分型的结果差异较大。空间天气分类法(spatialsynopticclassification,ssc)是一种基于地面观测的天气类型分类法,最初于20世纪90年代出现,现在已经成为实施多种气候和健康研究调查的分析工具,ssc系统运用一种名为“滑动种子日(slidingseeddays)”的方法,量化研究对象城市的每种天气类型的典型气象特征,所使用的气象要素包括温度、露点温度、气压、风速和云量等,然后将每日与种子日进行比较,并将每天分类为最接近的天气类型,该方法虽然形象直观但是需要针对各气象要素预定义“种子日判定标准(seed-dayselectioncriteria)”因此参数量很大。聚类分析是进行天气分型的一种常用方法,即通过对无类别标签数据的属性(如距离、密度、分布等)进行无监督学习,从而将数据划分成多个簇,并使得簇内的数据在属性上具有高相似性,而簇间的数据则在属性上相似性低。当前聚类算法多种多样,其中最为经典的算法之一便是于2014年6月在science上发表的dpc算法(clusteringbyfastsearchandfindofdensitypeaks),该算法能快速(时间复杂度n2,n表示数据量)发现任意形状数据集的密度峰值点(即类簇中心),并高效进行剩余数据点分配,适用于大规模数据的聚类分析,该算法的原理基于两大原则(1)簇中心由一些局部密度比较低的点围绕(2)簇中心距离其它比自身局部密度高的点的距离都比较大。后期围绕着解决dpc算法的不足,出现了fuzzy-dpc(fuzzyclusteringbyfastsearchandfindofdensitypeaks)、knn-dpc(k近邻优化的密度峰值快速搜索聚类算法)、fknn-dpc(robustclusteringbydetectingdensitypeaksandassigningpointsbasedonfuzzyweightedk-nearestneighbors)等一系列的dpc改进算法,但是这些算法仅仅着眼于解决dpc算法的前期(参数形式和取值)和后期(簇中心选择,噪点分离)问题而并未对dpc算法的根本原理,即刻画簇心的决策图进行改进,因此在面对数据集中的某些极端情况,如大小簇差异显著、噪点较多,就无法获得令人满意的结果了。因此,鉴于以上所述现有技术的不足,需要将一种新的dpc改进算法应用到天气分型中,解决现有技术参数过多,以及对于大小簇差异显著且噪点较多的数据集聚类效果不佳的问题。技术实现要素:本发明将一种新的dpc改进算法应用到天气分型中,在dpc算法仅考虑数据点密度属性和距离属性的基础上增加了数据点(天气现象)的路径属性和分布属性,并在线性增加时间复杂度的基础上获得了比dpc算法更优的效果,使本发明对于天气分型具有更高的普适性,并能够单一截断距离参数控制,自动选择特征天气类型代表性天气和分离过渡天气。技术方案:本发明提出一种基于快速密度峰聚类的客观天气分型方法,该方法包括如下步骤:步骤1)建立气象数据集的最小距离连通路径特征数组;步骤2)基于路径特征数组计算各天气现象的路径属性和分布属性并生成三维决策图;步骤3)使用回归分析自动判定出三维决策图的离群天气现象作为特征天气类型的代表性天气,并初步分型客观天气;步骤4)用模糊加权法判定尚未划入任何簇的天气现象所要划入的代表天,并分离出过渡天气,最终完成客观天气分型。进一步的,步骤1)的具体方法如下:步骤1.1)以日期为唯一标识,建立标准化后的气压、温度、相对湿度、风速,总云量以及日照时间共6个地面气象观测要素的数据集其中,x表示气象要素值,{1…n}表示天气现象序号,n表示天气现象数量,6表示气象要素数量,id表示天气现象唯一标识,即日期标识,令id={id1,id2…idn},计算data各天气现象的距离矩阵dij=dji,i、j∈{1...n},ds为对称矩阵,其主对角线元素为nan,dij和dji都表示第i、j个天气现象间的欧氏距离,查找ds中最小值dmimj,及其所在行序号mi和列序号mj,并新建n×n×4三维数组rfs,全部元素初始化为nan,rfs称为最小距离连通路径特征数组,简称路径特征数组,rfs在指定了第一个维度的行序号和第二个维度的列序号后得到的第三个维度数据,即长度为4的向量,称为rfs的路径特征向量,令rfs的路径特征向量rfsmimj=rfsmjmi=[1,dmimj,d2mimj,dmimj],并新建序号集合di={mi,mj},以及序号集合do表示di相对于集合{1…n}的补集;步骤1.2)查找ds子集ds(di,do)中最小值dmdimdj,及其在ds中的行序号mdi和列序号mdj,然后更新rfs的路径特征向量rfsmdimdj=rfsmdjmdi=[1,dmdimdj,dmdimdj2,dmdimdj],再遍历集合di减去mdi后的子集odi中任一元素odi(i),i∈{1...length(odi)},更新rfs的路径特征向量rfsodi(i)mdj=rfsmdjodi(i)=[rfsmdiodi(i)1+1,rfsmdiodi(i)2+dmdimdj,rfsmdiodi(i)3+dmdimdj2,max(rfsmdiodi(i)4,dmdimdj)],rfs下标中1至4表示rfs第三个维度的序号,最后将mdj从集合do中删除并追加到集合di尾部;步骤1.3),如do不为空,则进入步骤1.2)继续执行,否则结束步骤1),完成路径特征数组rfs的生成。进一步的,步骤2)的具体方法如下:步骤2.1)以dc为截断距离,按照dpc算法公式(1)和(2)计算每个天气现象的密度属性ρi,i∈{1...n}和距离属性δi,i∈{1...n},然后得出公式(1)为高斯核函数公式,dij表示距离矩阵ds第i行j列元素,dc为截断距离,公式(2)中,ρj>ρi表示dij取最小值的先决条件,j表示dij取最小值后天气现象i通过dij所连通的另一个相邻天气现象j=nei(i);步骤2.2)计算每个天气现象的路径属性ηi,i∈{1...n}为:式(3)中,i为rfs的第一个维度序号,即第i行,nei(i)为rfs的第二个维度序号,即第nei(i)列,nei(i)含义如式(2),1至4表示rfs第三个维度序号;步骤2.3)计算每个天气现象的分布属性θi,i∈{1...n}为:式(4)中,i为rfs的第一个维度序号,即第i行,j为rfs的第二个维度序号,即第j列,1至2为rfs第三个维度序号,dc为截断距离,dij为距离矩阵ds第i行j列元素;步骤2.4)计算和dgzi=dgxi×dgyi,以dgxi、dgyi、dgzi为三维空间坐标绘制三维决策图。进一步的,步骤3)的具体方法如下:步骤3.1)以dgxi、dgyi、dgzi为三维空间坐标,按照置信区间alpha和常值拟合函数dgz=c进行回归分析,得到残差区间rint表示t分布alpha置信区间的n个天气现象残差上下界,取其中下界大于零的离群天气现象作为特征天气类型的代表性天气cc,简称代表天,其个数为con,其中,预设值alpha=0.05表示95%置信区间,rint为n×2矩阵,c为回归分析的自动估计参数;步骤3.2)遍历代表天cc,将各代表天截断距离dc内的天气现象,即距离矩阵ds的各代表天对应行中小于dc的值的对应列,划入该代表天作为同一簇,其中,如果存在天气现象k既在某代表天ccci的dc范围内,ci∈{1…con},又在其它代表天cccj,…ccck的dc范围内,cj,ck∈{1…con},则将其划入距离矩阵ds内元素dkccci,dkcccj,...dkccck中最小值对应的代表天作为同一簇,完成客观天气分型的初步划分,得到的con个簇称为簇核集合co。进一步的,步骤4)的具体方法如下:步骤4.1)生成权值矩阵w,其元素其中dij为距离矩阵ds第i行j列元素,wij为权值矩阵w第i行j列元素,w为对称矩阵,其主对角线元素为nan,i,j∈{1…n}然后计算隶属度矩阵p如式(5):式(5)中,p为oln×con矩阵,其中,oln表示尚未划入任何簇的天气现象集合ol的长度,con表示簇核集合co的长度,oloi表示ol中第oi个天气现象的序号,即p的行序号,oi为oloi在距离矩阵ds的对应行序号,ci表示簇核集合co中任一簇核的序号,即p的列序号,l∈coci表示任一属于簇核coci的天气现象在距离矩阵ds中对应的列序号为l,doil表示距离矩阵ds第oi行l列元素,dc表示截断距离,woil表示权值矩阵w第oi行l列元素,wil表示权值矩阵w第i行l列元素,dil表示距离矩阵ds第i行l列元素;步骤4.2)取其中,olmoi表示隶属度矩阵p最大值所在的行序号,moi为olmoi在距离矩阵ds的对应行序号,mci表示隶属度矩阵p最大值所在的列序号,如则遍历p中第olmoi个天气现象的dc范围内任一未划分天气现象od在隶属度矩阵p中所在的行序号m,od为m在距离矩阵ds的对应行序号,并更新pmmci如式(6);pmmci=pmmci+υodmoi×wodmoi(6)式(6)中,pmmci表示p的m行mci列元素,wodmoi表示权值矩阵w第od行moi列元素,其中,dc表示截断距离,wimoi表示权值矩阵w第i行moi列元素,dimoi表示距离矩阵ds第i行moi列元素;令p的第olmoi行全部为0,再将第olmoi个天气现象从ol中删除并移至comci中,表示尚未划入任何簇的天气现象olmoi划入簇核comci中;步骤4.3)重复步骤4.2)直到则将ol中所有天气现象标记为过渡天气,结束步骤4),得到con个簇的特征天气类型以及若干个过渡天气。各步骤原理说明:步骤1)首先说明最小距离连通路径:由n个天气现象的唯一标识集合id和n-1条连接2个天气现象的边集合组成的无向无环且按照最临近距离连接而成的图称为最小距离连通图,其中任意两个天气现象间都有一条唯一的由若干边组成的最临近路径r,即为最小距离连通路径。因考虑到在一个空间复杂度s(rs)=n×n×rl(rs表示和距离矩阵ds相同排列方式的任意两个天气现象间的最小距离连通路径,rl表示任意路径中边的数量)的数据结构中存储所有r会消耗大量的存储空间,因此只根据实际需要存储r的路径特征向量rf=[rl,rs,rqs,rmax],其中rs表示r中边长度的和,rqs表示r中边长度的平方和,rmax表示r中边长度的最大值,那么n个天气现象的最小距离连通路径特征数组rfs即减少为一个n×n×4的三维数组。其次,生成路径特征数组rfs是按照先找距离矩阵ds中最小距离天气现象{mi,mj}放入di集合,再从do集合逐步将ds(di,do)中最小距离的天气现象mdj逐步加入到di的流程生成的。其中在逐步加入的过程中需要每次将属于do的天气现象mdj到di各点的路径特征向量集合rfsmdjdi(di=odi∪mdi)进行更新,而更新中只要使用属于di的天气现象mdi到di中其余天气现象的rfs(前一步已迭代生成)与rfsmdjmdi进行累加和最大值保留即可。最后在最小值dmdimdj的查找方面,逐一查找ds(di,do)各元素的时间复杂度是length(di)×length(do),因此为降低时间复杂度,用行向量domd存储当前ds(di,do)的各列最小值,则dmdimdj=min(domd),再于每次将do中的一个天气现象mdj=argminmdj∈do(domd)(mdj表示domd取最小值时的对应序号)加入到di后删除domd的mdj列,最终在domd其余各列上比较domd和ds的mdj行相对应列取最小值更新domd,这样就使得一次加入过程的时间复杂度为遍历domd的时间复杂度length(do),所以本步骤的总体时间复杂度步骤2)首先关于式(1)和式(2),引自参考论文“robustclusteringbydetectingdensitypeaksandassigningpointsbasedonfuzzyweightedk-nearestneighbors”(informationsciences354(2016)19–40)。其次,推导路径属性,计算每个天气现象的路径属性为:式(7)中nei(i)含义如式(2),sd表示路径中边长的标准差,由于r=rsinei(i),将式(7)转换为路径特征数组rfs的形式表示即为公式(3)。最后,推导分布属性,计算每个天气现象的分布属性为:式(8)中sum(rsij)表示天气现象i,j间路径的边长和,length(rsij)表示天气现象i,j间路径的边数量,dij表示天气现象i,j间的距离。将式(8)转换为路径特征数组rfs的形式表示即为公式(4)。最后,本步骤总体时间复杂度o2≈n2+nlogn≈n2。步骤3)中的步骤3.1)使用步骤2)所得到的描述n个天气现象的密度属性、距离属性、路径属性、分布属性的三维决策图进行回归分析,通过用常值函数dgz=c拟合三维决策图做最小二乘估计来获取残差区间rint中下界大于零的天气现象(即离群点)作为特征天气类型的代表性天气(简称代表天),其中rint的计算已有matlab编程实现的函数库,原理是将残差除以其标准差,得到具有已知自由度的t分布数据,而后rint中返回的上下界偏移是以残差为中心的这些t分布数据的100*(1-alpha)%置信区间范围。步骤3.2)针对每个代表天,将其截断距离dc范围内的天气现象划入该代表天作为同一簇,从而得到和代表天同数量的微小簇,称为簇核集合,以便于接下来划分剩余的未划分天气现象。本步骤时间复杂度o3≈5n+ccn×n<n2。步骤4)模糊加权法参考论文“robustclusteringbydetectingdensitypeaksandassigningpointsbasedonfuzzyweightedk-nearestneighbors”(informationsciences354(2016)19–40)提出的模糊加权法分配非簇核数据的算法修改而来,将其中的knn(k-nearestneighbors)参数改为了dc截断距离。本步骤时间复杂度o4≈n2+(oln×con)2≈n2。有益效果:与现有技术相比,本发明的技术方案具有以下有益技术效果:1、单一参数分型天气,并自动选择特征天气类型代表天和分离出过渡天气本发明仅使用截断距离dc作为参数,且选择代表天采用回归分析法、分离过渡天气采用模糊加权法,这两者均可自动化计算完成。此外,本发明的总时间复杂度o=o1+o2+o3+o4≈n2,与dpc算法时间复杂度n2相比较仅有线性增加。2、对于不同特征天气类型的天气现象数量差异显著且过渡天气较多的情况分型效果较好为证明该有益效果,用图1所示的便于可视化的2维数据集eye进行本发明的idpc聚类分型算法(improveddensitypeaksclustering)效果验证。由于该数据集非气象数据集,因此验证分析中用数据点指代天气现象、簇指代特征天气类型、大簇指代天气现象数量多的特征天气类型、小簇指代天气现象数量少的特征天气类型、簇形指代特征天气类型的分布形状、簇心指代特征天气类型的代表性天气、噪点指代过渡天气。eye数据集由3500个二维数据点组成,其中有500个(3001-3500)外围噪点如图1(a),其余3000个成簇数据点如图1(b)呈现3个簇,中间大簇2500个(1-2500)数据点,上下两个小簇各250个(2501-2750,2751-3000)数据点,数据分布形状不一,有非凸簇形,因此符合验证本有益效果要求。由图2和图3的聚类分型结果比较可以看出,idpc算法是明显优于dpc算法的,在相同dc参数下idpc算法(图3(b))能够将两个只有250个数据点的非凸簇形的小簇识别出来,但dpc算法(图2(b))就只识别出了最大的球形簇其余则全部归为噪点。究其原因是和算法本身考虑的数据属性相关的,dpc算法只考虑到了数据点的密度属性和距离属性,而在eye数据集中250个数据点的小簇其密度是远不如2500个数据点的大簇的,所以便会有大量密度属性远高于小簇簇心的数据点分布在大簇中,也就是体现在三维决策图(图2(c))中ρ轴大值的那些数据点,其次小簇簇心到高于其密度的最近数据点的距离δi由于大小簇密度差距大的关系只能是小簇簇心到大簇边缘部分的距离,而这个距离是远小于分散的噪点到最近的簇边缘的,因此也会有一些距离属性远高于小簇簇心的噪点分布在三维决策图(图2(c))δ轴的大值部分,这就导致了真正需要被识别出来的小簇簇心位于ρ轴和δ轴都是小值且接近于ρ-δ平面对角线的位置(如图2(c)中簇心2625、2892),但这个位置的数据点在做ρi×δi的计算后是不具备回归分析的离群性的,所以最终回归分析得到的簇心只有4,如图2(b)。相较之下idpc算法就解决了eye数据集大小簇加多噪点的情况下难以对簇心特性进行正确刻画的问题,因为加入了路径属性和分布属性后,一方面小簇簇心到大簇数据点的路径都会经过一个簇间的长边和很多的簇内短边,所以其路径属性值max(rsinei(i))-mean(rsinei(i))大、sd(rsinei(i))小(如式(7)),因此簇心的路径属性值便会大于噪点和簇边界点的路径属性值,另一方面对于簇心来说周围的数据点是较多且分布均匀的,所以其分布属性式(8)中因为簇心截断距离内到其余数据点的路径的边数length(rsij)小,同时簇心截断距离内数据点相对于簇心的分布方向是均匀且密集的,所以其路径的曲折比sum(rsij)/dij大,因此簇心的分布属性值也就相应的要高于噪点和簇边界点,从三维决策图(图3(c))可以看出,簇心依次是4、2892、2625,其中2892、2625两个小簇的簇心在轴上的值是明显小于轴的值的,所以其密度+距离属性是不如路径+分布属性显著的,由此可见增加了数据点的路径和分布属性以后idpc算法对于簇心特性的刻画更准确,可以在多噪点的情况下找出小簇簇心2892、2625如图3(b),从而对于数据集聚类分型具有更高的普适性。附图说明图1eye数据集(a):数据集总体分布,(b):(a)中间的成簇部分;图2eye数据集dpc聚类分型结果(dc=0.5)(a):数据集总体聚类分型结果(b):(a)中间的成簇部分聚类分型结果(c):数据集的三维决策图;图3eye数据集idpc聚类分型结果(dc=0.5)(a):数据集总体聚类分型结果(b):(a)中间的成簇部分聚类分型结果(c):数据集的三维决策图;图4集于idpc聚类分型的客观天气分型流程图。具体实施方式本发明的流程图如图4,采用2000-2020年北京市气象台夏季6-8月逐日四次(02、08、14和20时)的气压、温度、相对湿度、风速,总云量以及日照时间共6个气象要素作为地面气象观测数据。由于获取的地面气象观测数据是逐日四次的而最后客观天气分型则是逐日的,所以需要对部分气象要素进行日值统计,其中气压取日平均值、温度取日最大值、相对湿度取日平均值、风速取日平均值、总云量取日总值、日照时间取日总值。因为各气象要素的性质不同,具有不同的量纲和数量级,因此需要对气象要素进行标准化以便于比较,此处采用正规化(zero-meannormalization)方法,公式其中xi表示某日的某气象要素值,表示该气象要素的均值,s表示该气象要素的标准差。使用参数dc=3.3对标准化后的逐日气象数据集data进行idpc聚类分型,运算结果为客观天气分型结果,其中con个特征天气类型按照其具体特征标记为湿热、干热、湿温、干温四种不同的天气类型,而cc则为特征天气类型的代表性天气(代表天),ol为过渡天气表示一种特征天气类型和另一种特征天气类型间的过渡阶段,所以不属于任何特征天气类型,分型的结果如表1。表1idpc分型北京夏季天气类型及其特征表2北京夏季各算法天气分型结果比较天气类型ssc分型出现频率dpc分型出现频率idpc分型出现频率湿热36.6%36.7%36.8%干热28.5%28.6%28.6%湿温17.9%18.0%17.2%干温8.2%0%8.6%过渡8.8%16.7%8.8%表2为前述ssc、dpc、idpc三种算法的天气分型结果比较,其中ssc的“种子日判定标准”取6个气象要素在湿热、干热、湿温、干温天气类型下与表1的代表天气象要素值的平均误差最小的那一日为相应的种子日,然后将其余日与种子日进行比较后,划入最接近的天气类型,但依据ssc标准,距离大于1.3倍标准差的那些日归类为过渡天气;dpc的参数dc取值同idpc。由表2可见,ssc和idpc的分型结果接近,但这是以idpc的代表天为基础得到的种子日,如制定“种子日判定标准”则需要人为设置大量经验参数,dpc的分型结果最差,这是因为其识别大小簇和多噪点的能力不如idpc,所以将干温天气基本上都划入到了过渡天气中。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1