数据挖掘机器学习[七]—2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
【机器学习入门与实践】入门必看系列,含数据挖掘项目实战:数据融合、特征优化、特征降维、探索性分析等,实战带你掌握机器学习数据挖掘
  • 专栏详细介绍:【机器学习入门与实践】合集入门必看系列,含数据挖掘项目实战:数据融合、特征优化、特征降维、探索性分析等,实战带你掌握机器学习数据挖掘。
  • 本专栏主要方便入门同学快速掌握相关知识。声明:部分项目为网络经典项目方便大家快速学习,后续会不断增添实战环节(比赛、论文、现实应用等)

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

专栏订阅:数据挖掘-机器学习专栏

主要讲解了数据探索性分析:查看变量间相关性以及找出关键变量;数据特征工程对数据精进:异常值处理、归一化处理以及特征降维;在进行归回模型训练涉及主流ML模型:决策树、随机森林,lightgbm等。同时重丶讲解模型验证、特征优化、模型融合等。

本项目码源链接: 工作台 – Heywhale.com

机器学习码源专栏链接: 和鲸社区 – Heywhale.com

相关文章:

特征工程详解及实战项目【参考】

数据挖掘—汽车车交易价格预测[一](测评指标;EDA)

数据挖掘机器学习—汽车交易价格预测详细版本[二]{EDA-数据探索性分析}

数据挖掘机器学习—汽车交易价格预测详细版本[三]{特征工程、交叉检验、绘制学习率曲线与验证曲线}

数据挖掘机器学习—汽车交易价格预测详细版本[四]{嵌入式特征选择(XGBoots,LightGBM),模型调参(贪心、网格、贝叶斯调参)}

数据挖掘机器学习—汽车交易价格预测详细版本[五]{模型融合(Stacking、Blending、Bagging和Boosting)}

数据挖掘机器学习[六]—项目实战金融风控之贷款违约预测

数据挖掘机器学习[七]—2021研究生数学建模B题空气质量预报二次建模求解过程

码源+建模文章下载:见文末!!!

2021年中国研究生数学建模竞赛B题: 空气质量预报二次建模

大气污染系指由于人类活动或自然过程引起某些物质进入大气中,呈现足够的浓度,达到了足够的时间,并因此危害了人体的舒适、健康和福利或危害了生态环境[1]。污染防治实践表明,建立空气质量预报模型,提前获知可能发生的大气污染过程并采取相应控制措施,是减少大气污染对人体健康和环境等造成的危害,提高环境空气质量的有效方法之一。
目前常用模拟体系(以下简称WRF-CMAQ模型)对空气质量进行预报。WRF-CMAQ模型主要包括WRF和CMAQ两部分:WRF是一种中尺度数值天气预报系统,用于为CMAQ提供所需的气象场数据;CMAQ是一种三维欧拉大气化学与传输模拟系统,其根据来自WRF的气象信息及场域内的污染排放清单,基于物理和化学反应原理模拟污染物等的变化过程,继而得到具体时间点或时间段的预报结果。WRF和CMAQ的结构如图 1、图 2所示,详细介绍可以在附录提供的官网中进行查询

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
但受制于模拟的气象场以及排放清单的不确定性,以及对包括臭氧在内的污染物生成机理的不完全明晰,WRF-CMAQ预报模型的结果并不理想。故题目提出 二次建模概念:即指在WRF-CMAQ等一次预报模型模拟结果的基础上,结合更多的数据源进行再建模,以提高预报的准确性。其中,由于实际气象条件对空气质量影响很大(例如湿度降低有利于臭氧的生成),且污染物浓度实测数据的变化情况对空气质量预报具有一定参考价值,故目前会参考空气质量监测点获得的气象与污染物数据进行二次建模,以优化预报模型。二次模型与WRF-CMAQ模型关系如图 3所示。为便于理解,下文将模型运行产生的数据简称为” 一次预报数据“,将空气质量监测站点实际监测得到的数据简称为” 实测数据“。一般来说,一次预报数据与实测数据相关性不高,但预报过程中常会使用实测数据对一次预报数据进行修正以达到更好的效果。
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

问题 1.使用附件1中的数据,按照附录中的方法计算监测点A从2020年8月25日到8月28日每天实测的 AQI 和首要污染物,将结果按照附录”AQI计算结果表”的格式放在正文中。
问题 2. 在污染物排放情况不变的条件下,某一地区的气象条件有利于污染物扩散或沉降时,该地区的AQI会下降,反之会上升。使用附件1中的数据,根据对污染物浓度的影响程度,对气象条件进行合理分类,并阐述各类气象条件的特征。
问题 3.1、2中的数据,建立一个同时适用于A 、B 、C 三个监测点(监测点两两间直线距离 >100km,忽略相互影响)的二次预报数学模型,用来预测未来三天6 种常规污染物单日浓度值,要求二次预报模型预测结果中AQI 预报值的 最大相对误差应尽量小,且 首要污染物预测准确度尽量高。并使用该模型预测监测点A、B、C在2021年7月13日至7月15日6种常规污染物的单日浓度值,计算相应的AQI和首要污染物,将结果依照附录”污染物浓度及AQI预测结果表”的格式放在论文中。
问题 4.相邻区域的污染物浓度往往具有一定的 相关性,区域协同预报可能会提升空气质量预报的准确度。如图 4,监测点A的临近区域内存在监测点A1、A2、A3,使用 附件 1 3 中的数据,建立包含A 、A1 、A2 、A3 四个监测点的协同预报模型,【联合】要求二次模型预测结果中AQI预报值的最大相对误差应尽量小,且首要污染物预测准确度尽量高。使用该模型预测监测点A、A1、A2、A3在2021年7月13日至7月15日6种常规污染物的单日浓度值,计算相应的AQI和首要污染物,将结果依照附录”污染物浓度及AQI预测结果表”的格式放在论文中。并讨论: 与问题 3 的模型相比,协同预报模型能否提升针对监测点 A 的污染物浓度预报准确度?说明原因。———要提升才行

具体word题目链接见:

2021年B题空气质量预报二次建模.zip-机器学习文档类资源-CSDN下载

1.基于Stacking机器学习混合模型的空气质量预测

摘 要:

大气污染系指由于人类活动或自然过程引起某些物质进入大气中,空气污染严重时,会对人体健康产生较大危害,空气质量指数(AQI)用来衡量空气质量状况,建立空气质量预报模型,预测可能发生的大气污染并采取相应控制措施,有利于减少大气污染对人体和环境等造成危害。
针对问题一、需要对原始数据进行简单的计算,原始数据来自于附件1中的监测点A从2020年8月25日到8月28日污染物浓度实测数据,这几天产生空气污染的首要污染物均为臭氧。
针对问题二、首先通过数据探索性分析对数据进行预处理,发现污染物分布符合无界约翰逊(Johnson SU)分布并做长尾截断处理,之后对数据进行归一化;其次通过相关性分析、顺序特征选择法(SFS)以及L1、L2正则化和弹性网络(ElaticNet)进行WRF-CMAQ预测气象特征进行筛选。随后对AQI进行动态分析,根据季节月份天数进行动态追踪分析,并采用聚类算法对气象分类进行验证,得到气象分类特征。
针对问题三、首先以A测试站点进行建模,根据筛选出来的气象特征和污染物变量特征;通过LGBM、Xgboots以及ElaticNet优化后的RNN和LSTM算法进行初次模型预测,同时采用贪心策略和贝叶斯网络对算法参数优化,衡量指标得到明显改善,其中分别以平平均绝对误差、均方根误差、MAPE 和R2作为模型评价指标,其次鉴于简单模型较难准确泛化各影响因素与空气质量之间的内在关系,文中进行Stacking方式将性能优秀的模型和WRF-CMAQ进行融合,并采用5折交叉验证的方法验证模型的预测能力。结果表明模型预测值和真实值一致性较强,且预测准确度很高,同时模型泛化能力很好适用于B、C检测站点。
针对问题四、考虑到A1、A2、A3、A4协同预报模型,在问题三构建的模型上着重考虑风速和风向特征因素带来的影响,以及考虑不同站点因为距离不同对A站点预测结果产生影响程度不同,进行权重配比构建基于Stacking融合的预测模型,结果表明风力因素对模型预测以及多站点协同预报对QAI以及污染物等预报更准确。
城市空气质量进行短期预测分析,最终实现对AQI指数具体值以及主要污染物成分的有效短期预测,克服当前监测系统后效性的缺陷,提供有效预警,,竭力为我市居民打造一个健康、可持续的居住环境具有更强的推广性。
关键词: 空气质量预测,Stacking,Elastic Net-LSTM,LGBM,Xgboost

2.问题重述

2.1 问题背景

大气污染系指由于人类活动或自然过程引起某些物质进入大气中,呈现足够的浓度,达到了足够的时间,并因此危害了人体的舒适、健康和福利或危害了生态环境。污染防治实践表明,建立空气质量预报模型,提前获知可能发生的大气污染过程并采取相应控制措施,是减少大气污染对人体健康和环境等造成的危害,提高环境空气质量的有效方法之一。
目前常用WRF-CMAQ模拟体系(以下简称WRF-CMAQ模型)对空气质量进行预报。WRF-CMAQ模型主要包括WRF和CMAQ两部分:WRF是一种中尺度数值天气预报系统,用于为CMAQ提供所需的气象场数据;CMAQ是一种三维欧拉大气化学与传输模拟系统,其根据来自WRF的气象信息及场域内的污染排放清单,基于物理和化学反应原理模拟污染物等的变化过程,继而得到具体时间点或时间段的预报结果。WRF和CMAQ的结构如错误!未找到引用源。-1、错误!未找到引用源。所示,详细介绍可以在附录提供的官网中进行查询。
图1- 1中尺度数值天气预报系统WRF结构
但受制于模拟的气象场以及排放清单的不确定性,以及对包括臭氧在内的污染物生成机理的不完全明晰,WRF-CMAQ预报模型的结果并不理想。故题目提出二次建模概念:即指在WRF-CMAQ等一次预报模型模拟结果的基础上,结合更多的数据源进行再建模,以提高预报的准确性。其中,由于实际气象条件对空气质量影响很大(例如湿度降低有利于臭氧的生成),且污染物浓度实测数据的变化情况对空气质量预报具有一定参考价值,故目前会参考空气质量监测点获得的气象与污染物数据进行二次建模,以优化预报模型。
图1- 2空气质量预测与评估系统CMAQ结构
二次模型与WRF-CMAQ模型关系如错误!未找到引用源。所示。为便于理解,下文将WRF-CMAQ模型运行产生的数据简称为”一次预报数据”,将空气质量监测站点实际监测得到的数据简称为”实测数据”。一般来说,一次预报数据与实测数据相关性不高,但预报过程中常会使用实测数据对一次预报数据进行修正以达到更好的效果。
图1- 3 二次模型优化的WRF-CMAQ空气质量预报过程
根据《环境空气质量标准》(GB3095-2012),用于衡量空气质量的常规大气污染物共有六种,分别为二氧化硫(SO2)、二氧化氮(NO2)、粒径小于10μm的颗粒物(PM10)、粒径小于2.5μm的颗粒物(PM2.5)、臭氧(O3)、一氧化碳(CO)。其中,臭氧污染在全国多地区频发,对臭氧污染的预警与防治是环保部门的工作重点。臭氧浓度预报也是六项污染物预报中较难的一项,其原因在于:作为六项污染物中唯一的二次污染物,臭氧并非来自污染源的直接排放,而是在大气中经过一系列化学及光化学反应生成的(可参考附录 一种近地面臭氧污染形成机制 部分),这导致用WRF-CMAQ模型精确预测臭氧浓度变化的难度很高;同时,国内外已有的研究工作尚未得出臭氧生成机理的一般结论。

2.2 问题描述

需要通过建立数学模型,解决以下几个问题:
问题一: 计算AQI和首要污染物
根据附录中提供的计算方法,再利用附件1中的监测点A从2020年8月25日到8月28日每日实测数据来计算每日的实测AQI和首要污染物,并将计算得出的数据填入附录所给的”AQI计算结果表”中,再放到正文里。
问题二: 对气象条件进行合理分类
使用附件1中的数据,包括一次预报数据和实测数据,再根据对污染物浓度的影响程度,对气象条件进行合理分类,并阐述各类气象条件的特征
问题三: 建立二次预报数学模型
使用附件1、2中的数据,建立一个同时适用于A、B、C三个监测点的二次预报数学模型,用来预测未来三天6种常规污染物单日浓度值,要求二次预报模型预测结果中AQI预报值的最大相对误差应尽量小,且首要污染物预测准确度尽量高。并使用该模型预测监测点A、B、C在2021年7月13日至7月15日6种常规污染物的单日浓度值,计算相应的AQI和首要污染物,将结果依照附录”污染物浓度及AQI预测结果表”的格式放在论文中。
问题四: 建立区域协同预报模型
使用附件1、3中的数据,建立包含A、A1、A2、A3四个监测点的协同预报模型,要求二次模型预测结果中AQI预报值的最大相对误差应尽量小,且首要污染物预测准确度尽量高。使用该模型预测监测点A、A1、A2、A3在2021年7月13日至7月15日6种常规污染物的单日浓度值,计算相应的AQI和首要污染物,将结果依照附录”污染物浓度及AQI预测结果表”的格式放在论文中。并与问题3的模型相对比监测点A的污染物浓度预报准确度。

2.3模型假设

问题假设在问题求解过程中,考虑实际情况与简化计算的需求,提出了以下相关的假设:(1) 由于样本中数据缺失较多,假设在数据填充时,不会影响模型性能。
(2) 在变量筛选时,其他变量对模型预测性能无影响。
(3) 在有效信息提取和无用信息摒弃过程中对模型性能无影响。
(4) 所有样本数据都为实际场景的真实数据。

3、问题一模型的建立与求解

3.1 解题思路概述

问题1需要对原始数据进行简单的计算,原始数据来自于附件1中的监测点A从2020年8月25日到8月28日污染物浓度实测数据,由于原始数据只有四天的数据量,且没有数据缺失或异常,所以无需进行数据预处理。
首先计算监测点A从2020年8月25日到8月28日的六项污染物的空气质量分指数(IAQI),取六个IAQI中的最大值得到空气质量指数(AQI),若AQI大于50,则IAQI最大的污染物为首要污染物。
确定问题一的总体思路如图3-1所示。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

3.2 AQI的求解

3.2.1 计算各项污染物的IAQI

首先需得到各项污染物的空气质量分指数(IAQI),其计算公式如下:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

式中各符号含义如下:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

注:(1) 臭氧(O3)最大8小时滑动平均浓度值高于800 μg∕m^3 的,不再进行其空气质量分指数计算。
(2) 其余污染物浓度高于IAQI=500对应限值时,不再进行其空气质量分指数计算。
由于监测点A从2020年8月25日到8月28日污染物浓度实测数据均未到达限值,所以都进行空气质量分指数计算。

3.2.2 计算AQI计算首要污染物

在此模型中,对于AQI的计算仅涉及表 1提供的六种污染物,因此计算公式如下:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

空气质量等级范围根据AQI数值划分,等级对应的AQI范围见表 2。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

当AQI小于或等于50(即空气质量评价为”优”)时,称当天无首要污染物;
当AQI大于50时,IAQI最大的污染物为首要污染物。若IAQI最大的污染物为两项或两项以上时,并列为首要污染物。
IAQI大于100的污染物为超标污染物。
2020年8月25日到8月28日的AQI以及首要污染物的计算结果如表3所示:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

4、数据预处理

由于数据表较多,且监测点A,B,C的预测和实测数据类型都相同,所以数据处理时论文只展现监测点A的预处理结果,对于其他的数据表,也采用相同的方法进行处理,便于问题2,3的模型建立。

4.1 缺失数据填充与处理

为了提高模型的能,一般会对数据进行预处理,因为数据预处理就是特征工程。通常,由于种种原因,在现实世界中,数据集有时会丢失缺失,例如传感器临时故障和其他人为错误。这些缺失的数据会降低模型的准确度,甚至有些缺失值的数据会让模型无法进行正确的预测。因此,应在建立模型之前填充数据。同时,数据中包含一些与预测特征无关的特征。为了提高模型的预测精度和建模效率,需要对模型的特征进行筛选。另外,不同数据特征的维度也是不同的,这就需要对数据进行标准化以提高模型的性能。

4.1.1 缺失数据分析

由于监测站点设备调试、维护等原因,监测站点的数据在连续时间内存在部分或全部缺失的情况,因此我们需要先对监测站点的数据进行分析,再确定对缺失数据的处理办法。如图所示的柱形图,可以直观的看到逐小时和逐日的缺失值,这样便于确定缺失的变量和它的值。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图4- 1 缺失值图
同时,再使用missingno可视化库对数据进行处理,得到缺失值无效矩阵图,无效矩阵是一个数据密集的显示,它可以快速直观地看出数据完整度。由图4-2和图4-3可知,空白越多说明缺失越严重,右侧的迷你图概述了数据完整性的一般形状,并指出了数据集中具有最大和最小无效值的行数。
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图4- 2 逐小时监测数据缺失值无效矩阵图
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图4- 3 逐日监测数据缺失值无效矩阵图

4.1.2 缺失数据处理

处理数据集中缺失值的方法主要有两种,一种是删除缺失值所在的行,另一种是填充缺失值。如果数据集中有很多缺失值的行,删除数据就会导致忽略一半以上的观察值,尤其是数据集较小时,会导致模型无法学习关键的数据分布,同时还会限值模型的性能。另外,当数据集是时间序列时,删除缺失值会导致模型无法学习相邻时间数据之间的关系。
本文使用多重插补的方法来填充缺失值,多重插补(Multiple Imputation)是一种基于重复模拟的处理缺失值的方法。它从一个包含缺失值的数据集中生成一组完整的数据集。
和单一插补不同的是,多重插补并没有试图去通过模拟值去估计每个缺失值, 而是提出缺失数据值的一个随机样本, 这种程序的实施恰当地反映了由于缺失值引起的不确定性, 使得统计推断有效。附件1的数据为气象数据,若简单的采用缺失值前后的数据进行填补,容易受到极端数值的影响,且缺失数据之间并不一定连续,如果使用多重填补在整体上进行一个缺失数据填充,能够让填充的数据更加的准确,更服从气象变化的规律。

多重插补推断包括了3个不同步骤:
(1)对缺失数据填补m次, 产生m个完整的数据集
(2)使用标准程序去分析这m个完整数据集
(3)综合这个完整数据集的结果, 用于推断
对于附件1中监测点A的逐小时和逐日的实测数据进行填充处理,采用多重插补的办法进行填充,最后得到无缺失值的数据集,如图4-4和图4-5所示,下面的缺失值无效矩阵图无空白处,右侧迷你图也没有突出的线,表明处理后的数据无缺失值。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

4.2 异常值分析

受监测站点及其附近某些偶然因素的影响,实测数据在某个小时或某天的数值偏离正常分布,这些偏离正常分布的值就为异常值,而这些异常值会影响模型的预测精度和准确度。异常值的定义是离其他数据点很远的点,对于很多统计算法来说,异常值会导致算法做出错误决策,严重干扰预测结果。但是,目前没有严格的统计规则来确定异常值,异常值检测只能依赖于学科领域的知识和对数据收集过程的理解。
异常值的监测方法有很多,例如箱形图、3-Sigma、长尾截断等。本文采用的异常值检测方法就是箱形图法。箱形图是用于显示一组数据分布信息的统计图表。以盒状形状得名。 主要用于反映原始数据分布的特征,也可以比较多个数据集的分布特征。箱线图提供了识别异常值的标准。异常值通常定义为小于 QL-k * QR或大于QU+k * QR的值。其中,QL为下四分位数,即所有观测值有四分之一比QL小,QU为上四分位数,所有观测值有四分之一比QU小。QR是四分位距,即上四分位数QU和下四分位数QL之间的差值。本文的k值使用默认的k值3。图4-6的左图是逐日的〖SO〗_2监测浓度的原数据的箱形图,右图是使用箱形图剔除异常值后的箱形图,其中黑色的点是异常值,由图可以看出,清除异常值的效果非常显著,左图的大量异常值清除到只剩右图的一个异常值,仅剩的一个异常值对于模型预测的准确度影响不大,可以不再进行删除处理。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

图4- 6 处理前后的SO2箱形图
使用箱形图对所有数据进行异常值删除处理,得到图-,由图4-7可知,部分污染物仍然存在少量的异常值,少量的异常值对于预测模型的影响不大,若将其删除,可能也会对后续的预测造成较大的影响,所以不再进行删除处理。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图4- 7 各种污染物处理后的浓度的箱形图

4.3 描述性统计分析

描述性统计分析是将一系列复杂的数据减少到几个能起到描述作用的关键数字,是对已有数据集的一个整体情况描述,主要体现数据的集中趋势和离散趋势。描述性统计分析包含平均值、标准差、最小值、下四分位数、中位数、上四分位数、最大值、偏度、峰度等关键数值,通过平均值和上下四分位数,可以比较好的描述数据的整体分布情况,通过标准差、中位数、偏度、峰度,可以反映出数据波动的程度和识别出可能的异常值。描述性统计分析如表4所示
表 4 描述性统计分析表

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
偏度(Skewness)可以用来度量随机变量概率分布的不对称性。公式为:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

其中μ是均值,δ是标准差。偏度的取值范围为(-∞,+∞)。当偏度

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

其中μ是均值,δ是标准差。完全服从正态分布的数据的峰度值为 0,峰度值越大,概率分布图越高尖,峰度值越小,越矮胖。
通过表可以看出,全部数据的偏度都大于0,所以全部数据均右偏,PM2.5和O_3的峰度比较靠近0,所以分布比较接近正态分布,其余偏离正态分布的程度都较大,特别是〖SO〗_2,因此需要在下文中对数据进行数据分布分析,把偏离正态分布的数据进行变换使其符合正态分布。

4.4 数据分布分析

对数据进行数据分布分析可以得到对应数据的分布特征和分布类型,分析完成得到数据的分布后,可以根据数据的不同分布对数据进行不同的预处理。例如,若数据服从正态分布:根据正态分布的定义可知,距离平均值3δ之外的概率为 P(x-μ>3δ)

4.5 数据标准化和归一化

标准化和归一化都是指特征工程中的特征缩放过程,特征缩放的作用是:
1.使不同量纲的特征处于同一数值量级,减少方差大的特征的影响,使模型更准确。
2.加快学习算法的收敛速度。
本文采用的数据归一化方法为最大最小值标准化方法,如公式所示:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

x表示原本的数据,x_max表示数据中的最大值,x_min表示数据中的最小值,max和min分别是期望放缩的每一列特征之间的最大值和最小值。换句话说,就是将每一列的特征放缩到min到max之间,这种缩放减少了异常值的权重,但作为一个副作用,标准偏差太小以至于在某些模型中可能没有用。通常,如果数据不是正态分布的,则使用最小值-最大值标准化方法对数据进行归一化。在这篇论文中,max设置为 1,min设置为0.001,样本的特征值线性映射到 [0.001, 1]。
标准化是将数据变换为均值为0,标准差为1的标准正态分布,本质上,标准化和归一化的作用一样,都是将将原始的一列数据转换到某个范围,或者某种形态。标准化方法有均值标准化和0-1标准化,通常使用的标准化方法为0-1标准化,标准化方程为:

其中μ是均值,δ是标准差。

5、特征变量筛选

数据经过预处理后,需要选择有意义的特征并输入机器学习算法和模型进行训练。一般来说,选择特征有两个方面的考虑:
(1)特征是否发散:如果特征不发散,比如方差接近于0,也就是这个特征的样本之间本质上没有区别,这个特征对区分样本没有帮助。
(2)特征与目标的相关性:这更明显。首先应该优先考虑与您的目标最相关的功能。除方差法外,本文中介绍的所有其他方法均考虑相关性。
根据特征选择的形式又可以将特征选择方法分为3种:过滤法(Filter)、包裹法(Wrapper)、嵌入法(Embedded)。

5.1 过滤法

5.1.1斯皮尔曼等级相关系数

过滤法按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。本文采用两种过滤式的方法进行特征筛选:斯皮尔曼法和方差选择法。
斯皮尔曼法:斯皮尔曼等级相关系数是一种用于评估两个变量之间相关性的统计方法,其特点是无需调查样本量或变量的整体分布特征,具有快速、稳健的特征。对于维度为n的两个向量X和Y,X_i、Y_i分别表示它们对应的 i (1≤i≤n) 个元素。X和Y按同样的方式升序或降序排列,得到一个新的变量序列x,y.,其中元素x_i为X_i在X中的秩,y_i为Y_i在Y中的秩。相应地,得到差集d_i=x_i-y_i并定义随机变量X和Y之间的斯皮尔曼等级相关系数如下:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

式中:n为数列点数,对应于一个窗长的采样点数;ρ为斯皮尔曼等级相关系数。分子是两个序列之间的误差之和,反映了两个变量之间的差异。分母是与序列长度相关的常数。计算过程表明,斯皮尔曼等级相关系数计算效率高,限制因素少。

5.1.2方差选择法

就是针对每一列特征X,求其方差,然后通过设定一个阈值,来选取方差较大的特征,方差大说明信息量大。
使用斯皮尔曼法进行一次特征选择后可得到图5-1、图5-2、图5-3。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

图5- 1 预测数据的相关性热力图
综上空气质量的好坏与季节及气象条件的关系十分密切。在污染物排放相对稳定的情况下,气象条件对AQI起着十分重要的作用。本文选取温度、湿度、气压、风速与风向五个气象条件进行相关分析,探寻气象条件与AQI之间的关系,得出AQI与各月气象因子相关系数。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

图5- 2 非污染物变量之间的相关性图 图5- 3 污染物变量之间的相关性图
由相关性热力图可直观看出不同的数据表的变量之间的相关性。比如在图-和图-,大气压和温度的交点图是黑色的,表明大气压和温度之间的相关性很高;在图-中,PM10和PM2.5的相关系数高达0.92,表明PM10和PM2.5之间的相关性很高。

5.2 包裹法

5.2.1 顺序特征选择法SFS

包裹法根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。本文使用顺序特征选择法(Sequential feature selection,SFS)进行特征筛选。
顺序特征选择算法是一系列贪婪搜索算法,用于将初始d维特征空间缩减为k维特征子空间,其中k

表 5 SFS第一次特征选择序列表

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
由图5-4和表5可知,第一次特征选择选择了湿度, 风速, NO2浓度, PM10浓度, PM2.5浓度, O3浓度, CO浓度,其中PM10浓度的权重最高。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

由图5-5和表6可知,第二次特征选择同样选择了湿度, 风速, NO2浓度, PM10浓度, PM2.5浓度, O3浓度, CO浓度,其中还是PM10浓度的权重最高。

5.3 嵌入法

嵌入法先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。本文使用基于惩罚项的特征选择法和随机森林算法,其中基于惩罚项的特征选择法分为L1惩罚项、L2惩罚项和(L1+L2)惩罚项。

5.3.1 基于Lasson回归特征选择法

使用L1正则化的模型叫做Lasson回归,Lasson回归是一种可以客观筛选有效变量,解决多重共线性等问题的估计方法。将惩罚项添加到回归系数的绝对值之和,以最小化回归模型的残差平方和。然后筛选等于零的回归系数。解决模型的多重共线性问题。
LASSO 回归的核心是在普通线性回归的基础上添加𝐿1惩罚项,即:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
使用Lasson回归算法进行两次特征选择,得到特征筛选后的结果。如图5-6和图5-7所示。
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图5- 6 Lasson回归算法第一轮特征选择 图5- 7 Lasson回归算法第二轮特征选择

由图5-6可知,第一次特征选择选择了湿度、风向,SO2浓度,NO2浓度,PM10浓度,PM2.5浓度,O3浓度,感热通量,长波辐射,短波辐射,其中NO2浓度的权重最高。由图5-7可知,第二次特征选择选择了湿度,大气压,风速,SO2浓度,NO2浓度,PM10浓度,PM2.5浓度,O3浓度,地表温度,太阳能辐射,其中NO2浓度的权重还是最高的。

5.3.2 基于Ridge回归特征选择法

使用 L2 正则化的模型叫做Ridge回归,Ridge回归的损失函数为:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

Ridge回归是一种专用于共线性数据分析的偏差估计回归方法。这本质上是最小二乘法的改进,但是通过以丢弃一些信息和准确性为代价丢弃最小二乘法的偏差,让功能模型变得更加可靠并且模型提高了数据适用性。
使用Ridge回归算法进行两次特征选择,得到特征筛选后的结果。如图5-8和图5-9所示。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图5- 8 Ridge回归第一轮特征选择 图5- 9 Ridge回归第二轮特征选择
由图5-8可知,第一次特征选择选择了温度,湿度,大气压,风速,SO2浓度,NO2浓度,PM10浓度,PM2.5浓度,O3浓度,CO浓度,地表温度,云量,长波辐射,短波辐射,太阳能辐射,其中风速的权重最高。由图5-9可知,第二次特征选择选择了温度,湿度,大气压,风速,SO2浓度,NO2浓度,PM10浓度,PM2.5浓度,O3浓度,地表温度,其中风速的权重还是最高的。

5.3.3 基于ElasticNet特征选择法

带(L1+L2)惩罚项的算法是ElasticNet算法, ElasticNet 算法是一种线性回归模型,它使用 L1 和 L2 范数作为正则化矩阵。这种方法的优点是既保留了LASSO方法容易出现特征稀疏的特点,也在循环的过程中继承了Ridge回归 L2 正则化的稳定性。算法公式如下:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
其中,λ表示惩罚系数,β表示回归系数。 对于L1和L2正则化的凸组合(即公式中的α的取值),调整l1_ratio参数,通过十折交叉验证的方式选择模型误差中最小值的参数值来选择参数的最终值。

5.3.4 随机森林

随机森林是在bagging算法的基础之上改动演化过来的。bagging算法是在原始的数据集上采用有放回的随机取样的方式来抽取 个子样本,从而利用这 个子样本训练 个基学习器,从而降低了模型的方差。
随机森林的改动有两处,第一:不仅随机的从原始数据集中随机的抽取 个子样本,而且在训练每个基学习器的时候,不是从所有特征中选择最优特征来进行节点的切分,而是随机的选取k个特征,从这k个特征中选择最优特征来切分节点,从而更进一步的降低了模型的方差;第二:随机森林使用的基学习器是CART决策树。
随机森林随机选择的样本子集大小m越小模型的方差就会越小,但是偏差会越大,所以在实际应用中,一般会通过交叉验证的方式来调参,从而获取一个合适的样本子集。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

图5- 10 神经网络、随机森林模型

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
使用随机算法进行两次特征选择,得到特征筛选后的结果。如图5-11和图5-12所示。
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图5- 11 随机森林算法第一次特征选择 图5- 12 随机森林算法第二次特征选择
由图5-11可知,第一次特征选择选择了PM2.5浓度,NO2浓度,O3浓度,PM10浓度,其中PM10浓度的权重最高。由图5-12可知,第二次特征选择同样选择了PM2.5浓度,NO2浓度,O3浓度,PM10浓度,其中PM10浓度的权重还是最高的。

5.3.5 小结

综上所述,NO2、O3浓度,PM10浓度,PM2.5浓度,温度,湿度,大气压,风速,地表温度等为特征变量

6、问题二的模型建立与求解

6.1 解题思路概述

问题2为分类问题,该题要求使用附件1中的监测点A的一次预报数据和实测数据,再根据对污染物浓度的影响程度,对气象条件进行合理的分类。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
(3)季节划分方法。参照气象学季节划分方法,将四季划分为春季(3-5月)、夏季(6-8月)、秋季(9-11月)、冬季(12月至次年2月)。

6.2 AQI的动态分析

根据《环境空气质量指数(AQI)技术规定(试行)》(HJ633-2012)标准,利用2019.04-2021.07的AQI逐日数据,进行分级统计,得到不同等级天数的分布情况。

6.2.1 AQI的天数变化

为了进一步详细地分析AQI的状况,我们分析了2019年六月份到2021年7月份内每天的AQI。逐日的AQI如图6-1所示

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图6- 1 逐日AQI变化
分析结果显示,AQI的总体状况较好,波动范围主要集中在50至125之间,平均AQI达到一级优的天数为146天,占总天数的43.2%;二级良的天数为125天,占总天数的37.0%;三级轻度污染的天数为38天,占总天数的11.2%,其它(重度污染、严重污染)的总共占总天数的8.6%。

6.2.2 AQI的逐小时变化

此外,根据六种污染物的逐小时的变化情况计算得到AQI的逐小时变化的趋势如图6-2所示

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

图6- 2 逐小时AQI变化
图2的开始日期与结束日期分别为2019年4月16日零点、2021年7月13日七点。其变化趋势与AQI的逐天数变化趋势(图1)大致相同。

6.2.3 AQI的月份变化

基于新的AQI的新计算方法,详细分析了从2019年4月份到2021年七月份的AQI逐月变化动态。如图6-3所示,AQI总体状况较好。出现频率最高的空气质量等级为一级优与二级良;其次为三级轻度污染;再其次为四级中度污染;另外五级重度污染与六级严重污染几乎从来没有出现。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图6- 3 逐月AQI变化
另外,为了更合理的分析每个月份的AQI变化动态,将2019年四月份到2021年七月份中相同月份的AQI数据进行了合并取均值得到了图6-4。从图6-4中可以看出每个月份中空气质量各等级的大致占比,一级优在每年的五月份到七月份占比最高,依次为63.5%、80.0%、69.9%;一级优在每年的十月份到十二月份占比最少,依次为16.1%、10.7%;三级轻度污染与四级中度污染主要集中在八月份到十一月份,占比依次为30.6%、39.9%、33.9%、16.1%;
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图6- 4 相同月份的AQI数据
由2019到2021AQI和IAQI的月变化图如图6-5所示,AQI的峰值和谷值分别出现在6月和 10月,其分别为42与88。总体来说,AQI与IAQI在5到7月保持较低的状态,在9到11月保持较高的状态。
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图6- 5 2019到2021AQI和IAQI的月变化

6.2.4 AQI的季节变化

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

6.3 聚类分析

该部分对2019年4月份到2021年7月份间的日均空气质量AQI指数进行聚类分析,以得到这两年的AQI指数是否有明显的季节趋势。该数据单位一致,故不需要标准化处理,对这两年各月份的日均AQI求均值,将各年的日均AQI数值汇总为月度数据,结果如下表所示
将表中的12个月份作为聚类分析的12个指标输入SPSS进行聚类分析,得到聚类图形。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

6.4 结果分析

综上所述,由上述四种不同分类准则的系统聚类方法结果可以看出,通过月份分析,2019年6月到2021年7月的AQI走势是有明显的季节趋势。从四种不同的准则下的聚类图可以明显的看出,9月和10月的AQI最高,空气污染程度最严重;4月和11月的AQI较高,空气污染较为严重;其它月份污染程度较轻。

7、问题三的模型建立与求解

7.1 问题分析

首先以A测试站点进行建模,根据筛选出来的气象特征和污染物变量特征;通过LGBM、Xgboots以及ElaticNet优化后的RNN和LSTM算法进行初次模型预测,同时采用贪心策略和贝叶斯网络对算法参数优化,衡量指标得到明显改善,其中分别以平平均绝对误差、均方根误差、MAPE 和R2作为模型评价指标,其次鉴于简单模型较难准确泛化各影响因素与空气质量之间的内在关系,文中进行Stacking方式将性能优秀的模型和WRF-CMAQ进行融合,并采用5折交叉验证的方法验证模型的预测能力。结果表明模型预测值和真实值一致性较强,且预测准确度很高,同时模型泛化能力很好适用于B、C检测站点。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图7-1 天气循环图
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
图7-2 模型预测流程图

7.2 模型评价指标

本文采用以下四个指标来评价所涉及空气质量预测模型的性能,分别是平均绝对误差(Mean Absolute Error,MAE)、均方根误差(Root Mean Square Error,RMSE)、MAPE 和决定系数(Coefficient of Determination,R2),计算过程如公式、公式、公式和公式所示。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

其中,m为样本大小,y_i为模型的实际观测值, 为模型的预测值, 为实际观测值的平均值。一般来说,RMSE和MAE值越小,模型越准确。MAE为绝对误差,适用于预测值与实际观测值误差比较明显的情况。误差越大,权重越大。RMSE适用于预测误差不是很明显的情况。RMSE等价于2个范数,对离散点更敏感。与RMSE相比,MAPE对单个离散点不那么敏感,并且更加稳健。但是MAPE的分母不能为0,否则计算结果将是无穷大的,毫无意义。 R2 是一个综合度量,用于衡量每个自变量对因变量变化的解释程度。 R2越接近1,对变量的解释越强,其值越接近0,解释越弱。
表 10单变量空气质量预测结果

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

7.3 预测模型

7.3.1 LGBM

GBDT (Gradient Boosting Decision Tree) 是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。而LightGBM(Light Gradient Boosting Machine)是一个实现GBDT算法的框架,支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以快速处理海量数据等优点。LightGBM提出的主要原因就是为了解决GBDT在海量数据遇到的问题,让GBDT可以更好更快地用于工业实践。LightGBM的基本原理为基于Histogram的决策树算法、深度限制的 Leaf-wise 算法和和单边梯度采样算法。LGBM的优点为互斥特征捆绑、带深度限制的Leaf-wise的叶子生长策略、支持类别特征、支持高效并行与Cache命中率优化。

7.3.2 Xgboost

XGBoost是一套提升树可扩展的机器学习系统。XGBoost的核心算法思想不难,,大致如下:
(1)添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实是学习一个新函数f(x),去拟合上次预测的残差。
(2) 当我们训练完成得到k棵树,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数
(3)需要将每棵树对应的分数加起来就是该样本的预测值。
主要创新点为:设计和构建高度可扩展的端到端提升树系统、提出了一个理论上合理的加权分位数略图(weighted quantilesketch )来计算候选集、引入了一种新颖的稀疏感知算法用于并行树学习。 令缺失值有默认方向与提出了一个有效的用于核外树形学习的缓存感知块结构。 用缓存加速寻找排序后被打乱的索引的列数据的过程。

7.3.3 RNN

RNN(Recurrent Neural Network),中文称作循环神经网络,一般以序列数据为输入,通过内部的结构设计有效捕捉序列之间的关系特征,一般也是以序列形式进行输出。
RNN的循环机制使模型隐层上一时间步产生的结果, 能够作为当下时间步输入的一部分(当下时间步的输入除了正常的输入外还包括上一步的隐层输出)对当下时间步的输出产生影响。

7.3.4 LSTM

LSTM神经网络是循环神经网络的一种,与1997年被Hochreiter等人在RNN神经网络的基础上研究而出。LSTM神经网络因其内在阀门设计的特点,能够高效应用在时间序列数据,特别是时间依赖型时间序列数据。根据前人的研究成果不难得出,LSTM神经网络相较于传统神经网络拥有更强的数据拟合性,势必在股票市场数据分析中绽放出更璀璨的光芒。LSTM神经网络是RNN循环网络的升级进化版,其不仅拥有与其他循环网络模型相同的时间序列处理能力,精准率高、学习性强、鲁棒性强等特点,还可以通过特有的三个阀门,将训练数据在模型运算中保存更长时间的记忆并且能够准确剔除无用数据和保留相关有效数据,解决了循环神经网络模型长期依赖初始输入数据的弊病,但是在实际应用方面也存在着一些问题。随后本章对若干问题进行了说明与分析。标准LSTM神经网络模型的输入数据规模大、质量差、种类多、存在信息重叠冗余等问题会导致模型训练效率低精度差。在模型网络结构超参数的设定中,只能通过经验主义和人为设定去探索,时间和精力消耗过大且不一定有好的预测结果。以及模型没有针对股票趋势预测领域进行专门的优化,预测模型的专用性较差。

7.3.5 结果分析

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

图7-3 RNN LOSS 图7-4 LSTM LOSS
可以看出:
划分数据集,80%为训练集,20%为测试集,查看数据集形状,使用前120个小时的数据预测接下来24个小时中某个时刻的pm2.5的值,建立时间滑窗,我们使用前5天(每天24小时)来预测后一天24小时中某个时间点的数据,这里预测第24时光看训练集的loss,会觉得DNN网络比较好,因为它的训练集loss下降到0.04528417,而添加了LSTM的网络loss只达到0.9590464,但我们再对比一下验证集的loss曲线会发现,DNN网络早就已经过拟合了,它的验证集maeloss最终只达到0.98左右,而同样的epoch,添加了LSTM的网络的maeloss与训练集的loss十分接近达到了0.94,甚至比训练集的loss还小一点。说明对于时序数据,LSTM更适合这样的任务。

7.4 参数优化

7.4.1 基于贪心算法参数优化

贪心算法也是一种找到选择性问题的最佳解决方案的方法。其特点是制定了一种贪心策略,将整体问题分解为多个子问题,在解决问题时不考虑整体优化。寻找迭代过程子问题的局部最优解,最终逼近整体最优解。贪心算法并不适合所有问题,但它们仍然可以为许多特殊问题产生一个整体最优解。选择贪心策略是贪心算法最优解的关键。

7.4.2基于贝叶斯算法参数优化

贝叶斯方法是一种基于贝叶斯定理和特征条件独立假设的分类方法,在数据集D中令A_1,A_2,…, A_A为用离散值表示的属性集合,令C为具有 C 个不同值的类别属性,假设所有属性都是条件独立于类别C =c_j,数学表示为:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
从训练数据中可以直接得到先验概率 P(C =c_j)和条件概率 P(A_1=a_i) ,贝叶斯的分类公式为:

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

贝叶斯方法的优点是即使数据量很少,也能高效处理多类别问题。缺点是它对数据输入假设很敏感。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

通过贝叶斯网络可以得到LGBM最优参数设计:指定叶子的个数num_leaves=320,max_depth=25树的深度 不能过大防止过拟合,叶节点样本的最少数量2,subsample=0.9。

7.5.模型融合

7.5.1 Boosting

Boosting基于迭代思想,在每一次训练时关注上一次分类错误的样例,给这些分类错误的样例更大的权重,下次训练的时候就能够更容易辨别出上一次分类错误的样例。具体做法如下:
1)先赋予每个训练样本相同的概率;
2)进行多次迭代,在每次迭代后,给予分类错误的样本更大权重(重采样),使得下一次迭代中更加关注这些样本;
3)将多次迭代训练得到的弱分类器,通过带权重的线性相加得到最终的强分类器。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

7.5.2 Stacking

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

Stacking模型本质上是一种分层的结构,这里简单起见,只分析二级Stacking.假设我们有3个基模型M1、M2、M3。
1. 基模型M1,对训练集train训练,然后用于预测train和test的标签列,分别是P1,T1

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

对于测试集T1的得到,有两种方法。注意到刚刚是2折交叉验证,M1相当于训练了2次,所以一种方法是每一次训练M1,可以直接对整个test进行预测,这样2折交叉验证后测试集相当于预测了2次,然后对这两列求平均得到T1。或者直接对测试集只用M1预测一次直接得到T1。
P1、T1得到之后,P2、T2、P3、T3也就是同样的方法。理解了2折交叉验证,对于K折的情况也就理解也就非常顺利了。所以最终的代码是两层循环,第一层循环控制基模型的数目,每一个基模型要这样去得到P1,T1,第二层循环控制的是交叉验证的次数K,对每一个基模型,会训练K次最后拼接得到P1,取平均得到T1。
该图是一个基模型得到P1和T1的过程,采用的是5折交叉验证,所以循环了5次,拼接得到P1,测试集预测了5次,取平均得到T1。而这仅仅只是第二层输入的一列/一个特征,并不是整个训练集。再分析作者的代码也就很清楚了。也就是刚刚提到的两层循环。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

过程5-9是 使用训练出来的个体学习器来得预测的结果,这个预测的结果当做次级学习器的训练集。
过程11 是用初级学习器预测的结果训练出次级学习器,得到我们最后训练的模型。
本文采用:最先想到的方法是这样的,
1:用数据集D来训练h1,h2,h3…,
2:用这些训练出来的初级学习器在数据集D上面进行预测得到次级训练集。
3:用次级训练集来训练次级学习器。
但是这样的实现是有很大的缺陷的。在原始数据集D上面训练的模型,然后用这些模型再D上面再进行预测得到的次级训练集肯定是非常好的。会出现过拟合的现象。
那么,我们换一种做法,我们用交叉验证的思想来实现stacking的模型,从这里拿来一张图次级训练集的构成不是直接由模型在训练集D上面预测得到,而是使用交叉验证的方法,将训练集D分为k份,对于每一份,用剩余数据集训练模型,然后预测出这一份的结果。重复上面步骤,直到每一份都预测出来。这样就不会出现上面的过拟合这种情况。并且在构造次级训练集的过程当中,顺便把测试集的次级数据也给构造出来了。
对于我们所有的初级训练器,都要重复上面的步骤,才构造出来最终的次级训练集和次级测试集。

7.6 结果分析

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

8、问题四的模型建立与求解

8.1 问题分析

相邻区域的污染物浓度往往具有一定的相关性,区域协同预报可能会提升空气质量预报的准确度。如图 4,监测点A的临近区域内存在监测点A1、A2、A3,使用附件1、3中的数据,建立包含A、A1、A2、A3四个监测点的协同预报模型,要求二次模型预测结果中AQI预报值的最大相对误差应尽量小,且首要污染物预测准确度尽量高。
城市中污染的产生来源主要是工业排放,在北方冬季采暖季节因燃烧煤炉取暖产生的污染排放也很严重,而城市中的车辆排放对AQI的影响也不容小觑。各类污染排放集中在城市中,对城市环境造成直接影响。而城市郊区、城市间的小型城镇以及农村因相比城市而言较不发达,几乎没有工业排放,冬季因采暖产生的污染排放也很少,车辆排放相对城市而言可以忽略不计,因而空气质量相对较好。
风是由于气压差而产生的,风包括风力和风向,风力代表风速,而风向是气压差的方向也是风行走的方向。气压差越大,风力会越大,风力越大空气运动越剧烈。空气运动过程会连带空气中的污染物一起运动,故而风可以使污染物扩散,风力越大,污染物扩散越快。由于城市周边空气质量更佳,故而无论风将城市周边的空气带进城市,还是将城市内的空气带离城市,对城市而言都是将污染物较多的空气与污染物较少的空气进行交换,对城市空气均起到净化作用,从而降低空气质量指数。风力越大,空气交换越多,对城市空气质量越是起到提升作用。
风向决定风行走的方向,即城市污染物扩散的方向,因城市周边空气质量均比城市好,故风对城市空气质量产生的作用必然是提升空气质量,不同风向可能会因为城市周边地貌以及空气质量的差异对城市空气质量的提升有些微影响。又由于考虑风向需要对城市地貌、山脉等地理环境进行分析,情况过于复杂,且影响不大,故不考虑风向对城市AQI的影响,只考虑风力对城市AQI的影响。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

8.2 结果分析

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

针对问题四、考虑到A1、A2、A3、A4协同预报模型,在问题三构建的模型上着重考虑风速和风向特征因素带来的影响,以及考虑不同站点因为距离不同对A站点预测结果产生影响程度不同,进行权重配比构建基于Stacking融合的预测模型,结果表明风力因素对模型预测以及多站点协同预报对QAI以及污染物等预报更准确。

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

9、模型评价与推广

9.1 模型优点

本文采用基于Stacking的机器学习混合模型,预测空气质量状态。stacking方法采用分层方式集成多个复杂的基模型,由于每个基模型都有不同的优缺点,综合这些基模型可以获得更好的预测效果。从问题三和问题四的预测结果看出,基于stacking的方法预测准确度非常高,达到99%。同时,模型泛化能力非常好,基于站点A训练得到的预测模型可以很好地用于B和C站点的预测。

9.2 模型缺点

但是,stacking方法的预测准确度也依赖于每个基模型的预测精度,基模型的预测精度太差或太好都不好。当每个基模型的准确度比较差,把它们集成到一起,预测准确度可能变成0%了,效果反而变差。如果每个基模型的预测结果都非常好,那stacking方法则基本没有改进。当每个基模型都达到了一定的预测精度,比如60%左右,则Stacking方法通过找到各个基模型的权重,更容易达到100%的预测精度。因此,如何选择合适的基模型成为优化stacking预测方法的前提

数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

码源+建模文章下载:

2021年B题空气质量预报二次建模.zip-机器学习文档类资源-CSDN下载2021年B题空气质量预报二次建模.zip更多下载资源、学习资料请访问CSDN下载频道.数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}https://download.csdn.net/download/sinat_39620217/85208388 ;

2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}-机器学习文档类资源-CSDN下载数据挖掘机器学习[七]—2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacki更多下载资源、学习资料请访问CSDN下载频道.数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}https://download.csdn.net/download/sinat_39620217/85208455 ; 2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}-机器学习文档类资源-CSDN下载数据挖掘机器学习[七]—2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacki更多下载资源、学习资料请访问CSDN下载频道.数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}https://download.csdn.net/download/sinat_39620217/85208467 ;

机器学习码源专栏链接: https://www.heywhale.com/home/column/64141d6b1c8c8b518ba97dcc

Original: https://blog.csdn.net/sinat_39620217/article/details/124353644
Author: 汀、
Title: 数据挖掘机器学习[七]—2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/696131/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球