第 1 章 绪论
1.1 研究背景和意义
1.1.1 研究背景
近年来,伴随着计算机和互联网的高速发展,大量结构化和非结构化的数据[1]正在源源不断的产生。例如全国交通道路口的各个摄像头,每一秒输出的视频数据流、股票市场每时刻的股票价格数据和交易记录数据流、气象领域时刻采集的气象数据等。这些结构或者非结构化的数据往往具有高速到达、持续时间长、变化速度快、高纬度[2]等特点,这些源源不断到达的数据统称为流数据[3-4]。流数据在时间上具有明显的时间先后顺序,并且快速到达,必须对其进行快速处理,如何保证对每一个数据点的实时挖掘分析成为流数据挖掘的研究热点和难点。雷电作为气象领域当中最具危害性灾害之一,对人类的生产生活构成严重威胁。以江西省为例,每年平均落雷17万至20万个,每年发生雷电事故180至200起,每年因为雷电而造成的损失巨大。据文献[5-6]不完全统计,在雷电高发季节,每日12~21时是雷电发生频率最高的时段,雷电发生在这一时段的次数大约占总雷电次数的79.4%,2005年-2013年的8年中,江西共发生 2808 次雷电灾害,直接或间接造成的经济损失高达 21697 万元。面对如此严峻的雷电灾害,如何有效预防和提高雷电预报准确率成为雷电预报研究的热点。时序数据是指时间序列数据。时间序列数据是同一统一指标按时间顺序记录的数据列。在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以时点数。时间序列分析的目的是通过找出样本内时间序列的统计特性和发展规律性,构建时间序列模型,进行样本外预测,而雷电数据也具有明显的时间先后顺序,符合时序数据定义,有时序数据的特征,是时序数据。
.........
1.2 国内外研究现状
本文主要对基于集成学习策略和流数据挖掘思想的雷电预报进行研究,因此本节从集成学习、流数据挖掘和雷电预报研究三个方面进行国内外研究综述。
1.2.1 集成学习综述
在经典机器学习当中,集成学习作为提升算法性能的常用策略,被认为是一种新的机器学习范式方法,它通过使用多个分类器(每个分类器可以看做一个单独的机器学习算法)来协同解决同一个问题,其可以高效的提升分类器系统在待预测分类样本上的泛化能力。对集成学习最开始的研究是在计算机视觉方面的应用,早从上世纪 90 年代中期起,研究集成学习的学者们为了建立一个具有较好分类效果和泛化能力强的算法,不断研究探索在算法性能等各方面具有较好分类性能算法。最近几年,与集成学习有关的理论和工程应用不断涌现,并且许多研究已经表明,集成学习已经成为当前经典机器学习范畴当中的重要热门方向,极大推动和扩张了机器学习领域范围和发展。T.G.Dietterich 曾经把集成学习称为经典机器学习当中四大重要热点领域之首[7]。目前,基于集成学习的研究主要集中在手写数字字体识别[8]、人脸检测[9]及医学分析[10]等。集成学习有时候也看做是一种提升方法,提升方法作为一种提升最终分类器分类效果的手段方法。该方法当中常规思想为:将许多个分类器集成在一起进行预测,因为单个分类器对样本集的泛化能力可能不是很强,如果将若干个基分类器组合成一个分类器,则新分类器对未知标签样本数据的分类能力将会极大提高。基于此,集成学习方法通过将多个弱分类器组合起来构成一个由多基分类器组成的新分类器,新组成的最终分类器的分类结果由若干个基础分类器各自的预测结果进行投票得到。如图 1.1 所示为集成学习基本流程,其包含多个输入1 2 i( N ,N N),其中 N 为多个(相同或者不同)基分类器,多个基分类器的预测经过汇总后得到最终分类结果,由于最终的分类输出集成了各个基分类器的结果,从而使得最终分类器在实际预测时具有较好地性能。
........
第 2 章 相关理论简介
2.1 机器学习分类算法
近几年来,随着海量数据的不断涌现和非结构化数据的不断产生,基于分布式处理框架的大数据分析和挖掘平台层出不穷。基于分布式数据模式处理的背景,各类机器学习算法的研究与应用成为热点,从无人驾驶汽车到 Google 的阿尔法狗围棋人机大战,到处彰显着机器学习的身影。在未来相当长的一段时间内,机器学习仍将是人们关注的热点,从传统的分类任务将逐渐转移到智能,使得计算机更加智能地与人类交互。目前,对于机器学习[57],主要是从海量的数据中寻找出一种能够代表所有数据本身的潜在知识匹配模式,这种模式通常称为模型。最终应用经过大量数据样本训练出来的模型来对后面新到达的不知分类类别的样本做类别判断,从而达到预测功能。就机器学习算法本身而言,其包含许多经典数据挖掘算法[58],这些算法具有不同的使用场景的特性以及优缺点,能够针对不同类型数据集特点而选择合适的挖掘算法进行分类处理,常见机器学习算法中,有经典的决策树、支持向量机(SVM)、神经网络(ANN)等。
........
2.2 时间序列数据挖掘
传统数据挖掘算法的挖掘对象中存在一种特殊的数据,这些数据与数据间有着严格的时间先后顺序,这类数据被称为时间序列数据,对这类数据的分析挖掘称为时间序列数据挖掘(time series data mining)。时间序列数据被认为是普遍[68]的,股票数据、交通流量数据、雷电数据、用户用电量数据等等都可以视为时间序列数据,因此,从时间序列数据中挖掘出具有潜在的知识或模式有着重要意义。经典时间序列数据挖掘主要集中在时间序列的分类和聚类[69]、时间序列的相似性搜索[70]、模式发现和时间序列预测[71-72]等,不同应用场景使用的挖掘模式不同。对时间序列进行聚类时,通常需要用户指定聚类的时间长度和模式长度,聚类时先将最初具有时间序列特性分布的数据样本依次按照时间长度分成若干个长度相等或不相等的多个子集,最后对划分好的子集应用不同的距离度量方式聚类,以便得到时间序列数据下的潜在模式。时间序列聚类中常用的算法有基于模型[73]、基于分割[74]、基于特征[75-76]和基于距离(相似性)[77]的聚类分析,时间序列中的序列相似性的搜索方面,经常使用欧氏距离作为度量相似性的方法,欧氏距离可以对确定的数据向量进行衡量,但时间序列数据是不断变化的,随着时间的变化其数据点也在发生变化,不能对高维空间数据点进行有效处理。在时间序列的众多挖掘中,基于模型的数据序列聚类越来越引起各位学者的重视,例如,基于 HMM 的时间序列聚类[78]等,时间序列当中聚类技术的研究和发展已经取得了很好的成果。而时间序列中某一特定子序列的相似性搜索是指通过用户对原始序列的不同划分,根据用户输入查找特定子序列,在时序数据当中查询和待查找子序列具有最高相似度的时序数据。相似性搜索任务中,相似性度量包含 euclidean 距离[79-81]、非 euclidean 距离[82]和 DTW[83]等。时间序列预测是时序数据分析中的关注热点,时序预测主要是根据历史数据的变化规律,通过距离、相似性测算等方法对其进行特征挖掘,然后对当前数据进行预测,时序数据预测模型主要有自回归模型和移动平均模型等。
.......
第 3 章 基于流数据挖掘的雷电数据模型............... 20
3.1 雷电数据分析.......... 20
3.1.1 数据来源....... 20
3.1.2 数据分布....... 20
3.2 基本定义...... 22
3.3 雷电数据模型.......... 24
3.3.1 雷电数据矩阵转换............... 25
3.3.2 多维时序雷电数据建模....... 27
3.4 本章小结...... 29
第 4 章 基于集成学习策略的雷电预报....... 30
4.1 基于多机器学习竞争的雷电预报框架...... 30
4.2 雷电数据指标选取.............. 32
4.3 核心算法模块.......... 37
4.4 本章小结...... 44
第 5 章 雷电预报实现........... 45
5.1 实验环境...... 45
5.2 实验数据...... 46
5.3 实验设置...... 47
5.4 实验结果与分析...... 47
5.5 本章小结...... 52
第 5 章 雷电预报实现
本章在前面几章的基础上对基于多机器学习竞争的雷电预报框架进行实现,从而对框架进行有效性和实用性验证。首先对实验环境和实验数据等简单介绍,然后通过实验从不同角度对本文提出的雷电预报框架分析验证。
5.1 实验环境
仿真实验中需要用到大量的计算和模拟,而 MATLAB 具有强大的矩阵运算能力,其提供了良好的可视化界面,方便对其操作,支持用户编写的复杂程序,内置的计算算法丰富,在数据挖掘领域使用较多。Clementine 是一款专门做数据挖掘的软件,其通过对各种不同类型数据的处理,以不同方式提供标准的数据挖掘流程和最广泛的数据挖掘技术,其内置了丰富挖掘算法,包含常用的分类、回归等算法,此外,还集成数据的缺失值处理、抽样、可视化等数据预处理方法。MySQL 是一款优秀的数据存储工具,在实际仿真实验中使用较多,本次实验的雷电数据都存放在 MySQL 中,一条记录对应一条雷电数据,一个字段对应一个雷电数据属性。本次实验数据通过对其按需提取必要的部分区域数据外,将