
基于进化算法的特征选择与cart森林的短时强降水预报方法
技术领域
1.本发明涉及计算机技术领域,尤其涉及一种基于进化算法的特征选择与cart森林的短时强降水预报方法。
背景技术:2.短时强降水是一种常见的灾害性天气,其具有产生与消亡周期短、影响区域范围小且天气变化极为剧烈的特点,准确掌握短时强降水的发生规律并对其进行科学及时的预报是防灾减灾的关键。到目前为止,对短时强降水的预报方法主要分为以下三类:(1)天气形势分析,即通过气象学、物理学、热力学的基本原理建立短时强降水的预报模型,这一方法可以直观反映各个气象要素对短时强降水的影响,且预报准确度较高,但模型较难建立且参数计算复杂。(2)物理量参数特征统计,这一方法是通过大量气象观测数据对各参数进行回归分析,拟合出各气象要素与短时强降水间的关系,再根据观测到的气象要素来对短时强降水进行预报,该方法思路较为简单,实行难度较小,但准确率不高,还需使用额外的技术对结果进行修正。(3)机器学习法,该方法是一种新兴方法,它将短时强降水预报作为一个二元分类问题来解决,在划分训练集与测试集后利用机器学习算法对气象数据进行大规模训练,从而自动生成预报模型,其优势在于需要设置的参数较少,选定模型后人为干预较小,使用者不需要掌握过多的气象专业知识,在特征属性选择合理的情况下模型的准确度一般较高。专利[1](路志英,汪永清.基于gbdt+lr模型的冰雹和短时强降水预报方法[p].天津市:cn110888186a)提出了一种基于gbdt+lr模型的冰雹和短时强降水预报方法,但该发明只能根据气象数据判定预测时间点出现的是冰雹还是短时强降水,无法判断是否为正常天气,且lr模型对分布不均衡的正反事件分类能力较弱,而短时强降水事件发生次数一般远小于正常天气发生次数,故而限制了该方案的实用性。
技术实现要素:[0003]
针对以上问题,本发明提出一种更为实用且准确的基于进化算法的特征选择与cart森林的短时强降水预报方法,其可以根据采集到的实时气象数据来预测是否会发生短时强降水事件;在构建模型时,对训练数据集亦无过多要求,减少了数据处理等额外人工操作。
[0004]
为实现本发明的目的,提供一种基于进化算法的特征选择与cart森林的短时强降水预报方法,包括如下步骤:
[0005]
s2,采用进化算法对特征选择方案进行优化,最终得到一组特征选择方案;该步骤具体包括:
[0006]
s21,将气象数据中的物理特征集合划分为n个大小为t的特征子空间,每个子空间对应着种群中的一个个体,对特征进行二进制编码,映射为0
‑
1串,每个个体实则代表了一种特征选择方案,种群由n个体组成,即为一组特征选择方案;其中,t≤m,m为总特征数,0表示不选取该特征,1表示选取该特征;
[0007]
s22,先根据个体的适应度值对种群进行非支配排序,按非支配层级由低到高的顺序依次将各层中的所有个体放入到下一代种群,对将要满足种群规模的最后一层中的所有个体分别计算拥挤度并按其由高到低的顺序进行选择,每轮评估时,将气象数据按3:1的数量随机划分为训练集与自测试集,以确定最终种群;
[0008]
s3,执行完步骤s2后得到最终种群,种群中的每个个体代表了一种对气象数据物理特征的选择方案,使用各特征选择方案分别构建cart树,每棵树由整体数据集中随机选取的3/4的训练集训练得到,将所有树组合从而产生cart森林模型;
[0009]
s4,采集待测地区待预测时间点之前的气象数据,代入所述cart森林模型中,根据cart森林模型中各棵cart树的分类结果,以少数服从多数的原则来判断所述待预测时间点是否会出现短时强降水天气。
[0010]
在一个实施例中,构建cart树的过程包括:
[0011]
(1)读入气象数据集以及特征选择方案,对各条气象数据按照特征选择方案删除冗余物理特征;
[0012]
(2)cart树根据基尼指数来选择划分属性,假设当前数据集d中第k类样本所占比例为p
k
(k=1,2,3,...,n),则数据集d的纯度可用基尼指数来度量:
[0013][0014]
其中,gini(d)表示从数据集d中随机选取两个样本类别不一致的概率,故gini(d)越小,数据集的纯度越高;属性a的基尼指数gini_index(d,a)为:
[0015][0016]
在候选属性集合中,选择能使划分后基尼指数最小的属性作为最优划分属性a
*
,即:
[0017][0018]
(3)对剩余的候选属性,重复步骤(2)直到候选属性集合为空,以此完成对cart树的构建。
[0019]
在一个实施例中,拥挤度的计算过程包括:
[0020]
根据每个目标函数对种群中的所有个体按升序进行排序,第一个和最后一个个体的拥挤度设为无穷大,第i个个体的拥挤度则设为第i+1和第i
‑
1个体的所有目标函数值之差的和。
[0021]
在一个实施例中,在步骤s22之后,还包括:
[0022]
s23,采用单点交叉与单点变异策略产生新的个体,从而随机产生新的特征选择方案用于步骤s22的选择操作。
[0023]
上述基于进化算法的特征选择与cart森林的短时强降水预报方法,采用进化算法对特征选择方案进行优化,最终得到一组特征选择方案,进而确定最终种群,种群中的每个个体代表了一种对气象数据物理特征的选择方案,使用各特征选择方案分别构建cart树,每棵树由整体数据集中随机选取的3/4的训练集训练得到,将所有树组合从而产生cart森林模型,采集待测地区待预测时间点之前的气象数据,代入cart森林模型中,根据cart森林
模型中各棵cart树的分类结果,以少数服从多数的原则来判断所述待预测时间点是否会出现短时强降水天气,以实现对短时强降水天气的准确预报,实用性较强,能够对各类短时强降水预报需求进行高效准确地响应。
附图说明
[0024]
图1是一个实施例的基于进化算法的特征选择与cart森林的短时强降水预报方法流程图;
[0025]
图2是另一个实施例的基于进化算法的特征选择与cart森林的短时强降水预报方法流程图;
[0026]
图3是一个实施例中使用进化算法执行特征选择的流程图;
[0027]
图4是一个实施例中使用进化算法获得的若干种特征选择方案的效果评估示意图。
具体实施方式
[0028]
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0029]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0030]
参考图1所示,图1为一个实施例的基于进化算法的特征选择与cart森林的短时强降水预报方法流程图,包括如下步骤:
[0031]
s2,采用进化算法对特征选择方案进行优化,最终得到一组特征选择方案,以实现采用基于进化算法的包裹式特征选择方案。
[0032]
步骤s2具体包括:
[0033]
s21,种群编码:
[0034]
将气象数据中的物理特征集合划分为n个大小为t的特征子空间,每个子空间对应着种群中的一个个体,对特征进行二进制编码,映射为0
‑
1串,每个个体实则代表了一种特征选择方案,种群由n个体组成,即为一组特征选择方案;其中,t≤m,m为总特征数,0表示不选取该特征,1表示选取该特征。
[0035]
上述气象数据中的物理特征集合可以包括:一条气象数据对应的多个物理特征,相应的特征选择就是在原有特征集合中对特征进行筛选。
[0036]
s22,选择:
[0037]
先根据个体的适应度值对种群进行非支配排序,按非支配层级由低到高的顺序依次将各层中的所有个体放入到下一代种群,对将要满足种群规模的最后一层中的所有个体分别计算拥挤度并按其由高到低的顺序进行选择,每轮评估时,将气象数据按3:1的数量随机划分为训练集与自测试集,以确定最终种群。
[0038]
s3,执行完步骤s2后得到最终种群,种群中的每个个体代表了一种对气象数据物
理特征的选择方案,使用各特征选择方案分别构建cart树,每棵树由整体数据集中随机选取的3/4的训练集训练得到,将所有树组合从而产生cart森林模型。
[0039]
上述特征选择方案中的特征可以包括气象物理特征,比如可以指对流抑制能(cin)、对流有效势能(cape)、沙氏指数(si)、高空水汽通量场(qflux)、高空散度场(div)等,通常可以视实际测得的观察数据而定。
[0040]
具体地,可以使用进化算法最终会得到一组特征选择方案,依据各方案分别构建cart树,这些cart树组合在一起组成cart森林模型。
[0041]
s4,采集待测地区待预测时间点之前的气象数据,代入所述cart森林模型中,根据cart森林模型中各棵cart树的分类结果,以少数服从多数的原则来判断所述待预测时间点是否会出现短时强降水天气。
[0042]
上述基于进化算法的特征选择与cart森林的短时强降水预报方法,采用进化算法对特征选择方案进行优化,最终得到一组特征选择方案,进而确定最终种群,种群中的每个个体代表了一种对气象数据物理特征的选择方案,使用各特征选择方案分别构建cart树,每棵树由整体数据集中随机选取的3/4的训练集训练得到,将所有树组合从而产生cart森林模型,采集待测地区待预测时间点之前的气象数据,代入cart森林模型中,根据cart森林模型中各棵cart树的分类结果,以少数服从多数的原则来判断所述待预测时间点是否会出现短时强降水天气,以实现对短时强降水天气的准确预报,实用性较强,能够对各类短时强降水预报需求进行高效准确地响应。
[0043]
在一个实施例中,构建cart树的过程包括:
[0044]
(1)读入气象数据集以及特征选择方案(比如可以从相关软件数据接口中读入),对各条气象数据按照特征选择方案删除冗余物理特征;
[0045]
(2)cart树根据基尼指数来选择划分属性,假设当前数据集d中第k类样本所占比例为p
k
(k=1,2,3,...,n),则数据集d的纯度可用基尼指数来度量:
[0046][0047]
其中,n表示总的标签数量,gini(d)表示从数据集d中随机选取两个样本类别不一致的概率,故gini(d)越小,数据集的纯度越高;属性a的基尼指数gini_index(d,a)为:
[0048][0049]
其中,|d|表示数据集总量,|d
v
|表示数据集d中在属性a上取值为v的数据量,v表示在属性a上的某一取值;
[0050]
在候选属性集合中,选择能使划分后基尼指数最小的属性作为最优划分属性a
*
,即:
[0051][0052]
其中,a表示候选属性集合,表示使得基尼指数gini_index(d,a)取得最小值时划分属性a的取值;
[0053]
(3)对剩余的候选属性,重复步骤(2)直到候选属性集合为空,以此完成对cart树
的构建。
[0054]
在一个实施例中,拥挤度的计算过程包括:
[0055]
根据每个目标函数对种群中的所有个体按升序进行排序,第一个和最后一个个体的拥挤度设为无穷大,第i个个体的拥挤度则设为第i+1和第i
‑
1个体的所有目标函数值之差的和。
[0056]
具体地,本实施例采用精英保留与拥挤度相结合的选择策略,具体方法是:先根据个体的适应度值对种群进行非支配排序,然后按非支配层级由低到高的顺序依次将各层中的所有个体放入到下一代种群,而对将要满足种群规模的最后一层中的所有个体分别计算拥挤度并按其由高到低的顺序进行选择。要对拥挤度进行计算,则需要根据每个目标函数对种群中的所有个体按升序进行排序。第一个和最后一个个体的拥挤度设为无穷大,第i个个体的拥挤度则设为第i+1和第i
‑
1个体的所有目标函数值之差的和,第i个个体的拥挤度i
d
的具体公式如下:
[0057]
其中,表示在目标j上,第i+1个个体的适应度值,若不存在则为无穷大,表示在目标j上,第i
‑
1个个体的适应度值,若不存在则为无穷大,m表示总目标个数。
[0058]
在本优化方法中,以各特征选择方案由cart树评估得到的准确率与选择的特征总数量作为适应度值,cart树的构建过程可以参考相应实施例提供的构建cart树的过程所示。其中准确率采用召回率(recall)及特异性(specificity)指标来衡量。适应度函数具体为:
[0059]
min f1(x)=count(x
i
=1),
[0060][0061]
其中,召回率(recall)定义为被正确预测为强降水事件的次数占真实强降水事件次数的比例,表示如下:
[0062][0063]
特异性(specificity)定义为被正确预测为非强降水事件的次数占真实非强降水事件次数的比例,表示如下:
[0064][0065]
a、b、c、d的定义如下表所示:
[0066] 预测强降水预测非强降水真实强降水ab真实非强降水cd
[0067]
其中,cart树的构建过程对训练数据集敏感,即便在同一数据集中采用了相同的特征选择方案,由于训练集划分的随机性也会构建出完全不同的cart树,故在评估各特征选择方案时,采用多次(通常不低于30次)划分训练集与自测试集取预测准确度平均值的方
法来避免结果的偶然性。每轮评估时,将气象数据按3:1的数量随机划分为训练集与自测试集。
[0068]
在一个实施例中,在步骤s22之后,还包括:
[0069]
s23,采用单点交叉与单点变异策略产生新的个体,从而随机产生新的特征选择方案用于步骤s22的选择操作。
[0070]
本实施例可以实现交叉与变异,其产生新的子代个体是进化算法中的关键步骤。
[0071]
在一个实施例中,上述基于进化算法的特征选择与cart森林的短时强降水预报方法也可以参考图2所示,其中使用进化算法执行特征选择的流程图可以参考图3所示。选择某省(如江苏省)13个气象观测站在2018年5月
‑
9月间记录的对流抑制能(cin)、对流有效势能(cape)、沙氏指数(si)、高空水汽通量场(qflux)、高空散度场(div)等包含54个特征的气象数据,剔除缺测数据后,共计获得3838条有效数据作为基本数据集,其中强降水事件585条,非强降水事件3253条。将3200条数据作为训练集,638条数据作为测试集,对三种机器学习方案的预测效果进行对比,结果如下:
[0072][0073][0074]
其中,进化算法参数设置如下:种群大小n=100,进化代数g=500。具体实施方案可以如下:
[0075]
a,原始数据获取:获取该省5月
‑
9月历史短时强降水相关气象数据作为研究对象;
[0076]
b,使用包裹式特征选择方法,采用cart树作为学习器,进化算法作为搜索器执行特征选择操作,在算法迭代多次后获取最终的若干特征选择方案并进行去重。
[0077]
c,将剩余各特征选择方案分别构建cart树,每棵树随机选取训练集中3/4的数据量进行训练,将所有树组合从而生成cart森林模型;
[0078]
d,采集所述地区待预测时间点之前的气象数据,代入训练好的cart森林模型中,判定所述预测时间点是否出现短时强降水天气。
[0079]
上表中所采用的最优特征选择方案为本申请方案所采用的若干特征选择方案,使用进化算法获得的若干种特征选择方案的效果评估可以参考图4所示,图4表明按准确度衡量最好的一个。由此可以看出本申请方案的有效性。
[0080]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0081]
需要说明的是,本申请实施例所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互
换,以使这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
[0082]
本申请实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
[0083]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。