留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于K-Shape的时间序列模糊分类方法

李海林 贾瑞颖 谭观音

李海林, 贾瑞颖, 谭观音. 基于K-Shape的时间序列模糊分类方法[J]. 电子科技大学学报, 2021, 50(6): 899-906. doi: 10.12178/1001-0548.2020380
引用本文: 李海林, 贾瑞颖, 谭观音. 基于K-Shape的时间序列模糊分类方法[J]. 电子科技大学学报, 2021, 50(6): 899-906. doi: 10.12178/1001-0548.2020380
LI Hailin, JIA Ruiying, TAN Guanyin. Fuzzy Classification for Time Series Data Based on K-Shape[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(6): 899-906. doi: 10.12178/1001-0548.2020380
Citation: LI Hailin, JIA Ruiying, TAN Guanyin. Fuzzy Classification for Time Series Data Based on K-Shape[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(6): 899-906. doi: 10.12178/1001-0548.2020380

基于K-Shape的时间序列模糊分类方法

doi: 10.12178/1001-0548.2020380
基金项目: 国家自然科学基金面上项目(71771094);福建省自然科学基金面上项目(2019J01067);福建省社会科学规划一般项目(FJ2020B088)
详细信息
    作者简介:

    李海林(1982-),男,教授,博士生导师,主要从事数据挖掘与决策支持方面的研究

    通讯作者: 李海林,E-mail:blihailin@163.com
  • 中图分类号: TP273

Fuzzy Classification for Time Series Data Based on K-Shape

  • 摘要: 时间序列分类是数据挖掘中的重要主题,现有的大部分时间序列分类方法较少考虑到序列形状对分类结果的影响。该文提出了一种基于k-shape的时间序列模糊分类方法。该方法通过使用k-shape聚类算法对时间序列训练数据集各类别的成员进行聚类,获得各类别的聚类中心并形成聚类中心群,将每个类别的聚类中心群作为时间序列数据模糊分类的初始聚类中心,根据隶属度最大原则确定测试时间序列数据的类别标签。在30个时间序列公开数据集上的分类实验结果表明,该方法相较于SVM、Bayes、EAIW和TLCS这4种分类算法具有更好的分类性能,对具有扭曲和位移特征的时间序列数据分类有更好的可用性。
  • 图  1  $k$-shape算法优势

    图  2  $k$值选取对SSE的影响

    3  分类算法错误率的比较

    图  4  $k$与错误率的关系

    图  5  部分训练集中label=1的时序数据

    图  6  部分数据集错误率比较

    图  7  部分数据集时间效率比较

    表  1  时间序列数据集

    DataSetNo. of ClassTrainSizeTestSizeLength
    Cricket_Z12390390300
    Cricket_X12390390300
    ToeSegmentation1240228277
    ToeSegmentation2236130343
    DistalPhalanxTW613940080
    Ham2109105431
    ProximalPhalanx-TW620540080
    ECGFiveDays223861136
    DistalPhalanxOutlineAgeGroup313940080
    Haptics51553081092
    PhalangesOutlinesCorrect2180085880
    DiatomSizeReduction416306345
    ProximalPhalanxOutlineCorrect260029180
    TwoLeadECG223113982
    SonyAIBORobotSurface122060170
    FacesFOUR42488350
    InlineSkate71005501882
    MiddlePhalanxTW615439980
    BeetleFly22020512
    ShapeletSim220180500
    WormsClass577181900
    MoteStrain220125284
    Oliveioil43030570
    trace4100100275
    beef53030470
    ECG200210010096
    Symbols625995398
    Coffee22828286
    Car46060577
    MiddlePhalanxOutlineCorrect229160080
    下载: 导出CSV

    表  2  各分类算法分类错误率

    DataSet分类错误率
    KFCMKMFCMSVMBayesEAIWTLCS
    Cricket_Z0.310.340.500.600.220.52
    Cricket_X0.390.400.480.610.220.58
    ToeSegmentation10.150.220.380.440.160.23
    ToeSegmentation20.160.180.260.360.090.18
    DistalPhalanxTW0.240.180.220.240.350.46
    Ham0.280.300.250.260.430.38
    ProximalPhalanxTW0.190.190.200.210.200.27
    ECGFiveDays0.180.170.160.220.110.15
    DistalPhalanxOutlineAgeGroup0.210.220.180.170.260.38
    Haptics0.490.510.540.560.610.54
    PhalangesOutlinesCorrect0.340.360.210.340.250.31
    DiatomSizeReduction0.090.110.100.210.310.14
    ProximalPhalanxOutlineCorrect0.240.210.140.350.190.24
    TwoLeadECG0.250.240.280.300.190.26
    SonyAIBORobotSurface10.090.110.220.060.300.23
    FacesFour0.220.250.360.100.200.19
    InlineSkate0.400.440.750.510.510.53
    MiddlePhalanxTW0.350.350.370.400.450.51
    BeetleFly0.210.220.150.200.250.15
    ShapeletSim0.140.200.530.150.310.27
    WormsClass0.340.370.590.420.400.38
    MoteStrain0.090.160.150.170.130.09
    Oliveioil0.190.220.170.070.390.50
    Trace0.300.280.290.200.210.26
    Beef0.260.310.270.370.190.10
    ECG2000.180.190.160.330.270.19
    Symbols0.320.300.240.360.080.02
    Coffee0.080.070.050.070.180.04
    Car0.230.230.300.420.270.17
    MiddlePhalanxOutlineCorrect0.380.440.450.460.260.37
    下载: 导出CSV

    表  3  各类算法评价指标

    参数KFCMKMFCMSVMBayesEAIWTLCS
    mean0.250.260.300.310.270.29
    variance0.010.010.030.020.020.03
    win rate0.30 0.100.170.170.200.20
    下载: 导出CSV
  • [1] WU X D, KUMAR V, QUINLAN J R, et al. Top 10 algorithms in data mining[J]. Knowledge and Information Systems, 2008, 14(1): 1-37. doi:  10.1007/s10115-007-0114-2
    [2] 李海林, 万校基. 基于簇中心群的时间序列数据分类方法[J]. 电子科技大学学报, 2017, 46(3): 625-630.

    LI H L, WAN X J. Classification for time series data based on center sequences of clusters[J]. Journal of University of Electronic Science and Technology of China, 2017, 46(3): 625-630.
    [3] 王子一, 商琳. 基于子段距离计算的时间序列分类方法[J]. 小型微型计算机系统, 2018, 39(7): 1387-1389.

    WANG Z Y, SHANG L. New method of timeseries classification based on sub-sequence distancecomputation[J]. Journal of Chinese Computer Systems, 2018, 39(7): 1387-1389.
    [4] 李海林, 梁叶, 王少春. 时间序列数据挖掘中的动态时间弯曲研究综述[J]. 控制与决策, 2018, 33(8): 1345-1353.

    LI H L, LIANG Y, WANG S C. Reviewon dynamic time warping in time series data mining[J]. Control and Decision, 2018, 33(8): 1345-1353.
    [5] 原继东, 王志海. 时间序列的表示与分类算法综述[J]. 计算机科学, 2015, 42(3): 1-7. doi:  10.11896/j.issn.1002-137X.2015.03.001

    YUAN J D, WANG Z H. Review of time series represention and classification techniques[J]. Computer Science, 2015, 42(3): 1-7. doi:  10.11896/j.issn.1002-137X.2015.03.001
    [6] VAPNIK V. SVM method of estimating density, conditional probability, and conditional density[C]//IEEE International Symposium on Circuits & Systems. [S.l.]: IEEE, 2000, 749-752.
    [7] 石洪波, 王志海, 黄厚宽, 等. 一种限定性的双层贝叶斯分类模型[J]. 软件学报, 2004, 15(2): 193-199.

    SHI H B, WANG Z H, HUANG H K, et al. A restricted double-level Bayesian classificationmodel[J]. Journal of Software, 2004, 15(2): 193-199.
    [8] 李建平, 王兴伟, 马连博, 等. 基于区间的时间序列分类算法的研究[J]. 网络空间安全, 2019, 10(8): 84-101. doi:  10.3969/j.issn.1674-9456.2019.08.013

    LI J P, WANG X W, MA L B, et al. Research on interval time series classification algorithm[J]. Cyberspace Security, 2019, 10(8): 84-101. doi:  10.3969/j.issn.1674-9456.2019.08.013
    [9] 林钱洪, 王志海, 原继东, 等. 基于趋势信息的时间序列分类方法[J]. 中国科学技术大学学报, 2019, 49(2): 139-148.

    LIN Q H, WANG Z H, YUAN J D, et al. Trend information for time series classification[J]. Journal of University of Science and Technology of China, 2019, 49(2): 139-148.
    [10] 于剑. 论模糊C均值算法的模糊指标[J]. 计算机学报, 2003, 26(8): 969-973.

    YU J. On the fuzziness index of the FCM algorithms[J]. Chinese Journal of Computers, 2003, 26(8): 969-973.
    [11] 张新波. 两阶段模糊C-均值聚类算法[J]. 电路与系统学报, 2005, 10(5): 118-120.

    ZHANG X B. Two stage fuzzy C-means clustering algorithm[J]. Journal of Circuits and Systems, 2005, 10(5): 118-120.
    [12] PAPARRIZOS J, GRAVANO L, SELLIS T K, et al. k-shape: Efficient and accurate clustering of time series[C]//Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. Mel-bourne, Victoria: ACM, 2015: 1855-1870.
    [13] 陈书文, 覃华, 苏一丹. 最优正则化参数的核FCM 聚类算法[J]. 小型微型计算机系统, 2018, 39(7): 1538-1541.

    CHEN S W, QIN H, SU Y D. Kernel FCM clustering algorithm based on optimal regularization parameters[J]. Journal of Chinese Computer Systems, 2018, 39(7): 1538-1541.
    [14] CHEN Y P, KEOGH E, HU Bing, et al. The UCR time series classification archive[EB/OL]. [2019-11-12]. http://www.cs.ucr.edu/eamonn/time_series_data/.
    [15] 王潇笛, 刘俊勇, 刘友波, 等. 采用自适应分段聚合近似的典型负荷曲线形态聚类算法[J]. 电力系统自动化, 2019, 43(1): 110-118.

    WANG X D, LIU J Y, LIU Y B, et al. Typical load curve morphology clustering algorithm using adaptive segmentation aggregation approximation[J]. Automation of Electric Power Systems, 2019, 43(1): 110-118.
  • [1] 侯敏, 张仕斌, 黄曦.  量子模糊朴素贝叶斯分类算法 . 电子科技大学学报, 2024, 53(1): 149-154. doi: 10.12178/1001-0548.2022344
    [2] 侯晓凯, 吴热冰, 王子竹, 王晓霆.  基于变分量子分类器的量子对抗攻击生成算法 . 电子科技大学学报, 2023, 52(2): 162-167. doi: 10.12178/1001-0548.2023006
    [3] 杨骏, 敬思远, 钟勇.  面向时间序列有序分类的Shapelet抽取算法 . 电子科技大学学报, 2023, 52(6): 887-896. doi: 10.12178/1001-0548.2022278
    [4] 靳韡赟, 詹毅, 樊晓华.  基于子带谱特征的助听器背景噪声场景分类算法 . 电子科技大学学报, 2022, 51(5): 694-701. doi: 10.12178/1001-0548.2021249
    [5] 李海林, 张丽萍.  时间序列数据挖掘中的聚类研究综述 . 电子科技大学学报, 2022, 51(3): 416-424. doi: 10.12178/1001-0548.2022055
    [6] 储岳中, 汪佳庆, 张学锋, 刘恒.  基于改进深度残差网络的图像分类算法 . 电子科技大学学报, 2021, 50(2): 243-248. doi: 10.12178/1001-0548.2020314
    [7] 杨文忠, 张志豪, 吾守尔·斯拉木, 温杰彬, 富雅玲, 王丽花, 王婷.  基于时间序列关系的GBRT交通事故预测模型 . 电子科技大学学报, 2020, 49(4): 615-621. doi: 10.12178/1001-0548.2019151
    [8] 李大湘, 吴倩, 邱鑫, 刘颖.  基于空间稀疏编码的MIL算法及刑侦图像分类 . 电子科技大学学报, 2019, 48(1): 68-73. doi: 10.3969/j.issn.1001-0548.2019.01.012
    [9] 李海林, 万校基.  基于簇中心群的时间序列数据分类方法 . 电子科技大学学报, 2017, 46(3): 625-630. doi: 10.3969/j.issn.1001-0548.2017.03.024
    [10] 刘忠宝, 裴松年, 杨秋翔.  具有N-S磁极效应的最大间隔模糊分类器 . 电子科技大学学报, 2016, 45(2): 227-232.
    [11] 刘瑶, 王瑞锦, 刘峤, 秦志光.  动态社会网络的社团结构检测与分析 . 电子科技大学学报, 2014, 43(5): 724-729. doi: 10.3969/j.issn.1001-0548.2014.05.016
    [12] 田银, 李沛洋, 徐鹏.  基于AdaBoost的脑机接口分类算法研究 . 电子科技大学学报, 2013, 42(5): 791-793. doi: 10.3969/j.issn.1001-0548.2013.05.029
    [13] 生龙, 张洪斌.  二型模糊系统在音频信号分类中的应用 . 电子科技大学学报, 2013, 42(3): 436-441. doi: 10.3969/j.issn.1001-0548.2013.03.023
    [14] 李学明, 杨阳, 秦东霞, 周尚波.  基于频繁闭项集的新关联分类算法ACCF . 电子科技大学学报, 2012, 41(1): 104-109. doi: 10.3969/j.issn.1001-0548.2012.01.020
    [15] 梁冰, 刘群.  基于自动机模型数据关联性能评估算法 . 电子科技大学学报, 2008, 37(4): 606-609,629.
    [16] 张赪, 蔡之华.  代价敏感的GEP分类算法实现 . 电子科技大学学报, 2007, 36(6): 1319-1321.
    [17] 王金龙, 徐从富, 徐娇芬, 骆国靖.  利用销售数据的商品影响关系挖掘研究 . 电子科技大学学报, 2007, 36(6): 1282-1285.
    [18] 周巧临, 傅彦.  科学数据时间序列的预测方法 . 电子科技大学学报, 2007, 36(6): 1260-1263.
    [19] 姚兴苗, 李乐民, 胡光岷.  快速路由器的路由查找和流分类算法研究 . 电子科技大学学报, 2004, 33(6): 663-666.
    [20] 陈羽中.  同态滤波在扭矩载荷识别中的应用 . 电子科技大学学报, 1999, 28(3): 269-272.
  • 加载中
图(8) / 表(3)
计量
  • 文章访问数:  4981
  • HTML全文浏览量:  1578
  • PDF下载量:  75
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-10-10
  • 修回日期:  2021-06-25
  • 网络出版日期:  2021-11-26
  • 刊出日期:  2021-11-28

基于K-Shape的时间序列模糊分类方法

doi: 10.12178/1001-0548.2020380
    基金项目:  国家自然科学基金面上项目(71771094);福建省自然科学基金面上项目(2019J01067);福建省社会科学规划一般项目(FJ2020B088)
    作者简介:

    李海林(1982-),男,教授,博士生导师,主要从事数据挖掘与决策支持方面的研究

    通讯作者: 李海林,E-mail:blihailin@163.com
  • 中图分类号: TP273

摘要: 时间序列分类是数据挖掘中的重要主题,现有的大部分时间序列分类方法较少考虑到序列形状对分类结果的影响。该文提出了一种基于k-shape的时间序列模糊分类方法。该方法通过使用k-shape聚类算法对时间序列训练数据集各类别的成员进行聚类,获得各类别的聚类中心并形成聚类中心群,将每个类别的聚类中心群作为时间序列数据模糊分类的初始聚类中心,根据隶属度最大原则确定测试时间序列数据的类别标签。在30个时间序列公开数据集上的分类实验结果表明,该方法相较于SVM、Bayes、EAIW和TLCS这4种分类算法具有更好的分类性能,对具有扭曲和位移特征的时间序列数据分类有更好的可用性。

English Abstract

李海林, 贾瑞颖, 谭观音. 基于K-Shape的时间序列模糊分类方法[J]. 电子科技大学学报, 2021, 50(6): 899-906. doi: 10.12178/1001-0548.2020380
引用本文: 李海林, 贾瑞颖, 谭观音. 基于K-Shape的时间序列模糊分类方法[J]. 电子科技大学学报, 2021, 50(6): 899-906. doi: 10.12178/1001-0548.2020380
LI Hailin, JIA Ruiying, TAN Guanyin. Fuzzy Classification for Time Series Data Based on K-Shape[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(6): 899-906. doi: 10.12178/1001-0548.2020380
Citation: LI Hailin, JIA Ruiying, TAN Guanyin. Fuzzy Classification for Time Series Data Based on K-Shape[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(6): 899-906. doi: 10.12178/1001-0548.2020380
  • 时间序列是一种与时间相关的数值型数据,基于时间序列的数据挖掘与分析成为目前数据研究领域中最具有挑战性的十大问题之一[1]。分类算法是时间序列数据挖掘中极为重要的任务和技术[2],有大量关于时间序列分类和挖掘的研究[3]。分类问题依赖于时间序列间的相似性度量,而相似性度量是两条时间序列相似程度的度量方法[4]。对于时间序列来说,同类时间序列间的相似性主要有时域相似性、形状相似性和变化相似性3种形式[5]。支持向量机(support vector machine, SVM)是由文献[6]提出的通过核函数将时间序列向高维空间映射的方法,可用于时间序列分类。朴素贝叶斯分类器是目前公认的一种简单而有效的概率分类方法,作为经典的机器学习算法之一,在信息检索领域有着极为重要的地位[7]。文献[8]提出了EAIW分类算法,该算法为时间序列区间赋予权值,采用集成分类的算法,通过权值对时间序列进行分类。文献[9]提出了TLCS算法,该算法提出一种新的基于时间序列的趋势离散化方法,利用LCS对其进行相似性度量。

    模糊聚类由于能够描述样本类属的中介性,能更客观地反映现实世界,目前已成为聚类分析的主流,成为非监督模式识别的一个重要分支。模糊聚类分析已经成功地应用于遥感图像处理、医学图像处理、基因数据处理、模糊决策分析等领域[10]。众多的模糊聚类方法中,应用最广泛的是模糊C-均值(fuzzy C-means, FCM)算法。由于模糊C-均值算法在初始聚类中心的选择上具有随机性,对初始值比较敏感,难以取得全局最优[11]

    本文提出一种新的时间序列分类方法,即基于$k$-shape的时间序列模糊分类方法。该方法利用一种新的$k$-shape聚类算法[12]对训练集中每个类的时间序列进行聚类,得到聚类中心群,并将这些中心群作为模糊分类的初始聚类中心,使用模糊C均值对时间序列测试集数据进行分类。

    • $k$-shape是一种应用在时间序列数据中的聚类方法[12],此算法提出基于时间序列形态相似性的距离量度方式SBD,并采用一种新的聚类中心计算方式SE提取每类聚类中心的时间序列曲线形态,以此完成聚类。

      定义1 SBD是一种基于形状的相似性度量方式,在一定程度上弥补了以欧式距离作为相似性评价指标的不足,通过SBD可得到两条时间序列之间的相似度量。具体过程如下:

      基于形状的相似性度量方法:$({\rm{dist}},y') = {\rm{SBD}}(x,y)$

      输入:两条Z-score标准化后的时间序列xy

      输出:时间序列xy的相似性度量dist和$y$相对于$x$的对齐序列$y'$

      计算${\rm{len}} = {2^{2*{\rm{length}}(x) - 1}}$

      $x$$y$分别进行快速傅里叶变换,即${F_x} = $$ {\rm{FFT}}(x,{\rm{len}})$${F_y} = {\rm{FFT}}(y,{\rm{len}})$

      进行逆快速傅里叶变换,计算$x$$y$之间的交相关序列CC,${\rm{ CC}} = {\rm{IFFT\{ }}{F_x}*{F_y}\}$

      根据系数归一化思想,计算$[{\rm{value,index}}] = $$ \dfrac{{{\rm{CC}}}}{{\left\| x \right\|\left\| y \right\|}}$,value为最大值,index为此时序列$x$$y$对齐的起始位置;

      ${\rm{dist}} = 1 - {\rm{value}}$${\rm{shif}}{\rm{t}} = {\rm{index}} - {\rm{length}}(x)$

      判断shift大小。若shift≥0,则y$ = [{\rm{zeroes}}(1, $$ {\rm{shift}}), y(1:{\rm{end}} - {\rm{shif}}{\rm{t}})]$,否则y′ = [y (1−shift: end), zeroes(1, −shift)]。

      由SBD算法可得到时间序列$x$$y$之间的相似度量dist。当dist为0时,表示两条序列完全相似。同时,根据对齐的起始位置index,可得到$y$相对于$x$的对齐序列$y'$

      定义 2 SE是从时间序列中提取最具有代表的形态特征,以此进行聚类。根据文献[12],$k$-shape利用SE方法可以在每种类别的数据中产生一个聚类中心。

      基于代表性形态特征的聚类中心提取方法:${\boldsymbol{C}} = {\rm{SE}}({\boldsymbol{X}},{\boldsymbol{R}})$

      输入:Z-score标准化后的时间序列集合${\boldsymbol{X}} = $$ [{x_1},{x_2}, \cdots ,{x_n}]$ (其中每条时间序列的长度为$p$),与X对齐的参考序列向量${\boldsymbol{R}}$

      输出:聚类中心矩阵${\boldsymbol{C}}$

      设立对齐序列矩阵${\boldsymbol{M}}$

      X中的每条时间序列${x_i}$,计算$[{\rm{dist}},{x'_i}] = {\rm{SBD}} $$ ({\boldsymbol{R}},{x_i})$,并将${x'_i}$加入${\boldsymbol{M}}$

      提取${\boldsymbol{M}}$的主要特征向量,${\boldsymbol{S}} = {{\boldsymbol{M}}^{\rm{T}}}{\boldsymbol{M}}$${\boldsymbol{Q}} = {\boldsymbol{I}} - \dfrac{1}{p}{\boldsymbol{O}}$(${\boldsymbol{I}}$为单位矩阵,${\boldsymbol{O}}$为全1矩阵),${\boldsymbol{M}} = {{\boldsymbol{Q}}^{\rm{T}}}{\boldsymbol{SQ}}$

      提取第1特征向量,即${\boldsymbol{C}} = {\rm{Eig}}({\boldsymbol{M}},1)$

      定义 3  $k$-shape是一种基于时序形状的时间序列聚类方法。该方法首先利用SBD算法进行时间序列之间的相似性度量,获得相似序列。然后使用SE算法从相似序列中提取第一特征向量,作为聚类中心,进而完成聚类。

      基于时间序列形态特征的聚类方法:${({{{\bf{IDX}}}},{\boldsymbol{C}})_{}} = k{\rm{ - }}{\rm{shape}}({\boldsymbol{X}},k)$

      输入:聚类中心数$k$和Z-score标准化后的同类别的时间序列集${\boldsymbol{X}} = [{x_1},{x_2},\cdots,{x_n}]$,其中${x_i}$表示某一条时间序列;

      输出:时间序列集${\boldsymbol{X}}$的类别标签向量IDX和时间序列集${\boldsymbol{X}}$的聚类中心矩阵${\boldsymbol{C}}$

      设置初始迭代次数iter=0,类别标签向量IDX为空向量;

      while ${\rm{iter}} < 100$ do

       for $j \leqslant k$ do

       创建一个新的时间序列矩阵${\boldsymbol{X'}}$

       for $i \leqslant n$ do

       if ${\bf{IDX}}({{i}}) = {{j}}$ then

       ${\boldsymbol{X'}} = [{\boldsymbol{X'}},{\boldsymbol{X}}(i)]$

      ${\boldsymbol{C}}(j) = {\rm{SE}}({\boldsymbol{X'}},{\boldsymbol{C}}(j))$

       for $i \leqslant n$do

      设置$\min {\rm{dist}} = \infty $

      for $j \leqslant k$ do

      $[{\rm{dist}},x'] = {\rm{SBD}}({\bf{C}}(j),{\bf{X}}(i))$

      if ${\rm{dist}} < {\rm{mindist}}$ then

      ${\bf{IDX}}({{i}}) = {{j}}$

      ${\rm{iter}} = {\rm{iter}} + 1$

    • 新分类方法首先通过基于k-shape的聚类中心群方法构建每个类别的聚类中心群,然后结合基于FCM的模糊分类方法实现对时间序列的分类。该方法具有良好的分类性能。

    • 绝大多数的时间序列都存在明显的位移和扭曲,传统的聚类算法不能有效解决这部分时间序列的聚类问题,而k-shape对具有位移和扭曲的时间序列聚类有更好的适用性,可以在一定程度上弥补传统聚类算法以欧氏距离作为相似性度量指标的不足。本文提出一种新的基于k-shape的聚类中心群方法KCG,该方法可得到单个类别的聚类中心群,且有较好的代表性。

      图  1  $k$-shape算法优势

      图1所示,通过对时间序列数据集X提取聚类中心,可以看出k-shape提取的聚类中心相比于传统聚类算法k-means更符合数据集X的形态特征,更具有代表性。其算法过程如下。

      基于k-shape聚类的聚类中心群方法: ${{\boldsymbol{C}}_a}$ = ${\rm{KCG}}({\boldsymbol{X}},k)$

      输入:同一类别的时间序列数据集${\boldsymbol{X}} = [{x_1}, $$ {x_2}, \cdots ,{x_n}]$X的类别标签A和聚类中心数$k$

      输出:聚类中心矩阵${{\boldsymbol{C}}_a} = [{c_{1{\rm{a}}}},{c_{2a}}, \cdots ,{c_{ka}}]$${c_{ia}}$表示$A$类别的聚类中心群中的第i个中心代表对象;

      1) 根据k-shape聚类算法,将时间序列数据集X划分成$k$类,得到k个聚类中心,即$({\bf{IDX}}_{a},{{\boldsymbol{{C}}}_{a}})$ = $k{\rm{\text{-}shape}}({\boldsymbol{X}},k)$${\bf{IDX}}_{a}$${{\boldsymbol{C}}_a}$分别代表X中所有序列的聚类标签向量和聚类中心矩阵;

      2) 将步骤1)中得到的聚类中心矩阵${{\boldsymbol{C}}_a}$标记为${{\boldsymbol{C}}_a} = [{c_{1a}},{c_{2a}}, \cdots ,{c_{ka}}]$,代表$A$类别成员序列的聚类中心群。

      通过基于k-shape聚类的聚类中心群方法KCG可以得到同类别时间序列集的聚类中心群,该中心群可代表整个类别的时间序列数据形态特征分布情况。

    • 模糊分类相比于传统分类算法的硬划分,更符合时间序列分类的不确定性。FCM算法作为模糊分类的主流算法之一,能在一定程度上解决时间序列数据分类的不确定性问题,是传统硬聚类算法的一种改进。

      FCM算法的核心思想是通过极小化目标函数求最优聚类中心[13],聚类结果是每一条时间序列对聚类中心的隶属程度,该隶属程度用一个数值来表示。本文提出一种基于FCM的模糊分类方法,通过已知的初始聚类中心群,进行模糊分类,降低初始值对最后分类结果的影响。为了便于理解和讨论模糊分类方法,假设时间序列数据集共分为两类,进一步解释该算法。其具体算法过程如下:

      基于FCM的模糊分类算法:${\boldsymbol{D}}$=FCM $({\boldsymbol{Y}},{\boldsymbol{C}}, $${\rm{iter\_max}}) $

      输入:包含已知类别$A$和类别$B$的聚类中心矩阵${{\boldsymbol{C}}_{}}$、允许的最大迭代次数${\rm{iter\_max}}$(默认为100)和时间序列测试数据集${\boldsymbol{Y}} = [{y_1},{y_2}, \cdots ,{y_m}]$

      输出:隶属度矩阵${\boldsymbol{D}}$

      1) 将聚类中心矩阵${\boldsymbol{C}}$$A$类别的聚类中心群标记为${{\boldsymbol{C}}_a}$$B$类别的聚类中心群标记为${{\boldsymbol{C}}_b}$

      2) 根据FCM模糊聚类算法,将${\boldsymbol{C}}$作为初始聚类中心进行聚类,得到模糊隶属度矩阵${\boldsymbol{D}}$,即${\boldsymbol{D}}$ = ${\rm{FCM}}({\boldsymbol{Y}},{\boldsymbol{C}},{\rm{iter\_max}})$

      通过基于模糊分类的FCM算法得到模糊隶属度矩阵${\boldsymbol{D}}$后,进一步分别计算${y_i}$属于${\boldsymbol{D}}$$A$类别聚类中心群${{\boldsymbol{C}}_a}$$B$类别聚类中心群${{\boldsymbol{C}}_b}$的隶属度之和,并判断大小。较大的隶属度之和代表的类标签为${y_i}$所属类别,即可完成分类。

      基于FCM的模糊分类算法以k-shape聚类得到的聚类中心群作为初始聚类中心,经过一定次数的迭代,得到模糊隶属度矩阵,依次判断测试时间序列属于各类别标签的聚类中心群的隶属度之和,根据最大隶属度原则确定该测试时间序列属于哪个类别,从而完成时序数据的分类。

    • 考虑到k-shape聚类算法和模糊分类算法的优势,本文将基于k-shape的聚类中心群算法KCG和基于FCM的模糊分类算法结合起来,提出了一种思路更为简单的时间序列分类方法(k-shape and FCM based time series clustering, KFCM)。KFCM算法首先将时间序列训练集各类别的序列成员进行k-shape聚类,分别得到每个类别的聚类中心群,形成已知类标签的聚类中心群。然后,使用基于FCM的模糊分类算法,将测试集序列与已知标签的聚类中心群进行聚类,输出模糊隶属度矩阵。最后,根据隶属度大小原则进一步判断测试集类别。具体算法如下:

      基于k-shape的时间序列模糊分类方法:${\boldsymbol{L}} = $$ {\rm{KFCM}}({\boldsymbol{X}},{\boldsymbol{Y}},k,{\rm{iter\_max}})$

      输入:训练集X、测试集Y、默认最大迭代次数iter_max和聚类中心数k

      输出:测试集Y的类标签向量L

      1)根据训练集${\boldsymbol{X}} = [{x_1},{x_2}, \cdots ,x{}_n]$的成员类标签$[{h_1},{h_2}, \cdots ,{h_w}]$,依次利用KCG对类别${h_i}$包含的每个成员进行聚类,得到${h_i}$的聚类中心群${{\boldsymbol{C}}_i}$。将w个聚类中心群合并得到总聚类中心群CC包含w个类别,共kw个聚类中心;

      2)对测试集${\boldsymbol{Y}} = [{y_1},{y_2}, \cdots ,{y_m}]$,使用基于FCM的模糊分类算法,即${\boldsymbol{D}} = {\rm{FCM}}({\boldsymbol{Y}},{\bf{C}},{\rm{iter\_max}})$

      3)根据步骤2)得到的模糊隶属度矩阵${\boldsymbol{D}}$,计算测试集对象${y_j}$属于${\boldsymbol{D}}$中各类聚类中心群的隶属度之和,其较大者的类标签为${y_j}$所属类别${l_j}$

      4)重复步骤3),获得Y中所有成员的类标签,即${\boldsymbol{L}} = [{l_1},{l_2}, \cdots ,{l_m}]$,其中m为测试集Y包含的时间序列数目。

    • 为了验证本文提出算法的有效性,在30个时间序列数据集上做分类实验。通过实验结果可以验证分类精度的有效性,也可以验证针对存在位移和扭曲特征的时间序列分类,新方法的适用性。

    • 算法代码使用Python 3.7在Anaconda科学计算环境中实现,运行所用计算机的CPU型号为InterCore i5-8250U (1.60 GHz),RAM为16 GB,操作系统是Windows10 64位(DirectX 12)。

      本文采用的数据集是UCR TS Archive 2015,UCR[14]是时间序列数据集,每个数据集样本都带有样本类别标签,它是目前时间序列挖掘领域重要的开源数据集资源。从UCR数据集中选取了30个训练集,为了验证新方法具有更高的分类质量和性能,这30个数据集在类别、长度和大小上具有明显差异。具体数据集信息如表1所示。

      表 1  时间序列数据集

      DataSetNo. of ClassTrainSizeTestSizeLength
      Cricket_Z12390390300
      Cricket_X12390390300
      ToeSegmentation1240228277
      ToeSegmentation2236130343
      DistalPhalanxTW613940080
      Ham2109105431
      ProximalPhalanx-TW620540080
      ECGFiveDays223861136
      DistalPhalanxOutlineAgeGroup313940080
      Haptics51553081092
      PhalangesOutlinesCorrect2180085880
      DiatomSizeReduction416306345
      ProximalPhalanxOutlineCorrect260029180
      TwoLeadECG223113982
      SonyAIBORobotSurface122060170
      FacesFOUR42488350
      InlineSkate71005501882
      MiddlePhalanxTW615439980
      BeetleFly22020512
      ShapeletSim220180500
      WormsClass577181900
      MoteStrain220125284
      Oliveioil43030570
      trace4100100275
      beef53030470
      ECG200210010096
      Symbols625995398
      Coffee22828286
      Car46060577
      MiddlePhalanxOutlineCorrect229160080

      在对训练数据集进行k-shape聚类时,训练集的类别和类别数是已知的,需要用k-shape单独对训练集每一个类别包含的时间序列进行聚类,进而确定各类别的聚类中心群。

    • 在进行参数讨论时,假定训练集共有w个类别,每个类别的聚类中心数都是k,因此共可得到wk个聚类中心,且每个聚类中心群都标记着本类别的标签。本文以Cricket_X数据集为例,说明利用手肘法选取最佳聚类数k的过程。k的取值为1~8 (本文设置上限为8)。如图2所示,随着k增大,SSE的下降幅度会骤减,在k=4之后下降幅度趋于平缓。因此针对Cricket_X数据集,最佳聚类中心数是4。

      图  2  $k$值选取对SSE的影响

    • 本节将提出的KFCM算法与SVM[6]、Bayes[7]、EAIW[8]和TLCS[9]这4种基准分类算法进行比较。为了进一步验证k-shape在提取聚类中心过程中的算法优势,本文利用k-means算法提取各类别的聚类中心群来作为模糊分类的初始聚类中心,同时使用模糊分类方法对时间序列数据集进行分类。该算法称为KMFCM,作为KFCM的对比算法之一。利用以上6种方法对30组UCR数据集进行分类实验,分类错误率如表2所示。利用平均分类错误率、方差和胜出率3个指标评价分类效果,如表3所示。

      表2可知,KFCM算法的平均错误率最低,错误率的总体波动幅度较小,在30个数据集中有9个数据集的错误率最小,有最高的胜出率。为了更好地表现分类结果,本文通过对错误率的两两比较,使用可视化分类比较结果展示,如图3所示。KFCM的分类准确率和胜出率都高于KMFCM,同时,在ShapeletSim、MoteStrain、InlineSkate等数据集上也有较低的分类错误率,这证明了k-shape相比于k-means在聚类过程中有明显优势。KFCM在时间序列测试集上的分类性能优于SVM和Bayes,平均准确率有一定提升。最后,KFCM分类准确率相较于TLCS和EAIW也有一定提高,个别数据集提高效果较为明显。

      表 2  各分类算法分类错误率

      DataSet分类错误率
      KFCMKMFCMSVMBayesEAIWTLCS
      Cricket_Z0.310.340.500.600.220.52
      Cricket_X0.390.400.480.610.220.58
      ToeSegmentation10.150.220.380.440.160.23
      ToeSegmentation20.160.180.260.360.090.18
      DistalPhalanxTW0.240.180.220.240.350.46
      Ham0.280.300.250.260.430.38
      ProximalPhalanxTW0.190.190.200.210.200.27
      ECGFiveDays0.180.170.160.220.110.15
      DistalPhalanxOutlineAgeGroup0.210.220.180.170.260.38
      Haptics0.490.510.540.560.610.54
      PhalangesOutlinesCorrect0.340.360.210.340.250.31
      DiatomSizeReduction0.090.110.100.210.310.14
      ProximalPhalanxOutlineCorrect0.240.210.140.350.190.24
      TwoLeadECG0.250.240.280.300.190.26
      SonyAIBORobotSurface10.090.110.220.060.300.23
      FacesFour0.220.250.360.100.200.19
      InlineSkate0.400.440.750.510.510.53
      MiddlePhalanxTW0.350.350.370.400.450.51
      BeetleFly0.210.220.150.200.250.15
      ShapeletSim0.140.200.530.150.310.27
      WormsClass0.340.370.590.420.400.38
      MoteStrain0.090.160.150.170.130.09
      Oliveioil0.190.220.170.070.390.50
      Trace0.300.280.290.200.210.26
      Beef0.260.310.270.370.190.10
      ECG2000.180.190.160.330.270.19
      Symbols0.320.300.240.360.080.02
      Coffee0.080.070.050.070.180.04
      Car0.230.230.300.420.270.17
      MiddlePhalanxOutlineCorrect0.380.440.450.460.260.37

      表 3  各类算法评价指标

      参数KFCMKMFCMSVMBayesEAIWTLCS
      mean0.250.260.300.310.270.29
      variance0.010.010.030.020.020.03
      win rate0.30 0.100.170.170.200.20

      图  3  分类算法错误率的比较

      本文选取4个时间序列数据集,来说明聚类中心数$k$对分类结果的影响,如图4所示。k值对各数据集的分类结果影响不同,对于BeetleFly数据集,错误率最大值和最小值之间差距达到0.23;对于OliveOil数据集,错误率最大值和最小值之间差距为0.06。

      图  4  $k$与错误率的关系

      由此可知,对于不同的数据集,k对最后分类效果的影响也是不同的。有的数据集如BeetleFly受影响比较大,因此参数k需根据具体数据而设定。

    • 本文分析了30个时间序列训练集中部分时间序列数据的特点,将时间序列训练集按照是否存在明显位移和扭曲的特点分为两大类,计算每一类的平均错误率。横向比较,新方法KFCM在存在明显位移和扭曲特点的时间序列平均错误率要比趋势较为一致的时间序列平均错误率要低;纵向比较,对于存在明显扭曲和位移的时间序列集,新方法KFCM相比其他5个方法的错误率低,分类性能更好。

      图5中看出,InlineSkate、MoteStrain和ShapeletSim这3个时间序列数据集具有较明显的位移和扭曲,故SVM、Bayes和KMFCM在处理此类的数据集分类时存在较大的不足,但KFCM算法表现良好。Symbols、TwoLeadECG和Car这3个时间序列集中同一类时间序列数据上“几乎”不存在位移或者扭曲,故SVM、Bayes和KMFCM在这3个数据集上的分类效果比较理想。图6也表明新方法KFCM在InlineSkate、MoteStrain和ShapeletSim 时间序列数据集上有更低的错误率。

    • 时间序列分类的性能不仅体现在分类效果上,而且也包含了算法的整体时间消耗。为了更直观的比较以上6种分类方法的时间效率,本文随机抽取了WormsTwoClass、Ham、Beef和FaceFour这4个时间序列数据集,进行方法运行时间效率的对比实验。

      图7可知,KFCM方法在4个时间序列数据集上的时间效率比KMFCM、SVM和Bayes低,分类时间较长。但相比于EAIW和TLCS,KFCM方法所花费的时间则相对较少。总体来讲,KFCM的时间效率要高于EAIW和TLCS,低于SVM、Bayes和KMFCM。文献[15]在大型电力负荷时间序列曲线聚类实验中证明k-shape的时间复杂度高于k-means。本文研究的时间序列分类方法主要是通过k-shape提取聚类中心群,该阶段的计算复杂度较高,导致整体算法在大数据环境下的时间效率较低,并不适用于大型数据集。但结合分类质量来看,KFCM可以使用较高的时间效率来获得较好的分类效果。

      图  5  部分训练集中label=1的时序数据

      图  6  部分数据集错误率比较

      图  7  部分数据集时间效率比较

    • 鉴于k-shape在时间序列数据聚类领域的优越性,本文提出了一种新的时间序列分类方法KFCM。该方法首先利用k-shape对时间序列数据训练集中的各个类别包含的成员进行聚类,得到聚类中心群。然后,将聚类中心群作为模糊分类的初始聚类中心,根据隶属度最大原则确定测试时间序列数据的类别标签。通过实验验证,与传统时间序列分类方法相比,新分类方法具有以下优势:1)通过使用k-shape聚类算法,提高了对具有位移和扭曲特征的时间序列数据集分类的适用性,在一定程度上弥补了传统聚类算法以欧氏距离作为相似性指标的不足;2)新分类方法可以利用手肘法确定最佳聚类数,减小参数变化对最终分类结果的影响;3)与传统分类方法相比,新分类方法能够实现更好的分类效果,具有一定的优越性。然而,该方法相较于传统分类方法SVM和Bayes有较高的时间复杂度,在大型数据集上应用效果不佳,这是未来需要进一步研究的工作。

参考文献 (15)

目录

    /

    返回文章
    返回