一种基于机器学习的PM2.5浓度遥感估算方法
技术领域
本发明涉及遥感技术领域,特别涉及一种基于机器学习的PM2.5浓度遥感估算方法。
背景技术
随着我国工业化和城市化的持续高速发展,人们生活水平急剧增高,越来越多的环境问题也随之出现,近年来,中国多次发生大范围持续雾霾天气。而雾霾主要由可入肺细颗粒物PM2.5组成,PM2.5是指空气动力学直径小于2.5μm的颗粒物,相比于PM10来说,PM2.5的粒径更小,能在大气中长时间停留和远距离传输,因而对大气环境质量的影响更大;PM2.5易于附着各类有毒有害物质(如持久性有机污染物、重金属、各种致病菌等),并且可直接到达肺部产生更大的健康危害。国外大量的流行病学研究已经证明了PM2.5与负面的健康效应有关,如会导致心脑血管和呼吸***疾病的超额发病率及死亡率等。因此,对于细颗粒物PM2.5浓度的实时监测与控制显得尤为重要。目前来说,对于PM2.5浓度的研究主要包括地面观测跟遥感反演两种方式,其中,地面观测主要有离线样品采集跟实时在线样品检测两种,但是地面监测站点覆盖范围低、时间不连续,难以进行长时间、大范围的研究。卫星遥感方法可以有效的解决这些问题,因为气溶胶光学厚度与PM2.5浓度有着较强的相关性,所以通过气溶胶光学厚度进行PM2.5遥感估算方法被广泛应用于PM2.5浓度的估算工作中,其基于的算法模型主要分为比例因子模型、基于物理机理的半经验模型,以及统计模型,但是很多情况下这些方法不能很好地模拟二者之间的相关关系,在数据运算速度以及普适性都存在一定弊端,近些年来,机器学习算法应运而生,它能够拟合非线性可分的数据,更加灵活的处理复杂的关系,通过模型参数的调整,达到最优的拟合效果,但是大气方面的应用相对较少,对不同天气状况下基于机器学习算法进行PM2.5浓度遥感估算研究更为缺乏。
发明内容
针对目前卫星遥感估算PM2.5浓度算法处理速度慢、普适性差的现状,为提高PM2.5浓度遥感估算速率,增大在不同天气情况下的PM2.5浓度遥感估算普适性,拓展在环境监测上的运用,本发明提出一种基于机器学习的PM2.5浓度遥感估算方法。
本发明由下述技术方案实现:
本发明提供了一种基于机器学习的PM2.5浓度遥感估算方法,包括如下步骤:
获取卫星气溶胶光学厚度数据。
计算对应地面站点相应波段气溶胶光学厚度,并对卫星数据进行精度验证。
建立污染天气下的PM2.5浓度与所述气溶胶光学厚度数据集,将数据集分为训练样本数据集与测试样本数据集.
基于机器学习方法完成样本学习与数据测试,得到PM2.5浓度的遥感估算;
对数据测试得到的PM2.5浓度进行精度验证,得到精度验证结果;
根据所述精度验证结果调整机器学习决策树的参数,重复上述样本学习、数据测试以及精度验证的步骤,直至使数据测试得到的PM2.5浓度达到预定的精度要求;
获取卫星观测气溶胶光学厚度数据;
计算对应地面站点相应波段气溶胶光学厚度,并对卫星观测气溶胶光学厚度数据进行精度验证;
建立不同天气下的PM2.5浓度与所述卫星观测气溶胶光学厚度数据相对应的数据集;
基于机器学习方法完成样本学习与数据测试,得到PM2.5浓度的遥感估算;
对数据测试得到的PM2.5浓度进行精度验证,得到精度验证结果;
根据所述精度验证结果调整机器学习决策树的参数,重复上述样本学习、数据测试以及精度验证的步骤,直至使数据测试得到的PM2.5浓度达到预定的精度要求;
根据调整后的机器学习决策树进行PM2.5浓度的估算。
进一步的,所述获取卫星观测气溶胶光学厚度数据的步骤包括:
提取预定波段的气溶胶光学厚度数据,将未经投影变换的原始影像投影到WGS-84坐标系,按预定时间间隔获取预定波段的气溶胶光学厚度数据。
进一步的,所述计算对应地面站点相应波段气溶胶光学厚度,并对卫星观测气溶胶光学厚度数据进行精度验证的步骤包括:
获取时间间隔为一小时的地面观测数据;
对地面观测气溶胶光学厚度数据按照不同波段进行二次多项式插值计算,然后根据得到的二次多项式插值公式计算地面对应的预定波段的气溶胶光学厚度数据;所述二次多项式插值公式如下:
lnτα=a0+a1lnλ+a2(lnλ)2 (1)
式中,λ为波段值,τα表示λ波段通道处的气溶胶光学厚度值;a0、a1、a2是未知系数,由地面观测数据在不同波段值的气溶胶光学厚度带入公式(1)后计算得到;
选择精度评定系数,以所述计算得到的地面对应的预定波段的气溶胶光学厚度数据即地面观测气溶胶光学厚度为真值,对所述卫星观测气溶胶光学厚度数据进行精度验证。
进一步的,所述不同波段值选择为440nm、500nm、675nm,地面观测数据测量440nm、500nm、675nm处的气溶胶光学厚度,并带入所述公式(1)以计算得到a0、a1、a2;所述预定波段为550nm,然后根据公式(1)计算出550nm处的气溶胶光学厚度。
进一步的,所述精度评定系数包括相关性系数R、均方根误差RMSE和斜率B,选取精度评定系数达到预定值的气溶胶光学厚度数据作为符合精度要求的气溶胶光学厚度数据;
其中,所述相关性系数R、均方根误差RMSE和斜率B分别由下式计算:
式中,X
i、Y
i分别为数据集中第i个地面观测气溶胶光学厚度以及卫星观测气溶胶光学厚度值;
分别为地面观测气溶胶光学厚度的均值以及卫星观测气溶胶光学厚度值的均值;n为数据集数据个数;A为拟合线的截距。
进一步的,所述精度评定系数达到如下预定值,则气溶胶光学厚度数据符合精度要求:
其中,R>0.5;RMSE<0.3;B>0.5。
进一步的,所述建立不同天气下的PM2.5浓度与所述卫星观测气溶胶光学厚度数据相对应的数据集的步骤包括:
根据地面大气监测站点PM2.5浓度数据,选取站点测得的PM2.5浓度分别为优、良、污染和重度污染等级的浓度值x以及相应时间、地点的气溶胶光学厚度值y,作为数据集T={(x1,y1),(x2,y2),…,(xn,yn)},n为大于1的自然数;其中,等级为优的PM2.5浓度小于35μg/m3,等级为良的PM2.5浓度为35-75μg/m3,等级为污染的PM2.5浓度为75-150μg/m3,等级为重度污染的PM2.5浓度大于150μg/m3;
按照预定比例将数据集分为训练样本数据集与测试样本数据集。
进一步的,所述基于机器学习方法完成样本学习与数据测试,得到PM2.5浓度的遥感估算的步骤包括:
在训练样本数据集所在的输入空间中,递归地将每个区域划分为两个子区域并决定每个子区域上的输出值,构建二叉决策树:
选择最优切分变量j与切分点s,求解:
其中,c1和c2分别代表着两个子区域的输出值;
遍历变量j,对固定的切分变量j扫描切分点s,选择使上式达到最小值的对(j,s):即损失函数取得最小值,使得输出值和实际真值距离最小;
用选定的对(j,s)划分区域并决定相应的输出值:
Nm是指在划分的子区域中对应的子区域样本的个数,Rm指代划分的子区域;
继续对两个子区域调用上述步骤,直至遍历完训练样本数据集;
将输入空间划分为M个区域R1,R2,…,Rm,生成决策树:
其中,I为划分的区域;
基于此算法进行初步的参数设置,并实现PM2.5浓度的遥感估算过程。
进一步的,对数据测试得到的PM2.5浓度进行精度验证,得到精度验证结果的步骤包括选用十倍交叉验证的方法进行精度验证。
进一步的,根据所述精度验证结果调整决策树的参数,所调整的参数包括特征选择标准criterion,特征划分标准splitter,叶子节点最小的样本权重和min_weight_fraction_leaf,决策树最大深度max_depth和/或最小样本叶片大小min_sample_leaf。
综上所述,本发明提供了一种基于机器学习的PM2.5浓度遥感估算方法,采用符合精度要求的气溶胶光学厚度数据与对应的PM2.5浓度数据形成数据集,基于机器学习方法完成样本学习和数据测试,对测试结果进行精度验证,并调整机器学习决策树的参数使其达到精度要求,通过最终得到的决策树计算模型进行不同天气情况下的PM2.5浓度估算。本发明的基于机器学习算法的PM2.5浓度遥感估算方法可以快速、有效的进行不同天气状况下PM2.5浓度遥感估算,弥补传统方法在处理速度、模型普适性上的不足,为开展大气污染防治提供更为精确的数据支撑。
附图说明
图1为本发明的基于机器学习的PM2.5浓度遥感估算方法流程图;
图2为本发明基于机器学习决策树完成样本学习与数据测试的方法流程图;
图3为本发明具体实施例中的基于机器学习的PM2.5浓度遥感估算方法流程图;
图4为具体实施例中的Himawari-8卫星气溶胶光学厚度产品精度评价图;
图5为具体实施例中的不同天气情况下的PM2.5浓度遥感估算结果精度评价图;
图6为具体实施例中的PM2.5浓度遥感估算结果精度评价图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本发明提供了一种基于机器学习算法的PM2.5浓度遥感估算方法,根据气溶胶光学厚度数据与PM2.5浓度的相关关系,进行不同天气情况下PM2.5浓度的的遥感估算,可以快速准确地得到PM2.5浓度的估算结果。
如图1所示,本发明的估算方法包括如下步骤:
步骤S100,获取卫星观测气溶胶光学厚度数据。
进一步的,该获取卫星观测气溶胶光学厚度数据的步骤包括:提取预定波段的气溶胶光学厚度数据,可以使用遥感可视化语言IDL进行Himawari-8L2气溶胶光学厚度的批量预处理工作;将未经投影变换的原始影像投影到WGS-84坐标系,按预定时间间隔获取不同波段的气溶胶光学厚度数据。具体的,该预定时间间隔为按小时间隔,获取小时时间分辨率、5KM空间分辨率的550nm处气溶胶光学厚度数据,为保证数据有效性,可以统计每天11点-16点的数据作为有效数据。
步骤S200,根据相应时间、地点计算地面站点相应波段气溶胶光学厚度,并对卫星观测气溶胶光学厚度数据进行精度验证。在一个具体的实施例中,基于AERONET数据进行卫星气溶胶光学厚度精度验证工作。AERONET是由NASA和LOA-PHOTONS(CNRS)联合建立的地基气溶胶遥感观测网,该地基气溶胶遥感观测网测得的气溶胶光学厚度的数据可作为气溶胶光学厚度真值对上述卫星测得的数据结果进行精度评定。具体的,选择经过滤云处理且经过验证的AERONET Level-2.0数据进行典型区域的气溶胶光学厚度精度验证。
进一步的,根据地面观测站点提供的不同波段处气溶胶光学厚度数据集,以二次多项式方法完成550nm处气溶胶光学厚度的插值。
lnτα=a0+a1lnλ+a2(lnλ)2 (1)
式中,λ为波段值,τα表示λ波段通道处的气溶胶光学厚度值;a0、a1、a2是未知系数,由地面观测数据在不同波段值的气溶胶光学厚度带入公式(1)后计算得到。
进一步的,所述不同波段值选择为440nm、500nm、675nm,地面观测数据测量440nm、500nm、675nm处的气溶胶光学厚度,并带入所述公式(1)以计算得到a0、a1、a2;所述预定波段为550nm,然后根据公式(1)计算出550nm处的气溶胶光学厚度。
进一步的,选择精度评定系数进行上述精度验证,该精度评定系数包括相关性系数R(用来度量两个变量间的线性关系)、均方根误差RMSE(用来衡量观测值同真值之间的偏差)和斜率B(用来体现变量均值相关性);选取精度评定系数达到预定值的气溶胶光学厚度数据作为符合精度要求的气溶胶光学厚度数据。该预定值可选择为R>0.5;RMSE<0.3;B>0.5。
具体的,上述相关性系数R、均方根误差RMSE和斜率B分别由下式计算:
式中,X
i、Y
i分别为数据集中第i个地面观测气溶胶光学厚度以及卫星观测气溶胶光学厚度值;
分别为地面观测气溶胶光学厚度的均值以及卫星观测气溶胶光学厚度值的均值;n为数据集数据个数;A为拟合线的截距。
根据以上步骤得到达到精度验证要求的Himawari-8气象卫星气溶胶光学厚度数据。
步骤S300,建立不同天气情况下的PM2.5浓度与气溶胶光学厚度数据相对应的数据集,将数据集分为训练样本数据集与测试样本数据集。
进一步的,根据地面大气监测站点PM2.5浓度数据及监测站点的经纬度位置,选取站点测得的PM2.5浓度分别为优、良、污染和重度污染等级的浓度值x以及相应时间、地点的气溶胶光学厚度值y,作为数据集T={(x1,y1),(x2,y2),…,(xn,yn)},n为大于1的自然数。其中,等级为优的PM2.5浓度小于35μg/m3,等级为良的PM2.5浓度为35-75μg/m3,等级为污染的PM2.5浓度为75-150μg/m3,等级为重度污染的PM2.5浓度大于150μg/m3。按照预定比例将数据集分为训练样本数据集与测试样本数据集,具体的,可以按照9:1的比例完成本发明的训练样本数据集与测试样本数据集的建立。
步骤S400,基于机器学习方法完成样本学习与数据测试,得到PM2.5浓度的遥感估算。基于Python完成决策树机器学习算法的初步实现以及参数设置,决策树算法易于理解,并且可以同时处理数据型跟常规性属性,对缺失值不敏感,比较符合本发明的实际情况,另一方面,决策树算法具有高效率的特征,决策树只需要一次构建,反复使用,每一次拟合预测的最大计算次数不超过决策树深度,往往可以在短时间内对大型数据源做出可行且效果良好的结果。
输入为训练样本集D={(x1,y1),(x2,y2),…,(xm,ym)};
输出为决策树f(x)。
在训练样本数据集所在的输入空间中,递归地将每个区域划分为两个子区域并决定每个子区域上的输出值,构建二叉决策树。该输入空间指的是输入的集合中,每一个特征值相当于一个坐标轴上的值,这些特征组成了一个超平面上的点,维数就是特征的数目。
进一步的,包括如下步骤,如图2所示:
步骤S410,选择最优切分变量j与切分点s,求解:
其中,由于将每个区域会划分为两个子区域决定输出值,c1和c2分别代表着两个区域的输出值。表示二叉树中的左侧的输出空间,即两个子区域中的左边区域。遍历变量j,对固定的切分变量j扫描切分点s,选择使上式达到最小值的对(j,s)。即损失函数取得最小值,使得输出值和实际真值距离最小。
步骤S420,用选定的对(j,s)划分区域并决定相应的输出值:
使用回归方法得到的拟合的结果。也就是在第m个空间区域中得到的拟合结果。Nm是指在划分的子区域中对应的子区域样本的个数。Rm指代划分的子区域。因为使用二叉树的方法,根据一个特征只会划分两个子区域。
步骤S430,继续对两个子区域调用步骤S410和S420,直至满足停止条件,即遍历完所有特征以及训练样本数据集。
步骤S440,将输入空间划分为M个区域R1,R2,…,Rm,生成决策树:
其中,I为划分的区域,最终的拟合值是需要根据一个个划分好的子区域来得到结果,方式是遍历二叉决策树。
基于此算法进行初步的参数设置,并实现PM2.5浓度的遥感估算过程。
步骤S500,对数据测试得到的PM2.5浓度进行精度验证,评价估算精度,得到精度验证结果。
具体的,可以选用十倍交叉验证的方法进行精度验证。将气溶胶光学厚度数据和对应的PM2.5浓度数据形成的数据集按比例9:1分成10份子数据集;依次选取9份不同的子数据集输入上述得到的强学习器进行训练,然后将剩余的1份子数据集中的气溶胶光学厚度数据输入经过训练的强学习器,得到对应的PM2.5浓度数据,将其与测得的PM2.5浓度数据进行比较,得到精度验证结果。
步骤S600,根据所述精度验证结果调整机器学习决策树的参数,重复上述样本学习、数据测试以及精度验证的步骤,直至数据测试得到的PM2.5浓度达到预定的精度要求,得到最终的机器学习决策树。其中,所调整的参数包括特征选择标准criterion,特征划分标准splitter,叶子节点最小的样本权重和min_weight_fraction_leaf,决策树最大深度max_depth,最小样本叶片大小min_sample_leaf,这些参数相互配合,根据时间跟内存的预算合理调整,快速高效的完成PM2.5浓度估算。
步骤S700,根据调整后的机器学习决策树进行PM2.5浓度的估算。
下面以一个具体的实施例,按照上述步骤对本发明进行进一步的说明。
以京津冀区域为例,具体流程如图3所示。通过2015年7月15日到2018年7月15日研究区81个大气监测站点的PM2.5浓度与对应位置的气溶胶光学厚度数据构建训练数据集与测试样本集进行发明应用,在对Himawari-8气溶胶光学厚度进行精度验证步骤中,选择北京站、香河站代表城市、乡村作为典型站点进行基于AERONET Level-2.0的精度验证,得到的验证结果如图4所示,其均获得了较高的相关系数R(0.888,0.872)以及较低的均方根误差RMSE(0.207,0.224),斜率为0.596,0.640,证明基于Himawari-8获得的气溶胶光学厚度数据具有很好地置信度,符合进行下一步的建模要求。发明进一步基于决策树机器学习算法对于京津冀区域不同天气情况下PM2.5浓度进行了回归估算并验证,得到的十倍交叉验证结果如图5所示,其中,相关性系数R均大于0.6,当PM2.5浓度大于150μg/m3时,R达到0.875,各天气情况下均方根误差也都处于误差允许范围之内,证明了本发明的可行性。进一步地,发明选择不同天气情况(晴空-2017-10-23、污染-2017-9-18、重污染-2017-11-02)进行案例应用,并得到了不同天气情况下研究区PM2.5浓度估算的遥感监测分布图(图6),发明进一步进行了站点精度验证,结果显示,估算结果相关系数达到0.82、0.89、0.94,均方根误差也分别达到6.39μg/m3、7.91μg/m3、17.25μg/m3,证明了本发明的可行性及有效性。
综上所述,本发明提供了一种基于机器学习的PM2.5浓度遥感估算方法,采用符合精度要求的气溶胶光学厚度数据与对应的PM2.5浓度数据形成数据集,基于机器学习方法完成样本学习和数据测试,对测试结果进行精度验证,并调整机器学习决策树的参数使其达到精度要求,通过最终得到的决策树计算模型进行不同天气情况下的PM2.5浓度估算。本发明的基于机器学习算法的PM2.5浓度遥感估算方法可以快速、有效的进行不同天气状况下PM2.5浓度遥感估算,弥补传统方法在处理速度、模型普适性上的不足,为开展大气污染防治提供更为精确的数据支撑。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。