Oceanographic Research and Observation

Rule set and multilayer perceptron based quality control method for Argo temperature data*

  • QI Huandong , 1, 2 ,
  • ZHU Cheng 2 ,
  • LI Xuchun 2 ,
  • JING Xindi 2 ,
  • SONG Derui , 2, 3
Expand
  • 1. College of Information Technology (Shanghai Ocean University), Shanghai 201306, China
  • 2. National Marine Environmental Monitoring Center, Dalian 116023, China
  • 3. School of Geographical Sciences (Liaoning Normal University), Dalian 116029, China
SONG Derui. email:

Received date: 2023-11-21

  Revised date: 2024-01-08

  Online published: 2024-01-15

Supported by

National Key Research and Development Program of China(2021YFF0704000)

National Key Research and Development Program of China(2022YFC3106100)

Abstract

The ocean temperature data plays a crucial role in global ocean observation and climate research. Quality control is essential to ensure the reliability of these data. However, the current recall rate of anomalous data in large datasets is unsatisfactory. This paper proposes a quality control method based on a rule set and multilayer perceptron (RS-MLP), using Argo temperature data. Initially, thirteen machine learning models are compared and analyzed to select the optimal model. Subsequently, a rule set consisting of six rule-based quality control check modules is designed. Finally, the RS-MLP method is constructed by integrating the rule set with the optimal machine learning model, and its performance is evaluated using Argo data from the South China Sea region. The results show that the RS-MLP achieves good performance with true positive rate (TPR), true negative rate (TNR), and area under the receiver operating characteristic (ROC) curve (AUC) reaching 94%, 96%, and 95% respectively in a test set of 351746 temperature data points. The recall rate of anomalous data at different depth levels is stable, demonstrating excellent quality control performance.

Cite this article

QI Huandong , ZHU Cheng , LI Xuchun , JING Xindi , SONG Derui . Rule set and multilayer perceptron based quality control method for Argo temperature data*[J]. Journal of Tropical Oceanography, 2024 , 43(5) : 190 -202 . DOI: 10.11978/2023172

海洋是地球生态系统的重要组成部分, 研究海洋及其环境变化对人类社会发展具有重要战略意义。近年来, 在建设海洋强国、智慧海洋的背景下, 海洋环境资料受到了广泛关注(刘玉龙 等, 2021)。其中, 海洋温度数据是最基本且最重要的观测资料之一(张桐, 2018)。国际Argo计划能够提供丰富的海洋温度数据, 已经成为基础研究和业务预报的主要数据来源之一, 对我国气候天气、灾害预报与防治、海洋交通等产生重要影响(Yu et al, 2020; 张雪薇 等, 2022; Liu et al, 2023)。然而, 许多外界因素如传感器故障、海洋环境影响、元数据传输错误、仪器误差等都可能使Argo温度数据出现质量问题, 导致异常数据的产生(谭哲韬 等, 2022)。因此, 有必要研究质量控制方法来识别异常数据(Udaya Bhaskar et al, 2012), 提高数据质量, 对于确保科学研究成果的有效性具有重要的意义(许自舟 等, 2009)。
海洋温度数据质量控制最直接的方式是人工核查, 但费时费力且效率低下, 由于海洋观测数据的爆炸式增长, 该方式已经难以满足实际应用需求。随着高性能计算机的广泛普及, 自动化质量控制方法(automatic quality control, AutoQC)逐渐成为质量控制的主流。AutoQC通常可以分为基于规则和基于机器学习的两类方法。基于规则的AutoQC方法包含各种数据检查模块, 例如范围检查、尖峰检查、气候态检查等(Cummings, 2011), 国内外研究机构如中国科学院(Tan et al, 2023)、英国哈德莱气象中心(Good et al, 2013)等均建立了各自的一套规则检查流程。然而, 由于海洋温度异常数据的隐蔽性强, 跨纬度范围大, 基于规则的方法常常出现异常数据的漏检和错判情况(谭哲韬 等, 2022)。机器学习方法能够学习到数据的潜在模式, 在处理复杂的海洋温度数据的质量控制方面具有很大潜力。
目前, 国内外学者基于机器学习方法对Argo温度数据的质量控制已经做了一些尝试。基于质量控制的数据异常检测任务本质上可以转化为好数据和异常数据的分类任务, 因此, 目前已有的工作主要基于机器学习分类方法开展研究。已有方法包括凸包算法(Udaya Bhaskar et al, 2017)、K均值聚类(蒋华 等, 2019)、高斯混合模型(Zhang et al, 2023)、条件随机场(Ono et al, 2015; Kamikawaji et al, 2016)等方法。针对单个剖面数据文件中的异常, Udaya Bhaskar等(2017)提出一种通过构建气候凸包的方法识别Argo温度异常数据。蒋华等(2019)通过改进K均值聚类算法检测Argo温度数据中的异常数据, 所提出的方法在小样本数据集上可以有效检出异常数据。然而, 以上方法只对小数据集有效, 并未拓展到大数据集上。Kamikawaji等(2016)利用决策树自动确定条件随机场的特征变量组合以及适当阈值, 从而为北太平洋的Argo温度数据分配质量标签。针对南海的Argo数据集, Zhang等(2023)通过使用高斯混合模型将Argo温度数据聚类分组识别异常数据, 可以识别出70%以上存在异常数据的剖面。综上所述, 当前的基于机器学习的AutoQC方法研究尚处于起步阶段(谭哲韬 等, 2022), 多采用无监督的分类方法, 在大范围的数据集上的异常数据召回率尚不理想, 可用性并不强。
实际上, 基于规则的方法与机器学习模型各具优势。基于规则的方法通过明确的规则来检查物理量是否合理, 在检测具有明显异常的数据时具有高效和稳定的优点, 但难以发现潜在的异常数据。相比之下, 机器学习模型能够从数据中自动学习知识, 在处理难以定义的复杂异常时表现出独特的优势, 但对于检测明显的异常数据时并不具有鲁棒性。因此, 本文提出一种新的结合机器学习与规则的Argo温度数据质量控制方法, 考虑充分发挥基于规则的方法与基于机器学习方法的互补性优势, 从而提高Argo温度数据的质量控制水平。通过梳理文献发现, 当前的前沿研究主要关注于使用单一的机器学习模型进行质量控制, 将其作为基于规则的方法的替代, 而将规则和机器学习方法相结合的相关研究较少。
为此, 本文首先采用13种机器学习模型, 通过多种评估指标对它们的质量控制性能进行详细比较分析, 从中筛选出性能最优的机器学习模型。然后, 设计了一个包含6种规则检查模块的规则集。在此基础上, 结合规则集与最优的机器学习模型, 构建了一种基于规则集和多层感知机(rule set and multilayer perceptron, RS-MLP)的Argo温度数据质量控制方法, 并以南海的Argo温度剖面数据为例来验证方法性能。

1 材料与方法

1.1 数据

本文使用的研究数据来自中国Argo实时资料中心的全球海洋Argo散点数据集(V3.0)(刘增宏 等, 2021), 此数据集是包含质量标签的温盐深数据集。因此, 可以作为机器学习方法中的训练集和测试集使用。选取(105°—125°E, 5°—25°N)海域为研究区域, 研究区域的主要覆盖范围为中国南海, 跨越热带和亚热带, 相较于渤海、黄海、东海的空间覆盖范围更广, 水深更深, 适合作为海洋温度空间变化和垂直梯度变化的研究区域。同时, 该区域受到强烈的海洋环流系统(王东晓 等, 2022)的影响而易出现复杂的温度异常模式, 作为温度数据的质量控制研究区域更加理想。研究区域Argo浮标共320个, 主要为HM2000型和APEX型剖面浮标, 浮标采集数据的周期可定制, 一般是1~10d, 其中HM2000型浮标生命周期约2~3a (沈锐 等, 2019), APEX型剖面浮标生命周期约为5a (卢少磊 等, 2016), 2002—2023年投放点位分布如图1所示。使用2002年12月至2023年3月的15387个Argo温度剖面文件中的1758730条数据样本作为实验数据。
图1 Argo浮标投放点位历史分布

该图基于国家地理信息公共服务平台审图号为GS(2023)336的天地图在线矢量底图制作

Fig. 1 Historical distribution of Argo float placement positions

1.2 方法

1.2.1 技术路线

本文首先对Argo原始数据进行特征变量筛选、数据标准化等操作, 形成实验数据集。随后进行数据集分割, 将实验数据集按比例划分为训练集和测试集, 之后对训练集进行过采样处理。机器学习模型基于训练集的数据和质量标签训练模型, 学习输入与输出之间的映射关系, 从而获得判别异常数据的能力。在训练完成后, 使用测试集对模型进行测试, 之后利用评估指标评估模型的质量控制性能, 筛选出最优机器学习模型。接着, 根据Argo温度数据中存在的异常情况设计规则集, 与筛选出的最优机器学习模型进行集成, 构建出RS-MLP方法。在RS-MLP方法中, 温度数据首先经过规则集得到粗粒度的识别结果, 然后将该结果导入到最优机器学习模型中得到细粒度的识别结果。最后, 利用评估指标评估RS-MLP质量控制性能。本文方法技术路线如图2所示。
图2 技术路线图

Fig. 2 Technology roadmap

1.2.2 数据的预处理

数据的预处理有4个步骤:
1) 特征变量筛选
选择合适的输入特征是构建有效机器学习模型的关键(杨剑锋 等, 2019), 因此需要对Argo原始数据进行特征变量筛选。实验数据为6维, 包含时间、经度、纬度、压力、温度和质量标签。时间表示剖面观测的日期; 经度、纬度表示剖面观测的空间位置; 压力反映每条数据收集时的深度; 温度即收集到的温度值; 质量标签是科研人员为衡量数据质量打上的标签海洋温度在时间、经度、纬度、压力的4维空间中变化(Mieruch et al, 2021)。在时间维度上, 数据集中每一个剖面往往有数十条数据, 它们共享一个时间字段, 无法准确反映出每条数据的观测时间, 因此, 时间特征并不具有可分性。在空间维度上, 经度和纬度反映数据在平面上的位置属性, 压力反映数据在水下深度的特性, 这些特征对于温度来说至关重要。因此, 本文选择包含经度、纬度、压力、温度和质量标签的5维数据作为特征变量构建机器学习模型的输入。
2) 数据标准化
为了消除不同特征数据值相差太大对机器学习模型的负面影响, 在确定输入特征后, 对各特征进行数据标准化处理。数据标准化的表达式由式(1)给出:
${{x}^{*}}=\frac{x-\mu }{\sigma }$
式中: ${{x}^{*}}$表示标准化后的数据值, x表示原数据值, $\mu $为每列数据的均值, $\sigma $为每列数据的标准差。
3) 数据集分割
随后对标准化后的实验数据集进行分割。确定数据集分割比例对于确保模型能够提供准确的结果至关重要(Fosić et al, 2023)。如果训练集太小, 模型可能表现不佳, 而如果测试集太小, 则可能无法提供足够的信息来准确评估模型的性能。通过梳理已有文献(Dobbin et al, 2011; Raschka et al, 2019; Nguyen et al, 2021), 训练集和测试集的一般比例为7:3、8:2或9:1。本文根据Argo数据集的数据量, 确保测试集中存在一定量的异常数据来测试模型性能, 设置训练集与测试集的比例为8:2, 分别包含1406984和351746条数据。
4) 过采样
数据集中质量标签为好的数据共1738134条, 质量标签为异常的数据共20596条, 存在严重的数据不平衡问题。而正负样本数量差异很大时, 模型往往会倾向于预测数量较多的类别(好数据), 导致对少数类别(异常数据)的预测性能较差。为了减小数据集不平衡带给模型的负面影响, 本文采用合成少数类过采样技术(synthetic minority oversampling technique, SMOTE) (Han et al, 2015)对训练集进行过采样处理。SMOTE通过合成少数类数据来增加少数类的数据数量, 从而改善数据集的类别分布。SMOTE生成的合成样本是通过少数类数据和其近邻数据的线性组合得到的, 因此合成数据保留了原始数据的特征和数据分布, 不会引起信息损失(石洪波 等, 2019)。故经过SMOTE过采样处理后, 模型可以更好地学习到异常数据的特征和模式信息, 从而提高对异常数据的识别能力。值得注意的是, 只对训练集进行SMOTE过采样处理, 目的是更好地训练模型, 而用来测试模型性能的测试集保持原来的数据分布不变。

1.2.3 机器学习模型

本文共采用了13种机器学习模型, 包括2种无监督模型和11种有监督模型。有监督模型非常适合分类问题(Fosić et al, 2023), 通过文献检索, 采用11种广泛用于分类的有监督模型包括支持向量机(support vector machines, SVM)、决策树(decision tree, DT)、K最近邻(K-nearest neighbors, KNN)、随机森林(random forest, RF)、多层感知机(multilayer perceptron, MLP)、随机梯度下降(stochastic gradient descent, SGD)、高斯朴素贝叶斯(gaussian naive bayes, GNB)、极致梯度提升(extreme gradient boosting, XGB)、轻量级梯度提升机(light gradient boosting machine, LGB)、集成提升树(categorical boosting, CatBoost)和自然梯度提升(natural gradient boosting, NGB)。考虑测试模型的全面性, 另外采用2种无监督模型包括局部异常因子(local outlier factor, LOF)和孤立森林(isolation forest, IF)。所有机器学习模型基于Python语言在现有机器学习框架scikit-learn (Pedregosa et al, 2011)和keras (Gulli et al, 2017)上部署构建。

1.2.4 规则集

根据Argo温度数据中存在的6种异常情况: 特征值超出合理范围、压力值递减、温度翻转、密度翻转、温度值剧烈跳变、温度值偏离历史正常值, 设计6种规则检查模块。规则检查模块的阈值是在参照相关文献(Intergovernmental Oceanographic Commission, 2010; 刘增宏 等, 2021)设置的基础上, 进行实验验证、调整所设定。图3展示了各个检查模块的质量控制示意图。可以观察到所使用的检查模块依据明确的质量控制规则来判定存在明显异常的温度数据。
图3 质量控制检查示意图

a. 范围检查; b. 压力递增检查; c. 温度翻转检查; d. 密度翻转检查; e. 剖面尖峰检查; f. 气候态检查。图中红色线表示异常数据中异常量的变化, 蓝色线表示所构建的阈值。

Fig. 3 The schematic diagrams of the quality control checks.

(a) Range check; (b) increasing pressure check; (c) temperature inversion check; (d) density inversion check; (e) profile spike check; (f) climatology check. The red line in the figure indicates the change in the anomalous data, and the blue line indicates the constructed thresholds

1) 范围检查: 设定压力值不在-2.5~2200dbar范围内或温度不在-2.5~40℃范围内时, 将数据标记为异常。
2) 压力递增检查: 该检查旨在测试测量的深度是否单调增加(Ingleby et al, 2007), 检查发现相邻数据点之间的压力差为负值, 将相邻两条数据标记为异常。
3) 温度翻转检查: 如果相邻数据点之间的温度变化超过0.2℃, 则可认为存在温度翻转, 将相邻两条数据标记为异常。
4) 密度翻转检查: 海水存在分层现象(Pawlowicz, 2013), 故深海通常比浅海密度大。利用seawater工具包计算剖面的密度后, 如果观测数据中密度随着深度的增加而降低且差值大于0.03kg·m-3, 将该数据标记为异常。
5) 剖面尖峰检查: Argo浮标运行异常会导致剖面的相邻温度数据值出现较大突变, 如果相邻数据的温度差大于10℃, 将相邻两条数据标记为异常。
6) 气候态检查: 搜索当前数据附近的历史Argo数据, 计算相同深度上温度的均值和标准差, 如果当前数据温度距离均值超出10倍标准差时, 将其标记为异常。

1.2.5 RS-MLP方法

RS-MLP采用一种由粗到细的质量控制策略。首先利用所构建的规则集对Argo温度数据进行粗粒度质量控制, 识别出大部分的明显异常数据。然后, 基于粗粒度质量控制后的数据采用多层感知机(multilayer perceptron, MLP)识别复杂异常数据进行细粒度的质量控制。具体的, 在RS-MLP方法中, 规则方法的输入是Argo数据中的各特征变量值, 不同的规则使用不同的特征变量值进行计算与阈值对比, 判断是否满足所定规则, 据此为数据打上正常或异常质量标签, 输出即为新增的质量标签列。接着, 根据规则方法的输出, 将规则方法标记为正常的数据作为输入通过训练后的MLP模型进而输出新的质量标签。最后整合规则集与MLP所标记出的不同异常数据作为RS-MLP的质量控制结果。RS-MLP的流程图如图4所示。
图4 RS-MLP流程图

Fig. 4 The flow chart of RS-MLP

MLP是一种基于前馈神经网络的分类模型, 它由输入层、隐藏层和输出层组成。本文构建的MLP输入层包含4个神经元, 对应输入数据的4个特征变量, 用来接收原始特征数据, 并将其传递给隐藏层。隐藏层由2个全连接层构成, 第一个全连接层包含128个神经元, 第二个全连接层包含64个神经元, 每个神经元都将所接收的输入与其相应的权重相乘得到输出值x, 然后通过线性整流函数(rectified linear unit, ReLU)进行非线性转换, 用来学习数据的复杂特征。ReLU的表达式由式(2)给出:
$f(x)=\max (0,x)$
输出层包含2个神经元, 对于分类任务, 神经元利用Softmax激活函数将输出转换为2个类别的概率分布。Softmax的表达式由式(3)给出:
$\text{Softmax}(x)=\frac{{{\text{e}}^{{{x}_{i}}}}}{\sum\nolimits_{i}{{{\text{e}}^{{{x}_{i}}}}}}$
训练阶段, MLP通过学习权重参数来建立输入和输出之间的非线性映射关系, 训练的迭代次数为200, 学习率为0.001, 训练时间为1230s。用来训练的计算机中CPU是Intel i7-12700H, GPU是RTX 3070Ti Laptop gpu, 基带RAM为16GB。在预测阶段, MLP将数据点预测为概率大的类别。

2 结果与分析

2.1 评估指标

为了评估机器学习模型以及RS-MLP的质量控制性能, 采用真阳性率(true positive rate, TPR)、真阴性率(true negative rate, TNR)和接受者操作特性曲线(receiver operating characteristic curve, ROC)及其曲线下面积(area under curve, AUC)作为评估指标。
1) TPR表示被模型正确预测为好数据的样本数占所有实际好数据样本数的比例, 即好数据的召回率, 可以清晰反映模型识别好数据的能力。TPR的表达式由式(4)给出:
$\text{TPR}=\frac{{{N}_{\text{TP}}}}{{{N}_{\text{TP}}}+{{N}_{\text{FN}}}}$
式中: ${{N}_{\text{TP}}}$表示真正例(模型将好数据正确判断为好数据的数量), ${{N}_{\text{FN}}}$表示假反例(模型将好数据错误判断为异常数据的数量)。TPR的取值范围在0到1之间, 数值越高表示模型在识别好数据方面的性能越好。当TPR为1时, 意味着模型能够将所有真实的好数据都正确地判断为好数据; 当TPR为0时, 意味着模型无法正确地识别任何好数据。
2) TNR表示被模型正确预测为异常数据的样本数占所有实际异常数据样本数的比例, 即异常数据的召回率, 可以清晰反映模型识别异常数据的能力。TNR的表达式由式(5)给出:
$\text{TNR}=\frac{{{N}_{\text{TN}}}}{{{N}_{\text{TN}}}+{{N}_{\text{FP}}}}$
式中: ${{N}_{\text{TN}}}$表示真反例(模型将异常数据正确判断为异常数据的数量), ${{N}_{\text{FP}}}$表示假正例(模型将异常数据错误判断为好数据的数量)。TNR的取值范围在0到1之间, 数值越高表示模型在识别异常数据方面的性能越好。当TNR为1时, 意味着模型能够将所有真实的异常数据都正确地判断为异常数据; 当TNR为0时, 意味着模型无法正确地识别任何异常数据。
3) 针对不平衡数据集的评估问题, 采用ROC及其曲线下面积AUC来评估模型的分类性能, 该指标能够在不同类别样本分布不平衡的情况下仍然能够提供一个较为准确的评估(Fosić et al, 2023)。ROC曲线是以假阳性率(false positive rate, FPR)为横轴, TPR为纵轴绘制的曲线。FPR表示被错误预测为好数据的异常数据占所有实际异常数据样本数的比例。FPR的表达式由式(6)给出:
$\text{FPR}=\frac{{{N}_{\text{FP}}}}{{{N}_{\text{TN}}}+{{N}_{\text{FP}}}}=1-\text{TNR}$
ROC曲线能够展示模型在识别好数据和异常数据之间的平衡性能。ROC曲线靠近左上角, 表明分类模型能够实现较高的真阳性率和较低的假阳性率, 即模型具有较高的分类准确性, 而曲线靠近对角线则表示模型分类性能较差。同时对应AUC值的大小: 当ROC曲线越靠近左上角, AUC值越接近于1, 表示模型具有很好的分类能力; 当曲线接近对角线时, AUC值接近于0.5, 表示模型的分类能力较差, 甚至等同于随机猜测(Fawcett, 2006)。

2.2 机器学习模型实验

为了直观地观察机器学习模型的质量控制效果, 作机器学习模型的质量控制效果图如图5所示。与图5a测试集数据原分布对比来看, 从图5b图5c可以看出, 无监督模型LOF和IF识别出的异常数据少, 并且是零散分布的, 并没有识别出测试集中异常数据的分布模式。这可能由于测试集中异常数据占比较少, 缺乏足够的异常数据信息供无监督模型区分好数据和异常数据。而其他的有监督模型除了图5d SVM和图5i GNB外, 基本上可以识别出异常数据的分布模式, 这表明有监督模型能够从训练集中学习到异常数据的潜在分布信息。
图5 机器学习模型质量控制效果图

a. 测试集数据原分布; b. LOF预测结果; c. IF预测结果; d. SVM预测结果; e. DT预测结果; f. KNN预测结果; g. RF预测结果; h. SGD预测结果; i. GNB预测结果; j. XGB预测结果; k. LGB预测结果; l. CatBoost预测结果; m. NGB预测结果; n. MLP预测结果

Fig. 5 Quality control effectiveness of the machine learning models.

(a) Original distribution of test set data; (b) predicted results of LOF; (c) predicted results of IF; (d) predicted results of SVM; (e) predicted results of DT; (f) predicted results of KNN; (g) predicted results of RF; (h) predicted results of SGD; (i) predicted results of GNB; (j) predicted results of XGB; (k) predicted results of LGB; (l) predicted results of CatBoost; (m) predicted results of NGB; (n) predicted results of MLP

为了定量对比不同机器学习的质量控制性能, 计算所有机器学习模型的TPR、TNR如表1所示。首先可以观察到所有机器学习模型的TPR均在0.75以上, 这是由于测试集中好数据的占比要远高于异常数据, 因此当模型出现一定数据量的错判即将好数据判断为异常数据或者将异常数据判断为好数据时, 对TPR的影响较小, 故TPR值普遍较高。此外, 可以观察出MLP与SGD的TNR值高于其他模型, 这表示MLP与SGD识别异常数据的能力更强。但是SGD的TPR明显低于MLP以及其他多数模型, 这意味着SGD的高TNR是源于错判了较多好数据即将较多好数据视为了异常数据, 也就是说SGD对异常过于敏感。这可能是因为SGD分类器是基于线性模型的, 而Argo温度数据具有非线性的特点, SGD无法很好地区分异常边界。此外, 可以观察到无监督模型LOF和IF的TNR不足0.1, 这可能因为LOF与IF是在没有标签信息的情况下工作, 只依赖于测试集数据本身的统计特征。在数据不平衡的情况下缺乏足够的异常样本, 无监督模型可能无法准确地捕捉到异常数据。
表1 机器学习模型的评估指标结果

Tab. 1 Results of evaluation metrics for the machine learning models

模型名称 TPR TNR
LOF 0.94 0.05
IF 0.85 0.08
SVM 0.99 0.33
DT 0.79 0.64
KNN 0.96 0.60
RF 0.99 0.48
MLP 0.94 0.90
SGD 0.86 0.88
GNB 0.90 0.72
XGB 0.98 0.61
LGB 0.98 0.66
CatBoost 0.97 0.69
NGB 0.92 0.68
图6展示了所有机器学习模型的ROC曲线及其曲线下面积AUC。首先根据图6a可以明显看出2个无监督方法LOF与IF的曲线与对角线重合甚至略低于对角线, 图6b中AUC值低于0.5, 这反映了2个模型基本检测不出异常数据。而除SVM外的有监督模型的AUC值均达到0.7以上, 其中MLP在0.9以上, 具有较好的分类性能。因此, 结合TPR、TNR和ROC曲线以及AUC值来看, MLP的质量控制性能最强。这可能由于MLP作为一种神经网络方法, 每个神经元都可以应用非线性激活函数, 因此MLP可以学习和表示复杂的非线性关系。这使得MLP在处理具有复杂结构或非线性特征的数据时更加灵活, 能够更好地捕捉数据中的异常模式。
图6 机器学习模型ROC曲线(a)及AUC值(b)

Fig. 6 The ROC curves as (a) and the AUC values as (b) of the machine learning models

为了确保实验结果和所得结论的准确性, 采用5折分层交叉验证法计算评估指标值来验证机器学习模型的性能, 分层交叉验证法可以更好地评估模型性能的稳定性, 实验结果如表2所示。SGD的TPR相对最低, 表明错判好数据最多。MLP的TNR和AUC相对最高, 识别异常数据的能力和综合分类能力最强。总体上与之前实验结果对比来看, 评估指标值浮动较小, 所得结论基本相同。
表2 交叉验证法下机器学习模型的评估指标结果

Tab.2 Results of evaluation metrics for the machine learning models under the cross-validation approach

模型名称 TPR TNR AUC
LOF 0.94 0.09 0.52
IF 0.95 0.06 0.51
SVM 0.99 0.28 0.63
DT 0.99 0.59 0.79
KNN 0.98 0.64 0.81
RF 0.99 0.55 0.77
MLP 0.92 0.89 0.91
SGD 0.72 0.81 0.76
GNB 0.86 0.60 0.73
XGB 0.90 0.56 0.72
LGB 0.98 0.74 0.86
CatBoost 0.96 0.81 0.89
NGB 0.96 0.74 0.85

2.3 RS-MLP实验

为了测试RS-MLP的性能, 采用了2种目前较新的海洋数据质量控制算法作为对比。分别是多维特征概率(multidimensional feature probability, MFP)算法(Castelão, 2021)和高斯凸包(Gaussian Convex Hull, GCH)算法(Zhang et al, 2023)。为了直观地观察RS-MLP的质量控制效果, 作RS-MLP的质量控制效果图, 如图7所示。与图7a测试集数据原分布对比来看, 可以观察到图7c MLP和图7d MFP方法能够识别出整体的异常数据分布, 但是对于离散的异常数据识别效果较弱。这可能因为离散的异常数据分布与其他异常数据脱离, 具有各不相同的异常模式, 而MLP需要从一定量的相似异常数据中学习异常模式, MFP则需要从异常数据群体中进行特征分析, 因此对这离散异常数据识别效果较弱。由图7e可以看出GCH能够较好地识别出离散异常数据, 但是对整体的异常数据分布识别效果较弱。这可能因为凸包方法是基于创建围绕数据群体的最小凸多边形, 能够较好识别出数据群体外的异常数据, 但是对于和正常数据分布较近且分布集中的异常数据识别效果较弱。从图7f可以看出, RS-MLP识别出了绝大部分的离散异常数据, 并且在整体上识别出的异常数据分布与测试集异常数据原分布基本相同。这表明所构建的规则集充分弥补了MLP在识别Argo温度异常数据上的劣势。
图7 RS-MLP质量控制效果图

a. 测试集数据原分布; b. 规则集预测结果; c. MLP预测结果; d. MFP预测结果; e. GCH预测结果; f. RS-MLP预测结果

Fig. 7 Quality control effectiveness of RS-MLP.

(a) Original distribution of test set data; (b) predicted results of rule set; (c) predicted results of MLP; (d) predicted results of MFP; (e) predicted results of GCH; (f) predicted results of RS-MLP

利用测试集和评估指标对RS-MLP的质量控制性能定量评估, 结果如表3图8所示。根据表3, RS-MLP的TNR为0.96, 相较于MLP提升了6%, 代表RS-MLP可以识别更多的异常数据, 具有很好的识别性能。RS-MLP的TPR比MLP低了1%, 表明RS-MLP提升TNR的同时将部分好数据错判为异常数据。但是根据图8b, 其AUC值较MLP提高了3%, 表示RS-MLP的综合分类性能有较高提升, 也就是说RS-MLP错判的好数据数量相对于额外检出的异常数据数量是值得的。从规则集结果看, 其TPR达到了0.99, 表示规则集所识别到的异常数据几乎全部是实际的异常数据, 体现出规则集在识别明显异常方面的稳定性。与其他2种方法对比来看, RS-MLP的TNR、TPR和AUC值仍相对较高。表明RS-MLP的异常数据识别能力更强, 错检情况更少, 综合分类能力更强。综上所述, RS-MLP在TPR与TNR之间有很好的平衡能力, 综合质量控制性能最好。
表3 RS-MLP的评估指标结果

Tab. 3 Results of evaluation metrics for RS-MLP

模型名称 TPR TNR
规则集 0.99 0.11
MLP 0.94 0.90
MFP 0.77 0.92
GCH 0.80 0.70
RS-MLP 0.93 0.96
图8 RS-MLP的ROC曲线(a)及AUC值(b)

Fig. 8 The ROC curves as (a) and the AUC values as (b) of the RS-MLP

为确保实验结果和所得结论的准确性, 采用5折分层交叉验证法计算评估指标值来验证RS-MLP模型的性能, 实验结果如表4所示。从表4中可以看出RS-MLP的TNR和AUC达到了0.95和0.94, 相较于MLP分别提升了6%和3%, 同时TPR值也在0.9以上, 与之前实验结果基本相同。综上所述, RS-MLP的质量控制性能较为稳定。
表4 交叉验证法下RS-MLP的评估指标结果

Tab. 4 Results of evaluation metrics for RS-MLP under the cross-validation approach

模型名称 TPR TNR AUC
规则集 0.99 0.12 0.55
MLP 0.92 0.89 0.91
MFP 0.69 0.60 0.64
GCH 0.64 0.65 0.65
RS-MLP 0.92 0.95 0.94

2.4 不同深度质量控制性能实验

受海水温度结构复杂多变的影响(张雪薇 等, 2022), Argo温度数据在空间上具有不同的分布。数据集的异常数据散点密度图如图9所示, 可以观察到数据集中异常数据的分布在深度上分为3个层次: 0~250dbar、250~1250dbar和1250~2000dbar。其中0~250dbar和1250~2000dbar 2个层次的异常数据较少, 而250~1250dbar之间是异常数据的主要分布区域。
图9 异常数据散点分布密度

Fig. 9 Scattered distribution density of anomalous data

因此, 为了观察RS-MLP与有监督机器学习模型在不同深度层次上的质量控制性能, 对它们在3个深度层次上的评估指标结果作比较, 结果如图10所示。根据图10a可以观察到, 在1250~2000dbar上RS-MLP的TPR为0.72, 低于MLP和其他大多数模型, 表明RS-MLP的错判情况多出现在1250~2000dbar的数据上。这可能因为RS-MLP中的规则集对此深度层次上的异常数据较为敏感。但是在0~250dbar和250~1250dbar上, RS-MLP的TPR为0.94, 与其他模型相比处于较高水平。根据图10b可以观察到, 在0~250dbar上, 单一机器学习模型的TNR低于其他2个深度层次, 其中GNB模型的TNR甚至为0。说明机器学习模型在检测深度较低的异常数据时能力较弱。而RS-MLP在0~250dbar上的TNR达到0.88, 显著高于其他模型。并且在250~1250dbar和1250~2000dbar上, RS-MLP的TNR为0.98, 相较于MLP以及其他模型仍有较高提升。这说明RS-MLP识别异常数据的能力在各个深度层次上较为稳定, 均达到了很好的性能。根据图10c可以观察到, RS-MLP在0~250dbar和250~ 1250dbar上的AUC值达到了0.9和0.95, 高于其他所有模型, 特别是在0~250dbar上显著高于其他模型。说明RS-MLP在这2个深度层次上识别好数据和异常数据的综合能力相比于机器学习模型有很高提升。在1250~2000dbar上, RS-MLP的AUC值达到0.85, 与MLP持平。这说明虽然在这个深度层次上RS-MLP错判了部分好数据, 但是相比于其额外检出的异常数据是可以接受的, RS-MLP识别好数据和异常数据的综合能力并没有下降。
图10 机器学习模型在不同深度下的评估指标结果

a. 不同深度TPR结果; b. 不同深度TNR结果; c. 不同深度AUC结果

Fig. 10 Results of the evaluation metrics for the machine learning models at different depths.

(a) Results of the TPR at different depths; (b) results of the TNR at different depths; (c) results of the AUC at different depths

综上所述, RS-MLP具有稳定的质量控制性能, 能够很好地识别出不同深度层次上的异常数据, 特别是在0~250dbar上补充了机器学习模型异常数据召回率低的缺点, 在此深度层次上的质量控制性能提升最高。

3 结论与展望

本文基于2002年12月至2023年3月的南海Argo温度数据, 利用TPR、TNR和ROC曲线以及AUC值等评估指标评估13种机器学习模型对Argo温度数据的质量控制性能。在此基础上构建出基于规则集和多层感知机的Argo温度数据质量控制方法RS-MLP, 并通过相同评估指标评估RS-MLP的质量控制性能。研究结果表明RS-MLP具有优秀的质量控制性能, 在351746条测试数据上可以识别出96%以上的异常数据。具体结论如下:
1) MLP在构建的13种机器学习模型中具有最优的质量控制性能。11种有监督模型SVM、DT、KNN、RF、MLP、SGD、GNB、XGB、LGB、CatBoost和NGB的TNR、AUC值高于2种无监督模型LOF和IF。神经网络模型MLP的TPR、TNR和AUC的值均在0.9以上, 对比其他7种机器学习模型具有较好的质量控制性能。
2) RS-MLP有效集成了2种质量控制方法, 识别异常数据最全面, 具有优秀的质量控制性能。RS-MLP对异常数据的召回率TNR达到0.96, 相比于单一机器学习模型有明显提升, 同时TPR和AUC的值均在0.9以上, 能够有效识别出Argo温度数据中的异常情况。单一机器学习模型在0~250dbar上的质量控制性能较差, 而RS-MLP补充了机器学习模型的不足, 在0~250dbar、250~1250dbar和1250~2000dbar上的质量控制性能均较好。综合所有实验结果来看, RS-MLP具有优秀的质量控制性能。
本文提出的方法和得到的结论为进一步研究机器学习应用于海洋温度数据质量控制提供了新的思路。本文方法应用于温度的质量控制并取得了很好的性能, 下一步可考虑推广到其他要素如溶解氧、pH、营养盐等要素的质量控制。此外, 本文方法可能会出现将少量好数据错判为异常数据的情况, 因此, 在保证异常数据召回率的同时减少错判情况是未来的一个改进方向。
[1]
蒋华, 武尧, 王鑫, 等, 2019. 改进K均值聚类的海洋数据异常检测算法研究[J]. 计算机科学, 46(7): 211-216.

DOI

JIANG HUA, WU YAO, WANG XIN, et al, 2019. Study on ocean data anomaly detection algorithm based on improved K-means clustering[J]. Computer Science, 46(7): 211-216 (in Chinese with English abstract).

DOI

[2]
刘玉龙, 王国松, 侯敏, 等, 2021. 基于深度学习的海温观测数据质量控制应用研究[J]. 海洋通报, 40(3): 283-291.

LIU YULONG, WANG GUOSONG, HOU MIN, et al, 2021. Quality control of sea temperature observation data using deep learning neural networks[J]. Marine Science Bulletin, 40(3): 283-291 (in Chinese with English abstract).

[3]
刘增宏, 李兆钦, 卢少磊, 等, 2021. 全球海洋Argo温盐度剖面散点数据集[J]. 全球变化数据学报(中英文), 5(3): 312-321, 451-460.

LIU ZENGHONG, LI ZHAOQIN, LU SHAOLEI, et al, 2021. Scattered dataset of global ocean temperature and salinity profiles from the international Argo program[J]. Journal of Global Change Data & Discovery, 5(3): 312-321, 451-460 (in Chinese with English abstract).

[4]
卢少磊, 孙朝辉, 刘增宏, 等, 2016. COPEX和HM2000与APEX型剖面浮标比测试验及资料质量评价[J]. 海洋技术学报, 35(1): 84-92.

LU SHAOLEI, SUN CHAOHUI, LIU ZENGHONG, et al, 2016. Comparative testing and data quality evaluation for COPEX, HM2000 and APEX profiling buoys[J]. Journal of Ocean Technology, 35(1): 84-92 (in Chinese with English abstract).

[5]
沈锐, 王德亮, 刘增宏, 等, 2019. HM2000型剖面浮标的主要特征及其应用[J]. 数字海洋与水下攻防, 2(2): 20-27.

SHEN RUI, WANG DELIANG, LIU ZENGHONG, et al, 2019. Main characteristics and applications of HM2000 profile float[J]. Digital Ocean & Underwater Warfare, 2(2): 20-27 (in Chinese with English abstract).

[6]
石洪波, 陈雨文, 陈鑫, 2019. SMOTE过采样及其改进算法研究综述[J]. 智能系统学报, 14(6): 1073-1083.

SHI HONGBO, CHEN YUWEN, CHEN XIN, 2019. Summary of research on SMOTE oversampling and its improved algorithms[J]. CAAI Transactions on Intelligent Systems, 14(6): 1073-1083 (in Chinese with English abstract).

[7]
谭哲韬, 张斌, 吴晓芬, 等, 2022. 海洋观测数据质量控制技术研究现状及展望[J]. 中国科学: 地球科学, 52(3): 418-437.

TAN ZHETAO, ZHANG BIN, WU XIAOFEN, et al, 2022. Quality control for ocean observations: from present to future[J]. Science China Earth Sciences, 65(2): 215-233 (in Chinese with English abstract).

[8]
王东晓, 邱春华, 舒业强, 等, 2022. 南海环流多尺度动力过程演变特征与机制研究进展[J]. 海洋科学进展, 40(4): 605-623.

WANG DONGXIAO, QIU CHUNHUA, SHU YEQIANG, et al, 2022. Progress in the dynamic process and mechanisms of multi-scale currents in the South China Sea[J]. Advances in Marine Science, 40(4): 605-623 (in Chinese with English abstract).

[9]
许自舟, 宋德瑞, 赵辉, 等, 2009. 海洋环境监测数据质量计算机控制方法研究[J]. 海洋环境科学, 28(3): 320-323.

XU ZIZHOU, SONG DERUI, ZHAO HUI, et al, 2009. Technique study on data quality control in sea environmental monitoring by computer[J]. Marine Environmental Science, 28(3): 320-323 (in Chinese with English abstract).

[10]
杨剑锋, 乔佩蕊, 李永梅, 等, 2019. 机器学习分类问题及算法研究综述[J]. 统计与决策, 35(6): 36-40.

YANG JIANFENG, QIAO PEIRUI, LI YONGMEI, et al, 2019. A review of machine-learning classification and algorithms[J]. Statistics & Decision, 35(6): 36-40 (in Chinese with English abstract).

[11]
张桐, 2018. 基于Argo数据的海洋温度预测方法研究[D]. 长春: 吉林大学: 1-2.

ZHANG TONG, 2018. Research of ocean temperature prediction based on Argo data[D]. Changchun: Jilin University: 1-2 (in Chinese with English abstract).

[12]
张雪薇, 韩震, 2022. Argo温度数据的ConvGRU模型预测分析[J]. 海洋环境科学, 41(4): 628-635.

ZHANG XUEWEI, HAN ZHEN, 2022. Prediction and analysis of Argo temperature data by ConvGRU model[J]. Marine Environmental Science, 41(4): 628-635 (in Chinese with English abstract).

[13]
CASTELÃO G P, 2021. A machine learning approach to quality control oceanographic data[J]. Computers & Geosciences, 155: 104803.

[14]
CUMMINGS J A, 2011. Ocean data quality control[M]// SCHILLER A, BRASSINGTON G B. Operational oceanography in the 21st Century. Dordrecht: Springer: 91-121.

[15]
DOBBIN K K, SIMON R M, 2011. Optimally splitting cases for training and testing high dimensional classifiers[J]. BMC Medical Genomics, 4(1): 31.

[16]
FAWCETT T, 2006. An introduction to ROC analysis[J]. Pattern Recognition Letters, 27(8): 861-874.

[17]
FOSIĆ I, ŽAGAR D, GRGIĆ K, et al, 2023. Anomaly detection in NetFlow network traffic using supervised machine learning algorithms[J]. Journal of Industrial Information Integration, 33: 100466.

[18]
GOOD S A, MARTIN M J, RAYNER N A, 2013. EN4: Quality controlled ocean temperature and salinity profiles and monthly objective analyses with uncertainty estimates[J]. Journal of Geophysical Research: Oceans, 118(12): 6704-6716.

[19]
GULLI A, PAL S, 2017. Deep learning with Keras[M]. Birmingham: Packt Publishing: 1-2.

[20]
HAN HUI, WANG WENYUAN, MAO BINGHUAN, 2015. Borderline-SMOTE: A new over-sampling method in imbalanced data sets learning[C]// International conference on intelligent computing. Hefei, China: Springer: 878-887.

[21]
INGLEBY B, HUDDLESTON M, 2007. Quality control of ocean temperature and salinity profiles-Historical and real-time data[J]. Journal of Marine Systems, 65(1-4): 158-175.

[22]
Intergovernmental Oceanographic Commission, 2010. GTSPP real-time quality control manual. Revised edition 2010[Z]. Paris: United Nations Educational, Scientific and Cultural Organization.

[23]
KAMIKAWAJI Y, MATSUYAMA H, FUKUI K I, et al, 2016. Decision tree-based feature function design in conditional random field applied to error detection of ocean observation data[C]// 2016 IEEE symposium series on computational intelligence (SSCI). Athens, Greece: IEEE: 1-8.

[24]
LIU ZHENGHONG, XING XIAOGANG, CHEN ZHAOHUI, et al, 2023. Twenty years of ocean observations with China Argo[J]. Acta Oceanologica Sinica, 42(2): 1-16.

[25]
MIERUCH S, DEMIREL S, SIMONCELLI S, et al, 2021. SalaciaML: A deep learning approach for supporting ocean data quality control[J]. Frontiers in Marine Science, 8: 611742.

[26]
NGUYEN Q H, LY H B, HO L S, et al, 2021. Influence of data splitting on performance of machine learning models in prediction of shear strength of soil[J]. Mathematical Problems in Engineering, 2021: 4832864.

[27]
ONO S, MATSUYAMA H, FUKUI K I, et al, 2015. Error detection of oceanic observation data using sequential labeling[C]// 2015 IEEE international conference on data science and advanced analytics (DSAA). Paris, France: IEEE: 1-8.

[28]
PAWLOWICZ R, 2013. Key physical variables in the ocean: temperature, salinity, and density[J]. Nature Education Knowledge, 4(4): 13.

[29]
PEDREGOSA F, VAROQUAUX G, GRAMFORT A, et al, 2011. Scikit-learn: Machine learning in Python[J]. The Journal of Machine Learning Research, 12: 2825-2830.

[30]
RASCHKA S, MIRJALILI V, 2019. Python machine learning:Machine learning and deep learning with Python, scikit-learn, and TensorFlow 2[M]. 3rd ed. Birmingham: Packt Publishing.

[31]
TAN ZHETAO, CHENG LIJING, GOURETSKI V, et al, 2023. A new automatic quality control system for ocean profile observations and impact on ocean warming estimate[J]. Deep Sea Research Part Ⅰ: Oceanographic Research Papers, 194: 103961.

[32]
UDAYA BHASKAR T V S, RAO E P R, SHESU R V, et al, 2012. A note on three way quality control of Argo temperature and salinity profiles - A semi-automated approach at INCOIS[J]. International Journal of Earth Sciences and Engineering, 5(6): 1510-1514.

[33]
UDAYA BHASKAR T V S, SHESU R V, BOYER T P, et al, 2017. Quality control of oceanographic in situ data from Argo floats using climatological convex hulls[J]. MethodsX, 4: 469-479.

[34]
YU FANGJIE, ZHANG XUAN, CHEN XIN, et al, 2020. Altimetry-derived ocean thermal structure reconstruction for the Bay of Bengal cyclone season[J]. Ocean Dynamics, 70(11): 1449-1459.

[35]
ZHANG QI, QIAN CHENYAN, DONG CHANGMING, 2020. A machine learning approach to quality-control Argo temperature data[J]. Atmospheric and Oceanic Science Letters, 16(4): 100292.

Outlines

/