一种基于多任务集成学习器的PM2.5和O3浓度协同预测方法与流程

文档序号:16925575发布日期:2019-02-22 19:50阅读:385来源:国知局
一种基于多任务集成学习器的PM2.5和O3浓度协同预测方法与流程

本发明利用基于多任务集成学习器的pm2.5和o3浓度协同预测模型,通过以空气中6种其它污染物浓度和6种气象指标共计12种特征的数值作为输入,对未来的pm2.5浓度以及o3浓度进行协同预测。通过对未来pm2.5浓度和o3浓度的准确预测,既可以指导人们健康出行,还可以协助政府限制汽车流量、废气排放量等等,。基于多任务集成学习器的pm2.5和o3浓度协同预测方法既属于空气环境保护领域,又属于机器学习领域。



背景技术:

pm2.5和o3的浓度不仅和污染源、污染物有关,还和气象条件有关,空气中pm2.5和o3的浓度系统具有非线性、多变量、内部机理复杂等特性,所以对pm2.5和o3的浓度进行准确预测的难度较大。

目前,被广泛采用的传统pm2.5和o3的预测方法均只考虑到其自身的浓度变化规律。这种单任务学习器忽略了预测各种大气污染物浓度这些相关任务之间共享的关键信息,在实际应用中,特别是在应用于小样本学习时,容易导致过拟合现象的发生,使预测准确度下降。而事实上,pm2.5和o3的浓度具有较强的相关性,但是现有方法均忽视了这种相关性,所以无法用于小样本学习。

针对现有方法所存在的种种不足,本发明提出一种新的基于多任务集成学习器的pm2.5和o3浓度协同预测方法,通过引入多任务学习器来完成对pm2.5和o3浓度的协同预测,即同时考虑pm2.5和o3浓度预测这两个相关任务,可以使它们通过适当的信息共享而相互受益,实现效果好、精度高的浓度预测,避免过拟合现象的发生。

本发明所提出的预测模型通过以下步骤实现:首先,建立多目标支持向量回归学习器;而后,通过随机子空间方法生成随机特征;然后,将随机子空间法生成的特征集的数据作为训练样本训练各学习器;最后,采用修剪技术,根据动态阈值对各随机子空间中的负向基学习器进行删除,对选取的所有正向基学习器的输出通过取平均值的方法进行集成,以预测未来pm2.5和o3浓度。从而解决了pm2.5和o3浓度的协同预测问题。



技术实现要素:

本发明获得了一种基于多任务集成学习器的pm2.5和o3浓度的协同预测模型,通过以空气中6种其它污染物浓度和6种气象指标共计12种特征的数值作为输入,通过小样本的训练,对未来的pm2.5浓度以及o3浓度进行协同预测,实现了对未来pm2.5和o3浓度的准确预测。解决了pm2.5浓度难以预测、难以控制的问题,可以为政府决策、群众出行等提供参考;

本发明采用了如下的技术方案及实现步骤:

一种基于多任务集成学习器的pm2.5和o3浓度的协同预测方法,针对空气中的pm2.5和o3浓度进行预测,以空气中6种其它污染物浓度和6种气象指标共计12种特征的数值作为输入;

其特征在于,包括以下步骤:

(1)收集数据,建立多任务支持向量机模型;

①由于pm2.5和o3的排放常伴随其他污染物,所以使用其它污染物作为特征输入可以实现对pm2.5和o3的浓度预测。而且,空气中pm2.5和o3的浓度也与气象密切相关。所以此处使用设计好的android应用程序自动收集12个特征的数据,针对no2、o3、pm2.5、pm10、co和so2这六种空气污染物的浓度和湿度、温度、压力、天气、风速和风向这六种气象变量,收集原始数据。

②建立多任务支持向量机模型:

将传统的单任务支持向量机拓展为多任务支持向量机,其表达式h(x)为:

h(x)=ψ(x)tw+b(1)

x为多任务支持向量机的输入向量,ψ(x)代表将输入的特征向量映射到高维希尔伯特空间的非线性映射,w为多任务支持向量机的权值矩阵,w=(w1,w2,…,wr),对于i取1到r之间的任意整数,wi为维数与ψ(x)的输出向量维数相同的列向量,b为r维偏置向量b=(b1,b2,…,br)t。通过建立关于w、b的目标函数和约束函数,并对该优化问题采用拉格朗日乘数法以对其求解,从而得到多任务支持向量机的最终表达式。

(2)对用来预测的12个特征通过实验确定用于训练的特征集含有的特征数,再通过随机子空间法生成n个随机特征集;

①进行试验,对比使用不同个数的特征所对应的样本作为训练数据得到的学习器的效果,确定特征集选用的特征个数;

对收集到的12个特征的数据,依次分别选择全部12个特征中的3,4,……,12个特征作为输入特征,输入特征的数据作为样本集,依次建立10个预测pm2.5浓度和o3浓度的多任务支持向量机回归模型。衡量使用不同数量的特征所训练出的学习器的效果,将取得最好的预测效果时的特征个数f作为随机子空间法所需抽取的特征个数。

②使用随机子空间法,对特征空间随机抽取f个特征,使用随机抽取的新的子集训练产生一个新的多任务学习器,从而将随机抽样应用到特征空间中,建立具有环境因素多样性的多元多任务学习器。

(3)通过n个经训练后的多任务支持向量机,以上一步中生成的n个随机特征集为输入,得到n对pm2.5和o3的预测值;

使用随机子空间法得到的特征子集集合c中的n个特征子集所对应的数据作为训练样本,建立n个多任务学习器模型,使用训练样本对其进行训练。将输入向量带入n个经训练后的多任务支持向量机,得到n个多任务学习器的输出。

(4)通过比较各多任务基学习器的效果对多任务基学习器进行修剪,删除那些对预测结果产生消极影响的负向基学习器;

①使用全部基学习器来预测pm2.5的浓度值,输入特征子集集合c中的n个特征子集所对应的训练样本,输出为各训练样本对应的pm2.5的浓度值;现将该黑箱模型用未知多元函数γ来表示,即γ:rc→rd,即将c阶实数矩阵rc转化为d阶实数矩阵rd,输入为经随机子空间法处理后的训练数据集,输出为n个学习器的输出所组成的矩阵;z∈rc,是根据分布p(z)从rc中抽样得到的;z的预期输出为第u个基学习器的实际输出为γu(z),x为基学习器总个数范围内的任意正整数,推导出在z上,使用全部学习器的输出如下:

上式中,n表示基学习器的总数,在z上,第u个基学习器的泛化误差为erru(z),全部学习器在z上的集成泛化误差定义为:

第u个基学习器在p(z)分布上总的泛化误差用积分表示为:

erru=∫erru(z)p(z)dz(5)

将第v个基学习器的泛化误差设为errv,第u和第v个,基学习器之间的相关性corruv表示为,v为基学习器个数范围内的任意正整数:

其中corruv=corrvu且corruu=erru,corrvu为第v和第u个基学习器之间的相关性,corruu为第u个基学习器与自己之间的相关性,结合式(2)和(4),推导出:

γv(z)为第v个基学习器的实际输出,此外,通过结合式(6)-(8),得到:

②从集成基学习器中排除特定的对算法效果起负面影响的基学习器后重新集成;根据式(2)-(9),在删除第c个基学习器后,c为基学习器个数范围内任意正整数,推导出新的集成的泛化误差

由式(9)、(10)推断出,如果低于则删除第c个基学习器的集成优于包含第c个基学习器的集成:

其中,corruc为第u个和第c个基学习器之间的相关性,u为全部基学习器数量范围内任意不等于c的正整数,errc为第c个基学习器的泛化误差,用式(9)代替式(11)并进行以下简化:

依此法确定第c个基学习器是负向基学习器,并且如果其相关的泛化误差大于动态阈值thrc则应该被排除,动态阈值thrc见下式:

通过上述修剪标准,检查每个pm2.5基学习器,以确定它是否对整体的预测结果有负面影响,从而消除负向基学习器,并保留剩余的n″个正向基学习器。

③使用②中修剪过后剩余的全部基学习器来预测o3的浓度值,输入特征子集集合c中剩余的n′个特征子集所对应的训练样本,输出为各训练样本对应的o3的浓度值。重复①、②步,针对o3的浓度预测值进行修剪,最后保留n′个正向基学习器。

④对所保留的n′个正向基学习器采用取平均值的方法进行集成,从而得到pm2.5和o3浓度的预测结果。

本发明的创造性主要体现在:

本发明针对空气中pm2.5和o3的浓度系统具有非线性、多变量、内部机理复杂等特性,充分考虑了这二者的相关性,提出了多任务支持向量机回归模型。通过使其共享二者的相关的信息,不仅使模型预测效果更加准确,而且有效的避免了小样本学习中的过拟合问题,使得本发明更适用于小样本学习,显著提高了本发明的泛用性。

附图说明

图1是本发明的采用不同数量特征所训练的各学习器预测pm2.5的决定系数分数分布箱形图

图2是本发明的采用不同数量特征所训练的各学习器预测o3的决定系数分数分布箱形图

图3是本发明的pm2.5和o3协同预测模型基本流程图

图4是本发明的协同预测模型下pm2.5实际浓度与预测浓度之间的散点图

图5是本发明的协同预测模型下o3实际浓度与预测浓度之间的散点图

具体实施方式

本发明获得了一种基于多任务集成学习器的pm2.5和o3浓度的协同预测模型,通过以空气中6种其它污染物浓度和6种气象指标共计12种特征的数值作为输入,通过小样本的训练,对未来的pm2.5浓度以及o3浓度进行协同预测,实现了对未来pm2.5和o3浓度的准确预测。解决了pm2.5浓度难以预测、难以控制的问题,可以为政府决策、群众出行等提供参考;

本发明采用了如下的技术方案及实现步骤:

一种基于多任务集成学习器的pm2.5和o3浓度的协同预测方法,以空气中6种其它污染物浓度和6种气象指标共计12种特征的数值作为输入,其结构见图3;

(1)收集数据,建立多任务支持向量机模型;

①使用设计好的android应用程序自动收集12个特征的数据,针对no2、o3、pm2.5、pm10、co和so2这六种空气污染物的浓度和湿度、温度、压力、天气、风速和风向这六种气象变量,收集原始数据,其中对于天气这一数据进行了量化,将晴、多云、阴、小雨、中雨、大雨、暴雨、雷雨、冻雨、小雪、中雪、大雪、暴雪、雾、沙尘暴这15种天气依次编号为0到14。

②建立多任务支持向量机模型:

将传统的单任务支持向量机拓展为多任务支持向量机,其表达式h(x)为:

h(x)=ψ(x)tw+b(1)

x为多任务支持向量机的输入向量,ψ(x)代表将输入的特征向量映射到高维希尔伯特空间的非线性映射,w为多任务支持向量机的权值矩阵,w=(w1,w2,…,wr),对于i取1到r之间的任意整数,wi为维数与ψ(x)的输出向量维数相同的列向量,b为r维偏置向量b=(b1,b2,…,br)t,w、b的求解过程见下文。

定义dt={(x1,y1),(x2,y2),…,(xp,yp)}为样本数据集,其中p为样本总数量,对于i取1到p之间的任意整数,xi为第i个样本的输入特征向量,其维数为输入特征的数量,yi为第i个样本对应的输出的真实值向量,其维数为r,r为多任务支持向量机所预测的r个目标。建立求解多任务支持向量机的权值矩阵w和偏置b的目标函数和约束函数:

其中,ξ=(ξ1,ξ2,…,ξr)对于i取1到r之间的任意整数,ξi=(ξi1,ξi2,…,ξip)t表示由误差松弛变量组成的向量,其求解过程见下文,tr代表求矩阵的迹的运算,re(bt,p,1)操作是对bt这一r维行向量复制p次,生成一个p行r列的矩阵,φ=(ψ(x1),ψ(x2),…,ψ(xp)),γ是一个正的实正则参数,其数值通过多次试凑确定。通过求解上述最优化问题,可得到权值矩阵w、偏置向量b和误差松弛变量矩阵ξ的值。

对于j取1到r之间的任意整数,将wj分解为两项的和,即和vj,其中带有pm2.5浓度和o3浓度预测的共性信息,vj带有各自的特有信息,以此将式(2)写作:

其中,v=(v1,v2,…,vr),λ是一个正的实正则参数,其数值通过多次试凑确定,tr代表求矩阵的迹的运算。

运用拉格朗日乘数法,构造出拉格朗日函数可求解该优化问题:

其中,tr代表求矩阵的迹的运算,a=(a1,a2,…,ar)表示拉格朗日乘数的矩阵,拉格朗日乘数为待求未知量,通过求解方程将拉格朗日乘数与其他待求解参数一同求出。分别令相对于v,b,ξ和a的偏导数等于零:

其中0p表示包含p个元素的零向量,ip表示p维单位向量。由式(5)到式(9)得是v1,v2,…,vr的线性组合,所以w可被v1,v2,…,vr线性表出。使用只包含v和b的形式来简化式(3):

其中,ir表示r维单位向量,表示对这一p维列向量复制r次得到的p行r列的矩阵。

线性方程组(5)到(9)含有5个未知量a、v、ξ、b,求解该方程组可得a的解和b的解将a*、b*带入(1)中即得到多任务支持向量机的最终表示,该多任务支持向量机的核函数采用径向基核函数。

(2)对用来预测的12个特征通过实验确定用于训练的特征集含有的特征数,再通过随机子空间法生成n个随机特征集,此处将n设置为20;

①进行试验,对比使用不同个数的特征所对应的样本作为训练数据得到的学习器的效果,确定特征集选用的特征个数。

对收集到的12个特征的数据,依次分别选择全部12个特征中的3,4,……,12个特征作为输入特征,输入特征的数据作为样本集,依次建立10个预测pm2.5浓度和o3浓度的多任务支持向量机回归模型。其中每个样本集的数据部分用于训练,其余部分用于测试。将用于训练的数据集作为样本数据集dt,按式(5)-(9)对各学习器求解。使用确定系数r2来评价所得各学习器的预测精度,该确定系数是关于预测得分与其对应观察值之间的线性度的评估指标,定义如下:

其中s和t表示pm2.5浓度和o3浓度的预测值和测量值的向量,ms和mt分别是s和t的平均值。模型预测越准确,r2越接近于1。采用不同个数的特征的数据作为输入得到10个不同学习器的确定系数r2,通过这些确定系数值的比较得出结论:在预测pm2.5浓度和o3浓度时,使用7个特征作为输入比直接使用全部12个特征可获得更高的准确性和稳定性。所以将每个特征集所选用的特征数量设定为7,实验结果见图2、图3。

(2)使用随机子空间法,对特征空间随机抽取7个特征,使用随机抽取的新的子集训练产生一个新的多任务学习器,从而将随机抽样应用到特征空间中,建立具有环境因素多样性的多元多任务学习器;

随机子空间的算法框架如下:

输入为f和20,其中f代表训练样本的特征所组成的集合,即收集到原始数据的6种空气污染物和6种气象变量共计12个数据种类,20表示随机子空间方法最大迭代次数;生成了20个随机子空间,就会对应的有20个学习器;将进行中的迭代次数记为i,令i从1至20进行循环,ci为第i次迭代从f中提取出的7个自举特征,达到迭代次数后,输出随机子集集合c=(c1,c2,…,c20)。

(3)通过20个经训练后的多任务支持向量机,以上一步中生成的20个随机特征集为输入,得到20对pm2.5和o3的预测值;

使用随机子空间法得到的特征子集集合c中的20个特征子集所对应的数据作为训练样本,建立20个多任务学习器模型,分别带入到式(4)到式(9)中求解,使20个学习器得到训练。将输入向量带入20个经训练后的多任务支持向量机,得到20个多任务学习器的输出。

(4)采用修剪技术去除的负向基学习器的输出,保留n′个正向基学习器的输出,然后通过取平均值的方法对输出进行集成从而得到结果。

通过比较各多任务基学习器的效果对多任务基学习器进行修剪,删除那些对预测结果产生消极影响的负向基学习器,具体方法如下:

①使用全部基学习器来预测pm2.5的浓度值,输入特征子集集合c中的20个特征子集所对应的训练样本,输出为各训练样本对应的pm2.5的浓度值;现将该黑箱模型用未知多元函数γ来表示,即γ:rc→rd,即将c阶实数矩阵rc转化为d阶实数矩阵rd,输入为经随机子空间法处理后的训练数据集,输出为20个学习器的输出所组成的矩阵;z∈rc,是根据分布p(z)从rc中抽样得到的;z的预期输出为第u个基学习器的实际输出为γu(z),x为基学习器总个数范围内的任意正整数,推导出在z上,使用全部学习器的输出如下:

上式中,n表示基学习器的总数,即20个,在z上,第u个基学习器的泛化误差为erru(z),全部学习器在z上的集成泛化误差定义为:

第u个基学习器在p(z)分布上总的泛化误差用积分表示为:

erru=∫erru(z)p(z)dz(15)

将第v个基学习器的泛化误差设为errv,第u和第v个,基学习器之间的相关性corruv表示为,v为基学习器个数范围内的任意正整数:

其中corruv=corrvu且corruu=erru,corrvu为第v和第u个基学习器之间的相关性,corruu为第u个基学习器与自己之间的相关性,结合式(12)和(14),推导出:

γv(z)为第v个基学习器的实际输出,此外,通过结合式(16)-(18),得到:

②从集成基学习器中排除特定的对算法效果起负面影响的基学习器后重新集成;根据式(12)-(19),在删除第c个基学习器后,c为基学习器个数范围内任意正整数,推导出新的集成的泛化误差

由式(19)、(20)推断出,如果低于则删除第c个基学习器的集成优于包含第c个基学习器的集成:

其中,corruc为第u个和第c个基学习器之间的相关性,u为全部基学习器数量范围内任意不等于c的正整数,errc为第c个基学习器的泛化误差,用式(19)代替式(21)并进行以下简化:

依此法确定第c个基学习器是负向基学习器,并且如果其相关的泛化误差大于动态阈值thrc则应该被排除,动态阈值thrc见下式:

通过上述修剪标准,检查每个pm2.5基学习器,以确定它是否对整体的预测结果有负面影响,从而消除负向基学习器,并保留剩余的n″个正向基学习器。

③使用②中修剪过后剩余的全部基学习器来预测o3的浓度值,输入特征子集集合c中剩余的n′个特征子集所对应的训练样本,输出为各训练样本对应的o3的浓度值。重复①、②步,针对o3的浓度预测值进行修剪,最后保留′个正向基学习器,经计算得′为13。

④对所保留的13个正向基学习器采用取平均值的方法进行集成,从而得到pm2.5和o3浓度的预测结果。

对本模型进行测试,将本发明简称为pmel模型,与其他四种目前最先进的模型进行对比,对比效果见表1、表2。本模型对pm2.5和o3浓度的预测结果与真实值的对比见图4、图5。

表1本模型和四种先进模型对各浓度下pm2.5预测结果的r2和均方误差mse对比

表2本模型和四种先进模型对各浓度下o3预测结果的r2和均方误差mse对比

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1