本发明涉及环境预测技术领域,尤其涉及一种基于在线顺序回归的空气质量等级预测方法。
背景技术:
空气是人类赖以生存的不可或缺的物质,环境空气质量和人们的日常生活息息相关,同时也在居民居住环境综合评价占有重要地位,但随着工业化和城镇化的推进以及私人车辆的持续增加,空气质量持续恶化,大气污染日益严重,雾霾天气严重影响了人们的工作和生活。如何改善空气质量、合理的进行空气环境质量预测预警变得越来越重要。
传统的基于分类的空气质量预测方法在实际实现中需要将所有训练数据调入内存处理,庞大的数据量和有限的应用环境成为传统分类学习方法的主要制约因素。时至今日,历史空气质量数据的数据量已经积累庞大到不可忽视的地步,传统的基于分类的空气质量预测方法已经不能满足庞大的历史空气质量数据的处理需求。
同时传统的基于分类的空气质量预测方法对于空气质量仅仅回答了‘好’或者‘不好’,不能满足进一步对空气质量分类的需求;其次,空气质量等级数据在时间和空间上分布不平衡,如何有效识别其中较少的空气质量等级数据显得极为重要,传统的基于分类的方法没有考虑到该分布不平衡问题,其性能具有较大的局限性。
技术实现要素:
本发明为克服现有技术的不足之处,提出一种基于在线顺序回归的空气质量预测方法,以期能高效、准确的从空气质量历史数据训练出预测模型进行空气质量等级预测,有效改善空气质量、合理的进行空气环境质量预测、预警。
为了达到上述目的,本发明采用的技术方案为:
本发明一种基于在线顺序回归的空气质量等级预测方法的特点是按如下步骤进行:
步骤一:在线顺序回归的空气质量等级预测模型训练
步骤1.1:采集历史t天空气质量监测数据作为t个空气质量样本,并提取第t个空气质量样本中d个空气质量指标作为所述第t个空气质量样本的质量指标,记为
步骤1.2:对所述第t个空气质量样本的质量指标xt进行标准化处理,得到第t个空气质量样本的特征向量
步骤1.3:定义当前迭代次数为n,最大迭代次数为n;并初始化n=1;
步骤1.4:输入空气质量训练样本(x′n,yn);x′n为第n次迭代时输入的第n个空气质量样本的特征向量;yn表示第n次迭代时输入的第n个空气质量样本的等级;
利用式(1)更新第n次迭代时等级为yn的空气质量样本的一阶统计信息
式(1)中,当n=1时,
利用式(2)更新第n次迭代时等级为yn的空气质量样本的二阶统计信息
式(2)中,当n=1时,
步骤1.5:判断yn=1是否成立,若成立,则执行步骤1.6;否则,判断yn=h是否成立,若成立,则执行步骤1.10,否则执行步骤1.8;
步骤1.6:利用式(3)定义空气质量等级预测模型第n次迭代的经验损失函数l(wn):
式(1)中,λ为常量;wn为空气质量等级预测模型权值向量,
步骤1.7:利用式(4)更新第n次迭代的梯度gn后,执行步骤1.12:
式(4)中,
步骤1.8:利用式(5)定义空气质量等级预测模型第n次迭代的损失函数l(wn):
式(5)中,
步骤1.9:利用式(6)更新第n次迭代的梯度gn后,执行步骤1.12:
式(6)中,
步骤1.10:利用式(7)定义空气质量等级预测模型第n次迭代的损失函数l(wn):
式(7)中,
步骤1.11:利用式(8)更新第n次迭代的梯度gn:
式(8)中,
步骤1.12:利用式(9)得到第n次迭代时梯度一阶动量无偏估计
式(9)中,
mn=β1mn-1+(1-β1)·gn(10)
式(10)中,当n=1时,mn-1为d维零向量;
步骤1.13:利用式(11)得到梯度二阶动量无偏估计
式(11)中,
式(12)中,当n=1时,vn-1为d维零向量;
步骤1.13:利用式(13)更新第n次迭代的权值向量wn+1:
式(13)中,α,γ为常量;
步骤1.14、令n+1赋值给n,并判断n>n是否成立,若成立,则表示获得最优预测模型wn+1,并执行步骤二,否则,返回步骤1.4执行;
步骤二:空气质量等级预测:
步骤2.1:获取待预测的空气质量数据的d个空气质量指标并进行标准化处理后得到待测样本x,
步骤2.2:利用式(14)得到所述待测样本x的决策函数值f(x):
f(x)=x(wn)t(14)
步骤2.3:根据等级集合{1,2,…,h},得到所述决策函数值f(x)所属的等级即为所述待测样本x的空气质量等级。
与已有技术相比,本发明的有益效果体现在:
1、本发明不同于传统基于分类的空气质量等级预测方法,提出一种基于在线顺序回归的空气质量等级预测方法,通过d个空气质量预测指标,利用收敛更快速的方法在线处理分布不平衡的空气质量数据,训练空气质量等级预测模型,实现了高效、准确的空气质量等级预测。
2、本发明在训练样本数据过程中,采用在线训练的方式,每次训练只采用样本集中的一个空气质量样本数据,通过保存空气质量样本数据特征向量的一阶统计信息和二阶统计信息来计算单个样本梯度信息,有效避免了传统学习面临的数据量和应用环境限制的问题。
3、本发明在训练在线顺序回归空气质量等级预测模型过程中,采取直接优化auc(areaundercurve)指标来定义损失函数,能够很好的度量不平衡数据处理的整体性能,从而克服了传统分类算法不能有效解决空气质量等级数据在时间和空间上分布不平衡的问题,使训练出的分类模型优于传统分类模型,从而提高了异常空气质量等级预测性能和准确率。
4、本发明基于在线顺序回归进行空气质量等级预测,将目标问题分解为更细致的多等级排序问题。本发明将空气质量等级预测为优、良、轻度污染、中度污染、重度污染和严重污染6个等级,进一步满足对空气质量分类的需求。
5、本发明在梯度更新的过程中使用了自适应梯度更新,该梯度尽可能提取出历史梯度信息以及历史梯度二阶信息,分析历史梯度间的关联,保证了构建出的梯度方向更加科学合理。使模型参数训练过程更加迅速,提高了模型训练收敛速度。
附图说明
图1为空气质量等级分布示意图;
图2为本发明实施例提供的预测空气质量方法的流程示意图;
图3为本发明实施例提供的基于在线顺序回归模型训练算法流程示意图。
具体实施方式
本实施例中,一种基于在线顺序回归的空气质量等级预测方法包括在线顺序回归的空气质量等级预测模型训练步骤和空气质量等级预测步骤,具体的说,如图2所示,是按如下步骤进行:
步骤一:如图3所示,在线顺序回归的空气质量等级预测模型训练
步骤1.1:采集历史t天空气质量监测数据作为t个空气质量样本,并提取第t个空气质量样本中d个空气质量指标作为所述第t个空气质量样本的质量指标,本发明中利用的指标主要有记录时间、单位一氧化碳浓度、单位一氧化氮浓度、单位二氧化氮浓度、pt08.s2、pt08.s3、pt08.s3、温度、相对湿度、绝对湿度等,记为
步骤1.2:对所述第t个空气质量样本的质量指标xt进行标准化处理,将属性特征转换为分类器处理的数据格式,并对数据做适当的归一化,减小模型训练的计算复杂度,得到第t个空气质量样本的特征向量
步骤1.3:定义当前迭代次数为n,最大迭代次数为n;并初始化n=1;通过n次迭代,每次迭代从样本空间取一个空气质量样本进行模型训练,使高等级空气质量样本决策函数值高于低等级空气质量样本决策函数值,得到最优模型权值向量wn+1;
步骤1.4:输入空气质量训练样本(xn′,yn);xn′为第n次迭代时输入的第n个空气质量样本的特征向量;yn表示第n次迭代时输入的第n个空气质量样本的等级;
利用式(1)更新第n次迭代时等级为yn的空气质量样本的一阶统计信息
式(1)中,当n=1时,
利用式(2)更新第n次迭代时等级为yn的空气质量样本的二阶统计信息
式(2)中,当n=1时,
步骤1.5:判断yn=1是否成立,若成立,则执行步骤1.6;否则,判断yn=h是否成立,若成立,则执行步骤1.10,否则执行步骤1.8;
步骤1.6:利用式(3)定义空气质量等级预测模型第n次迭代的经验损失函数l(wn),目标损失函数以auc为直接优化目标,通过梯度方法得到最优模型wn,以解决空气质量数据在时间空间分布不平衡的问题:
式(1)中,λ为常量;wn为空气质量等级预测模型权值向量,
步骤1.7:利用式(4)更新第n次迭代的梯度gn,对式(3)求导得到梯度gn,以梯度下降方法迭代寻找最优预测模型,同时通过保存空气质量样本的一阶统计信息和二阶统计信息达到在线训练的目的。再执行步骤1.12:
式(4)中,
步骤1.8:利用式(5)定义空气质量等级预测模型第n次迭代的损失函数l(wn):
式(5)中,
步骤1.9:利用式(6)更新第n次迭代的梯度gn后,执行步骤1.12:
式(6)中,
步骤1.10:利用式(7)定义空气质量等级预测模型第n次迭代的损失函数l(wn):
式(7)中,
步骤1.11:利用式(8)更新第n次迭代的梯度gn:
式(8)中,
步骤1.12:利用式(9)得到第n次迭代时梯度一阶动量无偏估计
式(9)中,
mn=β1mn-1+(1-β1)·gn(10)
式(10)中,当n=1时,mn-1为d维零向量;
步骤1.13:利用式(11)得到梯度二阶动量无偏估计
式(11)中,
式(12)中,当n=1时,vn-1为d维零向量;
步骤1.13:利用式(13)更新第n次迭代的权值向量wn+1:
式(13)中,α,γ为常量;
步骤1.14、令n+1赋值给n,并判断n>n是否成立,若成立,则表示获得最优预测模型wn+1,并执行步骤二,否则,返回步骤1.4执行;
步骤二:空气质量等级预测,利用步骤一得到的最优空气质量等级预测模型以及相应的待测空气质量样本进行空气质量等级预测:
步骤2.1:获取待预测的空气质量数据的d个空气质量指标并进行标准化处理后得到待测样本x,
步骤2.2:利用式(14)得到所述待测样本x的决策函数值f(x):
f(x)=x(wn)t(14)
步骤2.3:根据等级集合{1,2,…,h},得到所述决策函数值f(x)所属的等级即为所述待测样本x的空气质量等级。
通过仿真数据集的例子来说明本发明的具体实施方法和验证本发明方法的效果:
1)、准备标准数据集
本发明使用空气质量数据集airquality作为真实数据集验证空气质量等级预测方法的有效性,同时使用标准数据集wine,auto,abalone验证其性能。在airquality数据集中,包含29358条真实空气质量数据,每条数据包含15个空气质量指标。我们使用全部样本来验证本发明对于空气质量等级预测的性能。训练样本被划分为训练样本和测试样本数据,通过五折交叉验证选取出最佳的模型参数;
2)、评价指标
采用auc作为本实例的评价指标,用来评测在标准数据集上本发明对于空气质量等级预测的性能。auc值越高,表示等级预测效果越好。
3)、在标准数据集上进行实验
为了验证本发明所提方法的有效性,本发明在数据集wine,auto,abalone上进行建模预测,并记录其auc值与耗用时间;
表1实验结果
从表1可以看出,在不同的数据集中,本发明提出的空气质量等级预测方法均能获得很好的精度和较低的时间,继而体现出本发明的有效性。