李浩然 胡毓强 张乐莹 刘光远
摘要 本文以机器学习为基础,研究了机器学习中最为经典的一种算法SVM(Support vector machine)支持向量机算法,并通过该算法对雷达数据进行了拟合和预测。
【关键词】机器学习 支持向量机 核函数 南极极盖电势 超级双重极光雷达网络
1 SVM与SuperDARN雷达数据概述
1.1 SVM基本原理
SVM最基本的应用为处理分类问题,分类问题分为线性分类和非线形分类两种。本文中讨论的问题为线性不可分的情况,我们无法通过一个线性分类器来实现将两种数据分开,所以在处理文中的问题时,通常要引入核函数来处理这些问题。常见的核函数有:多项式核函数、线性核函数和高斯核函数。
1.2 SuperDARN雷达及其数据
本文所用到的数据为2008年和2009年使用SuperDARN雷达探测到的数据,数据保存在txt类型文件中。我们分别使用雷达数据文件中的磁场Z分量、雷达回波多普勒速度、电子密度、电磁指数三分量和南极极盖电势数据作为本次仿真分析的数据。
2 SVM的仿真过程及雷达数据分析结果
2.1 SVM仿真过程
2.1.1 仿真流程
本文选取了雷达探测的磁场Z分量、雷达回波多普勒速度、电子密度、电磁指数三分量作为训练集来训练模型预测南极极盖电势数据。本文的整个设计仿真流程如图1所示。
2.1.2 SVM参数选取
在进行SVM仿真拟合数据运算时,最为重要的便是核函数的确定和算法类型的选择。本文选择了C-SVC这一经典SVM类型。而在选择核函数的问题上,本文采取了k交叉验证法来选取最适合的核函数。k交叉验证法,是将训练数据集分成k份相等的子集,每次將其中k-1份数据作为训练数据,同时将另外一份数据作为测试数据,重复k次之后,根据k次迭代后得到的MSE平均值来估计期望泛化误差最后选择出一组最优的参数。通过该方法,同时由于本文涉及的样本参数远多于特征数,最终本文选择高斯核函数(RBF)作为SVM模型的核函数。
2.2 仿真结果
2.2.1 生成预测数据
通过本文所设计MATLAB程序,分别通过支持向量机算法预测出了2008年和2009年的南极极盖电势数据。
2008年的实测的电势数据主要介于5mV~50mV,在第100天到110天之间以及第300到第305天之间由于雷达维修及维护该时间段内没有测量数据,所以数据呈现空白。通过SVM算法预测的CPCP数据,其变化主要位于5mV~35mV之间,与实测数据相比,预测数据上下波动相对较小。
2009年的实测的电势数据主要介于5mV~35mV,但其在第350天左右达到了全年最高的50mV,2009年全年雷达运行良好没有出现类似于08年的空白数据。通过SVM算法预测的CPCP数据,其变化主要位于5mV~35mV之间,其在第170天左右达到的最大值为35mV左右。
可明显分析出,预测数据与实测数据基本吻合,但有一小部分预测数据存在较大误差,总体而言。支持向量机拟合出的模型良好的预测出了南极极盖电势数据。
2.2.2 误差分析
2008年和2009年预测出的南极极盖雷达电势数据与当年的实测数据的绝对误差范围均在在-10mV~15mV之间,在第100天的前后都由于雷达维修及维护该时间点没有测量数据,所以数据呈现空白。08和09两年的预测数据在第50-第150天、第150天-第240天这两个区间内均产生了较大的误差,故应具体分析和处理该段雷达的数据信息来判断影响电势预测准确与否的因素。
故综合上文所述,本文认为当磁场Z分量处于不同范围之内时,电子密度和雷达回波多普勒速度会对预测结果产生不同的影响,所以在使用SVM算法预测极盖电势数据时,应先提前对训练集数据进行分析然后再进行拟合求解模型,这样才能够将误差降到最小,预测出的结果更为合理。
为了分析出导致误差产生的原因,本文通过Matlab平台的corroef函数分别求出了2008年和2009年7种训练集参数与预测结果的相关系数并求出了平均结果。结果表示,磁场Z分量对预测结果的相关系数为0.2098,雷达多普勒回波速度对预测结果的相关系数为0.0601,电子密度对预测结果的相关系数为0.0198,地磁指数三分量对预测结果的相关系数分别为0.1360、0.0089、0.0596。然而由于本文的仿真数据属于大样本数据类型,所以在分析相关性时需要考虑到样本数量因素的影响。通过相关系数可以直观的分析出,使用支持向量机模型对南极极盖电势数据进行预测时,磁场Z分量与预测结果的相关性最大,该参数的变化将会很大程度上影响预测的结果。
综上所述,由于本次仿真过程样本数量很大,不能完全忽略其他参数的影响。所以本文只能够确认磁场Z分量对于支持向量机模型预测南极极盖雷达电势数据存在很大的相关性,故在进行预测分析时,应着重考虑磁场Z分量对预测过程的影响。
参考文献
[1]涂同珩.基于自动机器学习的雷达信号识别研究[D].西南交通大学,2018.