基于改进PSO的ARIMA-SVM空气质量预测研究

杨涛锋 彭艺

引用本文:
Citation:

基于改进PSO的ARIMA-SVM空气质量预测研究

    作者简介: 杨涛锋(1994−),男,河南人,硕士生,主要研究方向为信号与信息处理、数据挖掘,E-mail:m15290903966@163.com;
    通讯作者: 彭艺, 527037928@qq.com
  • 中图分类号: TP399

A hybrid ARIMA–SVM model for the study of air quality prediction based on improved PSO

    Corresponding author: PENG Yi, 527037928@qq.com
  • CLC number: TP399

  • 摘要: 针对现有的单一模型对PM2.5浓度预测误差较大的问题,提出ARIMA-SVM组合预测的方法. 首先为了解决单核SVM泛化能力弱、学习能力差的缺点,本文构建基于线性组合的混合核SVM;然后考虑到普通粒子群算法对SVM参数寻优存在易陷入局部最优解和后期震荡的问题,本文同时提出基于余弦函数的自适应惯性权重和增加动量项的改进粒子群算法. 最后以北京市某站点的PM2.5浓度数据进行验证,结果表明改进的组合模型均方根误差较未改进组合模型和单一ARIMA模型分别降低了1.741 μg·m−3和6.72 μg·m−3,具有更加良好的预测精度.
  • 图 1  组合模型建模流程图

    Figure 1.  Flow chart of combined model modeling

    图 2  基于改进粒子群混合核SVM参数优化流程

    Figure 2.  SVM parameter optimization process based on improved pso hybrid kernel

    图 3  2017年1月至2018年12月 $P{M_{2.5}}$ 浓度时序图

    Figure 3.  Sequence diagram of $P{M_{2.5}}$ concentration from January 2017 to December 2018

    图 4  2017年1月至2018年12月 $P{M_{2.5}}$ 浓度一阶差分时序图

    Figure 4.  First-order different sequence diagram of $P{M_{2.5}}$ concentration from January 2017 to December 2018

    图 5  一阶差分序列自相关系数(ACF)图

    Figure 5.  Autocorrelation coefficient (ACF) of first-order first-order difference sequence

    图 6  一阶差分序列偏自相关系数(PACF)图

    Figure 6.  Partial autocorrelation coefficient (PACF) of the different sequence

    图 7  基于不同优化方法的组合模型 $P{M_{2.5}}$ 浓度预测对比图

    Figure 7.  Comparison of $P{M_{2.5}}$ concentration prediction of combined models based on different optimization methods

    图 8  IPSO双核组合模型与ARIMA模型 $P{M_{2.5}}$ 浓度预测对比图

    Figure 8.  Comparison of $P{M_{2.5}}$ concentration prediction between IPSO dual-core combined model and ARIMA model

    表 1  ARIMA(1,1,3)模型统计量

    Table 1.  Model statistics of ARIMA(1,1,3)

    ADF检验统计量ljung-Box统计量
    P值延迟阶数P值
    14.4370.0180.0901620.764
    下载: 导出CSV

    表 2  $P{M_{2.5}}$($\mu g \cdot {m^{ - 3}}$)浓度实际值与预测值

    Table 2.  $P{M_{2.5}}$ ($\mu g \cdot {m^{ - 3}}$) concentration actual value and predicted value

    日期实际值ARMA残差IPSO双核SVM残差预测组合预测
    2018-12-07 33.875 28.174
    2018-12-08 34 38.227
    2018-12-09 78.565 72.643
    2018-12-10 79.292 75.334
    2018-12-11 60.125 64.361
    2018-12-12 58.391 49.743 8.648 1.073 50.816
    2018-12-13 43.625 46.324 −2.699 −5.484 40.109
    2018-12-14 70.254 62.875 7.379 4.838 67.713
    2018-12-15 119.583 103.376 16.207 −1.592 101.784
    2018-12-16 125.125 107.671 17.454 −2.78 104.891
    2018-12-17 45.364 40.567 4.797 1.618 42.185
    2018-12-18 57.417 51.371 6.046 1.912 53.283
    2018-12-19 62.458 51.452 11.006 2.689 54.141
    2018-12-20 90.39 83.872 6.518 −2.303 81.569
    2018-12-21 81.947 76.644 5.303 −2.726 73.918
    2018-12-22 48.625 60.034 −11.409 −1.698 58.336
    2018-12-23 40.696 51.681 −10.985 −2.41 49.271
    2018-12-24 30.254 37.567 −7.313 −1.094 36.473
    2018-12-25 29.667 32.577 −2.91 −1.597 30.98
    2018-12-26 57.333 64.625 −7.292 1.715 66.31
    下载: 导出CSV

    表 3  不同优化方法的性能比较

    Table 3.  Performance comparison of different optimization methods

    预测方法均方误差($\mu g \cdot {m^{ - 3}}$)迭代次数$C,\varepsilon ,\lambda ,\sigma /C,\varepsilon ,\sigma $
    IPSO双核2.4833123.24,0250,
    0.623,0.847
    IPSO单核3.6137522.56,0.286,0.741
    NPSO双核3.8440427.69,0.301,0.619,0.833
    NPSO单核4.0442129.32,0.297,0.819
    下载: 导出CSV

    表 4  单一模型与组合模型的性能比较

    Table 4.  Performance comparison between single model and combined model

    预测法RMSEMAPE
    ARIMA 9.385 13.9
    IPSO混合核组合模型 2.665 4.22
    下载: 导出CSV
  • [1] Tsai Y T, Zeng Y R, Chang Y S. Air pollutionforecasting using RNN with LSTM[C]. 2018 IEEE 16th Intl Conf on Dependable, Autonomic and Secure Computing, Sydney: IEEE, 2018.
    [2] 李颖若, 汪君霞, 韩婷婷, 等. 利用多元线性回归方法评估气象条件和控制措施对APEC期间北京空气质量的影响[J]. 环境科学, 2019, 40(03): 16-26. Li Y R, Wang J X, Han T T, et al. Using multiple linear regression method to evaluate the impact of meteorological conditions and control measures on air quality in Beijing during APEC 2014[J]. Environmental Science, 2019, 40(03): 16-26.
    [3] 曲悦, 钱旭, 宋洪庆, 等. 基于机器学习的北京市PM2.5浓度预测模型及模拟分析[J]. 工程科学学报, 2019(3): 401-407. Qu Y, Qian X, Song H Q, et al. Machine-learning-based model and simulation analysis of concentration prediction in Beijing[J]. Chinese Journal of Engineerin, 2019(3): 401-407.
    [4] Hikichi S E, Salgado E G, Beijo L A. Forecasting number of ISO 14001 certifications in the Americas using ARIMA models[J]. Journal of Cleaner Production, 2017, 147(Complete): 242-253.
    [5] 钱亚冠, 卢红波, 纪守领, 等. 一种针对基于SVM入侵检测系统的毒性攻击方法[J]. 电子学报, 2019, 47(1): 59-65. DOI:  10.3969/j.issn.0372-2112.2019.01.008. Qian Y G, Lu H B, Ji S L, et al. A poisoning attack on intrusion detection system based on SVM[J]. Acta Electronica Sinica, 2019, 47(1): 59-65.
    [6] 杨敏, 丁剑, 王炜. 基于ARIMA-SVM模型的快速公交停站时间组合预测方法[J]. 东南大学学报:自然科学版, 2016, 46(03): 651-656. Yang M, Ding J, Wang W. Hybrid dwell time prediction method for bus rapid transit based on ARIMA-SVM model[J]. Journal of Southeast University:Natural Science Edition, 2016, 46(03): 651-656.
    [7] 宋国君, 国潇丹, 杨啸, 等. 沈阳市PM2.5浓度ARIMA-SVM组合预测研究[J]. 中国环境科学, 2018, 38(11): 4 031-4 039. DOI:  10.3969/j.issn.1000-6923.2018.11.005. Song G J, Guo X D, Yang X, et al. ARIMA-SVM combination prediction of concentration in Shenyang[J]. China Environmental Science, 2018, 38(11): 4 031-4 039.
    [8] Zheng Z C, Wei-Ya X U, Fei X U, et al. Forecasting of slope displacement based on PSO-LSSVM with mixed kernel[J]. Rock & Soil Mechanics, 2012, 33(5): 1 421-1 426.
    [9] 徐中宇, 苏明玉, 姚庆安. 基于改进PSO算法的混合核SVM算法[J]. 吉林大学学报:理学版, 2018, 56(03): 625-630. Xu Z Y, Su M Y, Yao Q A. Hybrid Kernel SVM algorithm based on improved PSO algorithm[J]. Journal of Jilin University(Science Edition), 2018, 56(03): 625-630.
    [10] 刘义志, 赖华荣, 张丁旺, 等. 多特征混合核SVM模型的遥感影像变化检测[J]. 国土资源遥感, 2019, 31(01): 16-21. Liu Y Z, Lai H R, Zhang D W, et al. Change detection of high resolution remote sensing image alteration based on multi-feature mixed kernel SVM model[J]. Remote Sensing for Land & Resources, 2019, 31(01): 16-21.
    [11] 李建新, 刘小生, 刘静, 等. 基于MRMR-HK-SVM模型的PM2.5浓度预测[J]. 中国环境科学, 2019, 39(6): 2 304-2 310. DOI:  10.3969/j.issn.1000-6923.2019.06.009. Li J X, Liu X S, Liu J, et al. Prediction of PM2.5 concentration based on MRMR-HK-SVM model[J]. China Environmental Science, 2019, 39(6): 2 304-2 310.
    [12] 段小丽, 王明泉. 改进型PSO-SVM算法对井下多组分气体定量分析的研究[J]. 光谱学与光谱分析, 2019, 39(9): 2 883-2 888. Duan X L, Wang M Q. Quantitative analysis of multi-component gases in underground by improved PSO-SVM algorithm[J]. Spectroscopy and Spectral Analysis, 2019, 39(9): 2 883-2 888.
    [13] Junior E P, Barroso E S. A hybrid PSO-GA algorithm for optimization of laminated composites[J]. Structural and Multidisciplinary Optimization, 2016, 55(6): 65-71.
    [14] Huang C L, Wang C J. A GA-based feature selection and parameters optimization for support vector machines[J]. Expert Systems with Applications, 2006, 31(2): 23l-240.
    [15] 姜建国, 田旻, 王向前, 等. 采用扰动加速因子的自适应粒子群优化算法[J]. 西安电子科技大学学报, 2012, 39(04): 74-80. Jiang J G, Tian M, Wang X Q, et al. Adaptive particle swarm optimization via disturbing acceleration coefficents[J]. Journal of Xidian University, 2012, 39(04): 74-80.
  • [1] 李琰崔建福马镭石磊 . 局部影响分析在支持向量机中的应用. 云南大学学报(自然科学版),
    [2] 唐菁敏马含 . 基于混沌粒子群优化的微电网短期负荷预测. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20190017
    [3] 王海燕王红军徐小力 . 基于支持向量机的纳西东巴象形文字符识别*. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20150757
    [4] 周爱红尹超袁颖 . 基于主成分分析和支持向量机的砂土渗透系数预测模型*. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20150781
    [5] 何晨光贺思德董志民 . 最小二乘支持向量机在人脸识别中的应用. 云南大学学报(自然科学版),
    [6] 闵文文梅 端代婷婷胡光华 . 基于遗传算法SVM的基因表达谱数据分析. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20120663
    [7] 谢心庆郑薇开璇许英 . 基于时间序列和多元方法的乌鲁木齐PM2.5浓度分析. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20150789
    [8] 李建文毕丽玫韩新宇史建武杨健施择宁平 . 昆明市PM2.5中水溶性无机离子时空变化特征及来源分析. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20160456
    [9] 张朝能王梦华胡振丹袁园刘慧邱飞 . 昆明市PM2.5浓度时空变化特征及其与气象条件的关系. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20150467
    [10] 贾占彪陈红 . 一种新的超宽带脉冲设计方法与性能分析. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20120340
    [11] 邱宇青胡光华潘文林 . 基于正交表的支持向量机并行学习算法. 云南大学学报(自然科学版),
    [12] 冉亚鑫余江常俊李晓薇 . 一种基于CSI的跌倒检测方法. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20190415
    [13] 彭新俊胡光华 . 密度函数估计的修正SVM法. 云南大学学报(自然科学版),
    [14] 陈威张世峰张祝威胡贵妹 . 焦炉集气管压力系统的复合自适应PID控制. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20160597
    [15] 卢康贺西平安笑笑贺升平尼涛 . 基于TSVM的多特征融合超声金属防伪识别. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20160548
    [16] 马欣欣郭敏 . 基于EEMD和多域特征融合的手势肌电信号识别研究. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20170300
    [17] 陆正福李佳 . FHE*KDFRS:全同态加密相容的核基人脸识别系统. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20180400
    [18] 燕志星王海瑞杨宏伟靖婉婷 . 基于深度学习特征提取和GWO-SVM滚动轴承故障诊断的研究. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20190535
    [19] 杞娴胡光华彭新俊 . 基于最佳距离度量近邻法的邻域风险最小化方法. 云南大学学报(自然科学版),
    [20] 张严严郭 敏 . 基于小波包和SVM的小麦碰撞声分类研究. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20120377
  • 加载中
图(8)表(4)
计量
  • 文章访问数:  178
  • HTML全文浏览量:  185
  • PDF下载量:  14
  • 被引次数: 0
出版历程
  • 网络出版日期:  2020-06-02

基于改进PSO的ARIMA-SVM空气质量预测研究

    作者简介:杨涛锋(1994−),男,河南人,硕士生,主要研究方向为信号与信息处理、数据挖掘,E-mail:m15290903966@163.com
    通讯作者: 彭艺, 527037928@qq.com
  • 昆明理工大学 信息工程与自动化学院,云南 昆明 650500

摘要: 针对现有的单一模型对PM2.5浓度预测误差较大的问题,提出ARIMA-SVM组合预测的方法. 首先为了解决单核SVM泛化能力弱、学习能力差的缺点,本文构建基于线性组合的混合核SVM;然后考虑到普通粒子群算法对SVM参数寻优存在易陷入局部最优解和后期震荡的问题,本文同时提出基于余弦函数的自适应惯性权重和增加动量项的改进粒子群算法. 最后以北京市某站点的PM2.5浓度数据进行验证,结果表明改进的组合模型均方根误差较未改进组合模型和单一ARIMA模型分别降低了1.741 μg·m−3和6.72 μg·m−3,具有更加良好的预测精度.

English Abstract

  • 近年来,随着工业生产的发展与人类活动的增加,造成大量能源消耗与废物排放,空气质量问题日益突出,尤其是可吸入颗粒物($P{M_{2.5}}$)严重影响人体健康。因此空气质量的精准预测对人们的生产、生活、培养保护环境意识等具有重要的指导意义。

    目前对 $P{M_{2.5}}$ 的预测方法主要分为机理模型和非机理模型。机理模型通过详细的历史气象数据、化学初始条件(ICONS)以及边界条件(BCONS)等数据信息来模拟污染物从产生到扩散的物理化学过程从而达到预测的目的。机理模型对建模者本身的物理化学知识以及气象历史数据都有很高的要求,这导致普通研究者很难去实现,实际上我国现有的主要机理模型大都由中国气象局等官方机构团体构建。非机理模型主要指统计模型和机器学习模型。Yi-Ting Tsai等[1]通过构造基于长短期记忆网络(LSTM)的卷积神经网络(RNN)对台北市未来4 h的 $P{M_{2.5}}$ 浓度进行了预测,用于训练的是包含湿度、温度、NO2浓度等信息的二十维数据;李颖若等[2]通过建立基于日照时长、降雨量等气象参数的多元线性回归模型对北京市日均 $P{M_{2.5}}$ 浓度进行了预测;曲悦等[3]通过建立BP神经网络、卷积神经网络(CNN)和长短时记忆网络(LSTM)对 $P{M_{2.5}}$ 浓度进行了预测,他们把不同高度的气压、风速等气象数据分别作为影响因子进行输入训练;目前学术界针对 $P{M_{2.5}}$ 浓度最佳的预测方法并无统一的共识,现有的研究大都通过构建 $P{M_{2.5}}$ 浓度与SO2、O3等污染物浓度以及气温、适度等气象因素的关联模型来进行预测而忽略了工业生产、燃料燃烧、交通运输等“人为因素”对 $P{M_{2.5}}$ 浓度的影响,在实际生活中,这些“人为因素”对 $P{M_{2.5}}$ 浓度的影响往往占据主导作用,而遗憾的是这些数据的测量与收集往往非常困难。而实际上,$P{M_{2.5}}$ 浓度数据本身就“反映”了上述所有影响因子的作用,因此为深刻挖掘 $P{M_{2.5}}$ 浓度本身的变化规律,提出一种合适的单时间序列预测模型是一种非常有效的研究思路。

    建模者应当根据数据本身的特点来构造合适的预测模型,$P{M_{2.5}}$ 数据是一个混合线性非线性的复杂的时间序列,同时兼具周期性和波动性的特点. ARIMA模型是当今发展最为成熟的时间序列预测模型,对于捕捉数据的线性信息有独特的优势[4],SVM是基于结构风险最小化的一种机器学习方法[5],常用于非线性回归领域. 针对 $P{M_{2.5}}$ 浓度数据混合线性非线性的特点,本文采用改进PSO(improved PSO,IPSO)的ARIMA-SVM组合模型对北京某站点 $P{M_{2.5}}$ 浓度数据进行了预测分析. 组合模型通过全面提取浓度数据的线性、非线性信息以达到减少预测误差的目的[6]. 本文通过构建混合核SVM以及优化SVM参数寻优的粒子群算法提高组合模型的性能,通过实验仿真,本文所提的改进组合模型和IPSO单核组合模型、普通PSO(normal PSO,NPSO)单核组合模型,NPSO双核组合模型以及单一ARIMA模型进行了对比,仿真表明,所提优化算法的有效性以及可行性.

    • 差分自回归滑动平均(ARIMA)模型是一种基于线性回归思想的时间序列预测方法. ARIMA(p,d,q)模型的分析对象是平稳序列,若序列非平稳则通过d阶差分的方法使其平稳. ARIMA模型通过线性方法进行定阶. 在ARIMA的数学模型中,一般把时间序列在某时刻的值视为过去若干时间值与一组白噪声的线性叠加. 即:

      ${y_t} = \sum\limits_{i = 1}^p {{\gamma _i}{y_{y - i}} + {\varepsilon _t} + \sum\limits_{i = 1}^q {{\theta _i}} } {\varepsilon _{t - i}}$

      式(1)中 ${y_t}$ 是待分析的平稳时间序列,${\varepsilon _t}$ 为白噪声序列. 通过对序列自相关系数图以及偏自相关系数图的观察可以确定自回归阶数 $p$ 和移动平均阶数 $q$,模型完成定阶后,可确定系数 ${\gamma _i}$${\theta _i}$.

      支持向量机(SVM)最初被提出来用来解决分类问题,后来随着理论的发展通过非线性映射把数据映射到高维空间完成线性回归以此来解决原来样本空间的非线性回归问题. 设训练集 $\left\{ {{x_i},\left. {{y_i}} \right\}} \right._{i = 1}^n$${x_i} \in {R^D}$${y_i} \in R$,则设SVM的回归方程为:

      $f\left( x \right) = w \cdot \varphi (x) + b$

      式中 $w$ 是权向量,$b$ 是拟合偏差,“$ \cdot $”表示内积,$f\left( x \right)$$x$ 的非线性函数,同时 $f\left( x \right)$ 又是 $\varphi \left( x \right)$ 的线性函数,这样就把问题由原本空间的非线性回归转化为了高维空间的线性回归. 为了减少计算量,引入核函数取代高维空间中的内积运算将其转化为原样本空间运算,得到SVM的非线性拟合函数:

      $f\left( x \right) = \sum\limits_{i = 1}^n {\left( {{\alpha _i} - \left. {\alpha _i^*} \right)} \right.} K\left( {{x_i},{x_j}} \right)$

      式中 ${\alpha _i} - \alpha _i^*$ 为权值,根据Mercer定理 $K\left( {{x_i},{x_j}} \right)$ 为满足 $K\left( {{x_i},{x_j}} \right) = \varphi \left( {{x_i}} \right)\varphi \left( {{x_j}} \right)$ 的核函数.

      $P{M_{2.5}}$ 浓度数据受多种因素影响具有复杂的混合非线性的特点,对浓度数据进行ARIMA建模可以拟合数据的线性趋势,但是遗漏了数据的非线性信息. SVM模型可以对小样本、非线性数据进行很好的预测. 因此,基于组合的思想,本文把在其他领域有着广泛应用的ARIMA-SVM组合模型对 $P{M_{2.5}}$ 浓度进行预测[7]. 具体做法是:首先对浓度数据 ${y_t}$ 进行ARIMA建模,得到预测结果 ${\mathop L\limits^ \wedge _t}$ 以及残差 ${N_t} = {y_t} - {\mathop L\limits^ \wedge _t}$,再对残差 ${N_t}$ 进行SVM建模得到残差的预测结果 ${\mathop N\limits^ \wedge _t}$,把两个模型的预测结果相加即得到ARIMA-SVM组合模型的预测结果:${\mathop y\limits^ \wedge _t} = {\mathop L\limits^ \wedge _t} + {\mathop N\limits^ \wedge _t}$. 组合模型的建模流程图如下图所示:

      图  1  组合模型建模流程图

      Figure 1.  Flow chart of combined model modeling

    • 选取不同的核函数可以构造不同的支持向量机,常用的核函数有四种:径向基核函数(RBF),高斯核函数,$q$ 次多项式核函数和Sigmod核函数. 目前国内外对于利用SVM进行预测的研究中,大多数都是根据前人的研究结合自己的实际情况选择径向基核函数,这是因为大多数数据都可以近似服从高斯分布[8]. 就核函数的特性不同可以把核函数大致分为两类:局部核函数和全局核函数. 局部核函数有良好的学习能力,但泛化能力较弱,全局核函数则相反. 常用的局部核函数有径向基核函数(RBF),全局核函数则多选用多项式核函数(POLY)[9-10]. 对于一个模型来说学习能力和泛化能力同样重要. 为了利用两者的优点,本文基于组合的思想,将两者线性组合起来得到混合核函数. 构造公式如下:

      ${K_{mix}} = \lambda {K_{poly}} + (1 - \lambda ){K_{rbf}}\;\;\lambda \in \left[ {0,1} \right]$

      ${K_{poly}} = {\left[ {\left( {x \cdot {x_i}} \right) + 1} \right]^q}$

      ${K_{rbf}} = \exp \left( { - \gamma {{\left\| {x - {x_i}} \right\|}^2}/{\sigma ^2}} \right)$

      ${K_{mix}}$ 需要满足Mercer定理,核函数混合后多了一个需要寻优的参数 $\lambda $.

    • 在用SVM回归预测模型进行预测分析之前,需要确定惩罚系数C、核函数参数 $\sigma $ 以及损失函数参数以及核函数的类型. 惩罚系数C过小会导致训练误差变大,过大会导致泛化能力变差,当使得最优解参数组合不唯一的时候,选择C值较小的那组. $\varepsilon $ 表示模型容忍误差的能力,代表拟合边界的宽度,合适的 $\varepsilon $ 应该使尽可能多的样本位于拟合边界上. $\sigma $ 控制着SVM对输入变量的敏感程度[11]. 因此,只有选择合适的参数才能实现准确的预测. 为了取消参数选取的盲目性,采用粒子群寻优算法对参数进行优化选择[12].

      粒子群算法是基于粒子迭代寻找解空间的最优值的一种全局动态寻优计算方法[13],该算法通过在每次迭代过程中追寻全局极值 ${P_{gbest}}$ 和个体极值 ${P_{ibest}}$ 来不断的调整自己的位置与速度. 其迭代公式为:

      $V_i^{t + 1} = w_i^{}V_i^t + {C_1}{r_1}\left( {P_{ibest}^t - X_i^t} \right) + {C_2}{r_2}\left( {P_{gbest}^t - X_i^t} \right)$

      $X_i^{t + 1} = X_i^t{\rm{ + }}V_i^{t + 1}$

      上式中(7)为速度更新公式,(8)为位置更新公式,$w$ 称为惯性因子,${C_1}$${C_2}$ 称为加速常数,一般选取 ${C_1},{C_2} \in \left[ {0,4} \right]$. ${r_1},{r_2}$ 表示在0到1之间随机的数值. 基于粒子群算法的原理 $w$ 应该随着搜索的进行而不断减小. $w$ 的变化规律表示为:

      $w = {w_{\min }} + \frac{{\left( {{T_{\max }} - {T_i}} \right) \cdot \left( {{w_{\max }} - {w_{\min }}} \right)}}{{{T_{\max }}}}$

      式中:${w_{\max }}$${w_{\min }}$ 分别为最大、最小惯性权重;${T_{\max }}$${T_i}$ 分别为最大迭代次数和当前迭代次数.

      基本的粒子群算法存在两个问题:1)算法后期,粒子多集中在最优解的一边导致粒子寻优速度下降,迭代速度变慢;2)算法容易早熟,陷入局部最优解. 目前针对第一个问题,文献[14]提出一种增加动量项的方法[14],使得后期的收敛速度加快,但改进的算法整体还存在粒子后期集中分布的问题,容易陷入局部最优解. 针对第二个问题,文献[15]提出自适应惯性权重法[15],通过用余弦函数改变惯性权重在迭代前期以及迭代后期的数值来避免早熟,但是这样牺牲了后期的迭代速率. 为了同时克服两者的不足,本文提出在自适应惯性权重的同时加入动量项的方法. 首先在基本的粒子群算法的速度更新公式中加入动量项:

      $V_i^{t + 1} = {w_i}V_i^t + \Delta v_i^t + \alpha \Delta v_i^{t - 1}$

      上式改进的速度更新公式中,$\alpha \Delta v_i^{t - 1}$ 为新引入的动量项,$\alpha $ 为动量因子,$\left| \alpha \right| \in \left[ {0,\left. 1 \right)} \right.$,加入动量项的具体作用是:当 $\Delta v_i^t$ 于前一时刻的速度 $\Delta v_i^{t - 1}$ 同号时,在稳定调节的前提下,可以增加 $V_i^{t + 1}$ 的速度,使算法收敛速度加快;当 $\Delta v_i^t$ 与前一时刻符号相反的时候,说明此时算法存在一定的震荡,通过减少速度修正量达到减少震荡加快收敛的目的.

      接着采用 $0\sim \pi $ 之间的余弦函数控制惯性权值的变化:

      $\begin{split} w =& [{{\left( {{w_{\max }} - {w_{\min }}} \right)} / 2}]cos\left( {{{\pi {T_i}} / {{T_{\max }}}}} \right) + \\ &{{\left( {{w_{\max }} + {w_{\min }}} \right)} / 2} \\ \end{split} $

      改进后新的速度以及位置公式为:

      $ V_i^{t + 1} = {w_i}V_i^t + \Delta v_i^t + \alpha \Delta v_i^{t - 1} $

      $X_i^{t + 1} = X_i^t{\rm{ + }}V_i^{t + 1}$

      式(11)中 ${w_{\max }}$ 既是惯性权重系数的最大值也是初始设定值,${w_{\max }} = 0.95$${w_{\min }} = 0.4$ 为惯性权重的最小值. 惯性权重 $w$ 可以使粒子保持本身的运动惯性,探索更广阔的区域,这样可以解决早熟的问题,但是一味的让粒子进行全局搜索而推迟粒子进入局部搜索的时间会影响算法的搜索效率,我们希望既能提高算法的效率又能解决早熟的问题. 基于此,提出用余弦函数解决上述的问题,根据余弦函数在 $\left[ {0,\pi } \right]$ 区间内函数性质,函数整体在这个区间内使递减的和(9)式相对应满足惯性权重初始在迭代初期较大在迭代尾期较小的要求,当在区间刚开始的部分,函数值下降的比较慢有利于粒子群以高速进行全局搜索,不会使粒子群早早的转入到局部搜索从而避免了早熟,在区间的尾部,根据余弦函数的性质,函数值的变化率比较缓慢,影响收敛速率,但是由于我们在前面加了动量项,解决了个问题.

    • 选择能反应SVM性能的均方根函数 ${F_{rmse}}$ 为目标函数:

      $\min {F_{rmse}}\left( {C,\sigma ,\varepsilon ,\lambda } \right) \!=\! \sqrt {\frac{1}{n}\sum\limits_{i = 1}^n {{{\left[ {{y_i} - \varphi \left( {{x_i},C,\sigma ,\varepsilon ,\lambda } \right)} \right]}^2}} } $

      则适应度函数为:

      ${F_{fitness}} = {F_{rmse}}\left( {C,\sigma ,\varepsilon ,\lambda } \right)$

      其中:$\varphi \left( {} \right)$ 为给定参数以及训练样本下得到的预测函数;$n$ 为训练样本的个数,${x_i}$ 为训练样本;${y_i}$ 为实际值,该算法输入粒子的维数以及个数,输出SVM的最佳参数组合 $\left( {C,\sigma ,\varepsilon ,\lambda } \right)$.

      基于改进粒子群算法的混合核SVM参数的算法如下:

      Step0:初始化算法的参数 ${c_1},{c_2},w,\alpha $ 以及粒子群规模以及最大的迭代次数 ${T_{\max }}$. 随机初始化SVM参数组合 $\left( {C,\sigma ,\varepsilon ,\lambda } \right)$ 在解的空间中的位置以及粒子初始速度和位置,设置粒子的最大速度 ${V_{\max }}$、惯性权重 $w$ 取值范围以及SVM各参数的取值范围.

      步骤1:将粒子的个体极值 ${P_{ibest}}$ 设置为粒子当前的位置. 根据式(14)计算各个粒子的适应度值,取适应度最小的粒子的 ${P_{ibest}}$ 作为开始的全局极值 ${P_{gbest}}$.

      步骤2:根据公式(12)(13)重新确定粒子的速度以及位置,根据公式(14)确定新的适应度值,令 ${p_{ipresent}} = {F_{fitness}}$.

      步骤3:比较更新后的适应度值 ${p_{ipresent}}$ 和粒子当前最优的 ${P_{ibest}}$,若 ${p_{ipresent}} > {P_{ibest}}$,则更新 ${P_{ibest}}$.

      步骤4:比较更新后的 ${p_{ipresent}}$ 和全局最优解 ${P_{gbest}}$. 若 ${p_{ipresent}} > {P_{gbest}}$,则更新 ${P_{gbest}}$.

      步骤5:判断收敛条件是否满足若满足则输出最优SVM参数组合,否则回到步骤1.

      图  2  基于改进粒子群混合核SVM参数优化流程

      Figure 2.  SVM parameter optimization process based on improved pso hybrid kernel

    • 本文选用2017年1月至2018年12月的北京市 $P{M_{2.5}}$ 日均浓度数据作为研究对象,数据来源:中国环境监测总站,共计720个样本,选取前700个样本作为训练样本进行算法的模型的构建,后二十个作为测试集,数据源自于一个变量的时间序列,所以无需考虑对数据进行标准化处理. 选取均方根误差(RMSE)和平均绝对误差(MAPE)作为模型的评价标准. RMSE适用于同一数据集不同模型间的比较,更符合本文的实际情况,所以本文评价以RMSE为主,RMSE和MAPE分别定义如下:

      $MAPE = \frac{1}{n}\sum\limits_{i = 1}^n {\left| {\frac{{{y_i} - \mathop {{y_i}}\limits^ \wedge }}{{{y_i}}}} \right|} \times 100$

      $RMSE = \sqrt {\frac{1}{n}\sum\limits_{i = 1}^n {{{\left( {{y_i} - {{\mathop y\limits^ \wedge }_i}} \right)}^2}} } $

    • 本文在R语言平台上进行ARIMA建模,图3为2017年1月至2018年12月的 $P{M_{2.5}}$ 浓度变化图,由图可以看出来原始的数据时间序列不符合零均值同方差的特征,考虑到北京属于北方城市可以分为供暖期和非供暖期,供暖期的 $P{M_{2.5}}$ 浓度要高一点,从图中也可以看出2017年以及2018年年初的 $P{M_{2.5}}$ 要比平时高一些,具有一定的趋势,因此可以初步判断出它是非平稳序列. 故对原始数据做一阶差分处理如图4所示,从图中可以看出差分后的序列不具有季节性,其单位根检测结果如表1所示,得出结果一阶差分后的 $P{M_{2.5}}$ 时间序列为平稳的. 一阶差分后的序列的自相关(ACF)图如图5所示,偏自相关(PACF)图如图6所示,可以清晰的看出PACF在lag=1快速衰减进入置信区间,ACF在lag=3快速衰减入置信区间,且看的出来自相关系数与偏自相关系数均显示出不截尾的性质,这里模型定阶为p=1,d=1,q=3,建立ARIMA(1,1,3)模型. 采用ARIMA(1,1,3)模型进行预测,预测的二十天数据如表2所示,对残差白噪声检验结果如表1所示 $p > 0.05$,可认为残差为随机白噪声序列,所建模型有效.

      ADF检验统计量ljung-Box统计量
      P值延迟阶数P值
      14.4370.0180.0901620.764

      表 1  ARIMA(1,1,3)模型统计量

      Table 1.  Model statistics of ARIMA(1,1,3)

      日期实际值ARMA残差IPSO双核SVM残差预测组合预测
      2018-12-07 33.875 28.174
      2018-12-08 34 38.227
      2018-12-09 78.565 72.643
      2018-12-10 79.292 75.334
      2018-12-11 60.125 64.361
      2018-12-12 58.391 49.743 8.648 1.073 50.816
      2018-12-13 43.625 46.324 −2.699 −5.484 40.109
      2018-12-14 70.254 62.875 7.379 4.838 67.713
      2018-12-15 119.583 103.376 16.207 −1.592 101.784
      2018-12-16 125.125 107.671 17.454 −2.78 104.891
      2018-12-17 45.364 40.567 4.797 1.618 42.185
      2018-12-18 57.417 51.371 6.046 1.912 53.283
      2018-12-19 62.458 51.452 11.006 2.689 54.141
      2018-12-20 90.39 83.872 6.518 −2.303 81.569
      2018-12-21 81.947 76.644 5.303 −2.726 73.918
      2018-12-22 48.625 60.034 −11.409 −1.698 58.336
      2018-12-23 40.696 51.681 −10.985 −2.41 49.271
      2018-12-24 30.254 37.567 −7.313 −1.094 36.473
      2018-12-25 29.667 32.577 −2.91 −1.597 30.98
      2018-12-26 57.333 64.625 −7.292 1.715 66.31

      表 2  $P{M_{2.5}}$($\mu g \cdot {m^{ - 3}}$)浓度实际值与预测值

      Table 2.  $P{M_{2.5}}$ ($\mu g \cdot {m^{ - 3}}$) concentration actual value and predicted value

      图  3  2017年1月至2018年12月 $P{M_{2.5}}$ 浓度时序图

      Figure 3.  Sequence diagram of $P{M_{2.5}}$ concentration from January 2017 to December 2018

      图  4  2017年1月至2018年12月 $P{M_{2.5}}$ 浓度一阶差分时序图

      Figure 4.  First-order different sequence diagram of $P{M_{2.5}}$ concentration from January 2017 to December 2018

      图  5  一阶差分序列自相关系数(ACF)图

      Figure 5.  Autocorrelation coefficient (ACF) of first-order first-order difference sequence

      图  6  一阶差分序列偏自相关系数(PACF)图

      Figure 6.  Partial autocorrelation coefficient (PACF) of the different sequence

    • 计算 $P{M_{2.5}}$ 浓度的真实值与ARIMA预测结果的残差序列 $\left\{ {{e_t}} \right\}$表2所示. 对序列 $\left\{ {{e_t}} \right\}$ 进行SVM建模,SVM的输入节点取为5,实验中初始化参数如下:${c_1} = 1.5, {c_2} = 1.7,\alpha = 0.4$,最大迭代次数 ${T_{\max }} = 300$,种群规模 $m = 20$$w \in \left[ {0.4,0.95} \right]$${V_{\max }} = 50$$C \in \left[ {1,100} \right]$$\varepsilon \in \left[ {0.001,10} \right]$$\lambda \in \left[ {0.50,0.99} \right]$$\sigma \in \left( {0,\left. {10} \right]} \right.$. 在训练样本下,结合改进的PSO算法可得到 $C = 23.24$$\varepsilon = 0.250$$\lambda = 0.623$$\sigma = 0.847$,模型的参数确定之后,使用模型对残差进行预测,预测结果于表2所示,由于本文的输入节点选为5即以5个残差数据作为输入去预测下一个残差,表2中呈现了20天的 $P{M_{2.5}}$ 浓度数据,其中后15天为预测结果数据,从表2可以看出利用组合模型去预测其结果相较于单一ARIMA模型,预测误差大幅度减小.

    • 本文还构建了IPSO单核SVM模型、普通PSO(normal PSO,NPSO)双核SVM模型,NPSO单核SVM模型,使各个模型同时对ARIMA的预测结果残差进行预测,为了控制变量,同样地也选取SVM的输入节点为5,其性能如表3所示.

      预测方法均方误差($\mu g \cdot {m^{ - 3}}$)迭代次数$C,\varepsilon ,\lambda ,\sigma /C,\varepsilon ,\sigma $
      IPSO双核2.4833123.24,0250,
      0.623,0.847
      IPSO单核3.6137522.56,0.286,0.741
      NPSO双核3.8440427.69,0.301,0.619,0.833
      NPSO单核4.0442129.32,0.297,0.819

      表 3  不同优化方法的性能比较

      Table 3.  Performance comparison of different optimization methods

      表3可以看出,本文提出的基于IPSO双核的SVM模型具有最好的预测精度以及最高的预测效率(迭代次数最小). 进一步地,基于IPSO双核SVM模型较IPSO单核模型均方根误差降低了0.952 μg·m−3,NPSO双核组合模型较NPSO单核模型均方根误差降低了0.203 μg·m−3,证明了混合核函数SVM模型具有更好的寻优精度;针对粒子群算法的问题,本文提出了改进粒子群算法,由表3可知,IPSO双核和单核SVM模型相较于NPSO双核和单核模型均方根误差分别降低了1.178 μg·m−3和0.429 μg·m−3,同时迭代次数分别降低了73次和46次,证明了本文所提出的改进粒子群算法相较于基本的粒子群算法具有更好的寻优精度以及更高效的迭代速度.

    • 把基于不同优化方法的SVM模型得到的非线性残差预测值与ARIMA线性预测值相加即为基于不同优化方式的各个组合模型的预测结果,各个组合模型的预测值与实际值的对比如图7所示. 基于IPSO双核组合模型与ARIMA单个模型预测对比图如图8所示,性能比较如表4所示.

      预测法RMSEMAPE
      ARIMA 9.385 13.9
      IPSO混合核组合模型 2.665 4.22

      表 4  单一模型与组合模型的性能比较

      Table 4.  Performance comparison between single model and combined model

      图  7  基于不同优化方法的组合模型 $P{M_{2.5}}$ 浓度预测对比图

      Figure 7.  Comparison of $P{M_{2.5}}$ concentration prediction of combined models based on different optimization methods

      图  8  IPSO双核组合模型与ARIMA模型 $P{M_{2.5}}$ 浓度预测对比图

      Figure 8.  Comparison of $P{M_{2.5}}$ concentration prediction between IPSO dual-core combined model and ARIMA model

      图8以及表4可以看出单一的ARIMA模型只能捕捉 $P{M_{2.5}}$ 浓度时间序列的线性部分信息,无法全面的刻画其变化规律,因此在预测结果上自然出现了较大的偏差,而组合模型弥补了单一模型的缺点通过加入SVM模型去捕捉单一ARIMA模型所遗漏的非线性信息,使得组合模型的预测精度提高,较单一ARIMA模型均方根误差降低了6.72 μg·m−3,说明组合模型能够充分把握原始 $P{M_{2.5}}$ 浓度时间序列的信息,做出更精确的预测,避免了单一模型的局限性. 由图8可以看出本文所提出的IPSO双核优化的组合模型相较于其他优化方法的组合模型和实际值有着更好的逼近度,和上一节的结论相互验证.

    • 本文以北京某站点的 $P{M_{2.5}}$ 浓度数据为基础,建立了ARIMA-SVM组合预测模型,并提出了一种改进粒子群和SVM混合核函数的组合模型优化方法,并通过实验验证,总结如下:

      利用ARIMA模型捕捉 $P{M_{2.5}}$ 浓度时间序列的线性信息,随后利用SVM模型捕捉序列的非线性信息从而构建ARIMA-SVM组合预测模型,考虑到SVM模型的预测精度与其本身的参数以及核函数选取有关,提出了一种改进的粒子群算法来寻找最优参数以及采用混合核函数来替代单一核函数的方法来提高组合模型的寻优精度,通过对十五天 $P{M_{2.5}}$ 浓度的预测,验证了本文提出的改进的组合模型的优越性.

      由实验结果可以清晰的看出单用ARIMA模型去预测其结果误差较大,本文提出的组合模型的核心思想就是采用改进过的SVM模型对ARIMA模型的误差进行预测分析达到降低误差的目的. 若能降低ARIMA模型的预测误差,那相应的组合模型的误差会进一步降低,未来考虑和遥感技术相结合,以 $P{M_{2.5}}$ 浓度为依据对北京市进行空间上的划分,针对每个区域建立不同的ARIMA模型以达到降低误差的目的.

参考文献 (15)

目录

    /

    返回文章
    返回