基于Shapelet的社团演化预测方法

文档序号:10725740阅读:289来源:国知局
基于Shapelet的社团演化预测方法
【专利摘要】本发明公开了一种基于Shapelet的社团演化预测方法,所述的方法包括以下步骤:步骤一、将Shapelet与径向基函数网络相结合;步骤二、将找到的代表时间序列数据类别特征的Shapelet作为RBF网络的隐层节点;步骤三、利用梯度下降学习得到隐层和输出层的连接权值。本发明具有较高的精度和较好的泛化能力,且使用本文所提两种优化策略,算法效率提高了1~2个数量级,对距离函数按时间加权,算法的分类准确率平均提高了2%左右。
【专利说明】
基于Shape I et的社团演化预测方法
技术领域
[0001]本发明涉及社团演化的预测技术领域,具体涉及一种基于Shapelet的社团演化预 测方法。
【背景技术】
[0002]社团是现实世界复杂网络中普遍存在的重要特性,并处于不断演化的过程中。对 网络中社团及其演化过程的研究,有助于分析网络特性、理解网络结构、发现网络中潜藏的 演化规律,具有极重要的理论意义与应用价值[1-5]。如图1所示,已知社团历史的演化轨 迹,如何预测一段时间后社团的状态。社团演化预测是一个十分复杂的问题,每个时刻的社 团都是一个网络,对网络结构进行预测是十分困难的。作为初步的探索,我们将预测目标简 化为预测一段时间后社团是否稳定存在(即社团规模是否会大幅度缩小)。通过对每个时刻 的社团提取其状态特征(如节点数、边数、社团层次等),社团演化轨迹可以用多维时间序列 来建模。这样,社团演化预测问题便可以转化为典型的时间序列分类问题。
[0003] 时间序列分类问题(Time series classification,TSC)是时间序列数据分析中 的重要任务之一,在很多领域中都得到了应用。2009年Ye和Keogh等首次提出了时间序列 Shapelet的概念,Shapelet是能最大程度代表时间序列类别特征的子序列。基于Shapelet 的时间序列分类方法除了预测速度更快、更能节省存储空间外,同时具有更好的可解释性, 因而在时间序列分类领域受到了广泛关注。近几年来基于Shapelet的时间序列挖掘已经成 为一个热点问题。
[0004] 目前已有的基于Shapelet的时间序列分类算法,大多是针对小规模数据集的,只 能处理数百上千条时间序列的数据集,无法处理更大规模的数据集。此外,目前已有的基于 Shapelet的时间序列分类算法均未考虑时间序列数据的时间特性,即认为不同时刻的时间 序列数据对算法预测结果的影响是相同的。然而,对于本文的社团演化预测问题,通常较近 时刻的社团状态对于社团演化预测的影响较大,而较早时刻的社团状态对预测的影响较 小。

【发明内容】

[0005] 本发明克服了现有技术的不足,提供一种基于Shapelet的社团演化预测方法。
[0006] 为解决上述的技术问题,本发明采用以下技术方案:
[0007] 一种基于Shapelet的社团演化预测方法,所述的方法包括以下步骤:
[0008] 步骤一、将Shapelet与径向基函数网络相结合;
[0009]步骤二、将找到的代表时间序列数据类别特征的Shapelet作为RBF网络的隐层节 占.
[0010]步骤三、利用梯度下降学习得到隐层和输出层的连接权值。
[0011]更进一步的技术方案是所述步骤二包括:
[0012] 步骤Α、定义Shapelet与时间序列间的距离函数;
[0013] 步骤B、生成候选的Shapelet;
[0014] 步骤C、定义一个度量用于确定每一个Shapelet的区分不同类别的时间序列的能 力。
[0015] 更进一步的技术方案是所述的步骤A包括:按时间加权的Shapelet的与时间序列 间的距离函数,对较近时刻的时间序列数据赋予更大的权重,定义如下:
[0017]其中,Μ是时间序列的最大长度,於0是时间权重参数。
[0018]更进一步的技术方案是所述步骤C包括:使用方差分析来度量Shapelet的质量。 [0019]更进一步的技术方案是所述步骤C包括:采用分箱方法查找top-κ个Shapelet; [0020]包括以下步骤:首先将时间序列数据集对每一维分别进行归一化;
[0021]对归一化后的数据集,生成候选Shapelet;
[0022] 对于候选31^口616丨的每个采样点1^根据分辨率^将其映射为整数|^,:/?'·^
[0023] 更进一步的技术方案是所述步骤C包括:采用随机抽样方法查找top-K个 Shapelet;
[0024] 包括以下步骤:
[0025] 在计算Shapelet的质量度量时,对于较大规模的数据集进行随机抽样,抽取预定 规模的子集;
[0026]对所述子集中的每个时间序列计算其与Shapelet之间的距离,并根据这些距离计 算该Shapelet的质量度量。
[0027]更进一步的技术方案是所述子集的预定规模为:
[0029]其中r是分辨率,I是数据集的大小。
[0030]更进一步的技术方案是还包括SRBFN算法扩展步骤,用于多维时间序列和多分 类。
[0031] 更进一步的技术方案是还包括多维Shapelet MS与多维时间序列MT之间的距离的 扩展步骤,定义为:
[0033] 其中,D(MS)为多维Shapelet的维度集合。
[0034]更进一步的技术方案是还包括步骤四、根据得到的至少一个数据集中的社团演化 轨迹,生成至少一类时间序列数据集。
[0035]与现有技术相比,本发明实施例的有益效果之一是:本发明将Shapelet与径向基 函数网络相结合,将找到的能最大程度代表时间序列数据类别特征的Shapelet作为RBF网 络的隐层节点。本文对筛选Shapelet的过程进行优化,提出分箱和随机抽样两种优化策略, 使其能够适用于较大规模时间序列数据集。同时对Shapelet与时间序列间的距离函数进行 了改进,提出按时间加权的距离函数,对较近时刻的时间序列数据赋予更大的权重。实验表 明,本发明所提算法具有较高的精度和较好的泛化能力,且使用本文所提两种优化策略,算 法效率提高了 1~2个数量级,对距离函数按时间加权,算法的分类准确率平均提高了2%左 右。
【附图说明】
[0036] 图1为本发明一个实施例中SRBFN网络结构示意图。
[0037] 图2为本发明一个实施例中扩展的SRBFN网络结构示意图。
[0038] 图3为本发明一个实施例中分箱和随机抽样对算法效率的影响示意图。
[0039] 图4为本发明一个实施例中分箱和随机抽样对算法效率的影响示意图。
[0040] 图5为本发明一个实施例中分辨率对算法准确率的影响示意图。
[0041 ]图6为本发明一个实施例中Enron数据集中时间加权对算法准确率的影响
[0042]图7为本发明一个实施例中Facebook数据集中时间加权对算法准确率的影响示意 图。
[0043]图8为本发明一个实施例中Enron数据集中算法准确率对比图。
[0044] 图9为本发明一个实施例中使用单个维度情形下Facebook数据集中算法准确率对 比图。
[0045] 图10为本发明一个实施例中使用单个维度情形下Enron数据集中算法准确率对比 图。
[0046] 图11为本发明一个实施例中使用多个维度情形下Facebook数据集中算法准确率 对比图。
[0047] 图12为本发明一个实施例中使用多个维度情形下Facebook数据集中算法准确率 对比图。
[0048]图13为本发明一个实施例中4Enron数据集中迀移学习的算法准确率对比图。
[0049]
【具体实施方式】
[0050] 本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥 的特征和/或步骤以外,均可以以任何方式组合。
[0051] 本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙 述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只 是一系列等效或类似特征中的一个例子而已。
[0052] 下面结合附图及实施例对本发明的【具体实施方式】进行详细描述。
[0053]根据本发明的一个实施例,本实施例公开一种基于Shapelet的社团演化预测方 法。该方法将复杂的社团演化预测问题转化为时间序列分类问题,提出基于Shapelet的时 间序列分类算法SRBFN。新方法将Shapelet与径向基函数网络相结合,将找到的top-K个最 优的Shap e 1 e t作为RBF网络的隐层节点。同时对Shap e 1 e t与时间序列间的距离函数进行改 进,提出按时间加权的距离函数,对较近时刻的时间序列数据赋予更大的权重。并对筛选 Shapelet的过程进行了优化,提出分箱和随机抽样两种优化策略,使其能够适用于较大规 模时间序列数据集。
[0054] 具体的,以下是本实施例公开的相关概念与定义:
[0055] 定义1(社团演化轨迹)对于某一社团c,对其进行等间隔采样,其第i个状态为Cl, 则该社团的演化轨迹可表示为〇'={(3 1,(:2,...,(^},其中111是社团演化轨迹的长度。对社团(3 的每个状态 Cl,计算社团的节点数作为其状态特征,便可以得到一维时间序列。若对每个社 团状态Cl,取多个指标(如节点数、边数、社团层次等)作为其状态特征,则可以得到多维时 间序列。
[0056] 定义2(-维时间序列)T = xi,X2, . . .,xm是对变量X进行等间隔采样得到的m个有序 实数值,其中Xl是变量X在i时刻的采样值。
[0057]定义3(多维时间序列. . .,Xm是对多个变量按时间进行等间隔采样得 至|J的m个有序实向量,其中Xi = xi,i,xi,2,. . .,xi,n是对η个变量在i时刻采样得到的η维向量。 时间序列数据集由I个训练实例组成,每个实例是一个时间序列,其类别Ye {0,1}。
[0058] 定义4(Shapelet)对于给定的一维时间序列Τ = χι,Χ2,…,Xm,Shapelet是T的一个 连续子序列,表示为S = xi,xi+i,. . .,xi+i-1,其中i是起始时间,1是Shapelet的长度。定义5 (Shapelet与时间序列间的距离)对于给定的Shapelet S和时间序列T,且len(S)<len(T), 其中lenO为序列长度,则Shapelet与时间序列间的距离是一个非负的实数值,表示为Dist (S,T)。
[0059]定义6(径向基函数)设d= I |x-c| I是点x到中心c之间的距离,则径向基函数定义 为
[0061]其中,α是径向基函数的扩展常数,它反应了函数对距离d的敏感区间的宽度。RBF 网络的基本思想是用径向基函数作为隐层单元,将输入向量映射到高维隐层空间,并在这 个高维空间进行曲线的拟合。RBF网络中隐层节点的选取是影响RBF网络的性能关键因素。 传统的RBF网络通常采用对原始数据进行聚类,将得到的k个聚类中心作为其隐层的k个中 心。
[0062]本实施例将k个最好的Shapelet作为RBF网络的隐层单元,构建SRBFN网络,这里的 最好指的是能最大程度区分不同类别时间序列的能力。SRBFN的网络结构如图1所示,网络 的输入是一个一维时间序列T,隐层节点是K个Shapelet,第k个隐层单元的输出为
[0064]整个网络的实际输出是各个隐层单元输出的累加,可表示为
[0066]其中wk是第k个隐层单元和输出单元之间连接的权值。
[0067] SRBFN网络的求解分为两步,首先确定最优的K个Shapelet作为隐层节点,然后利 用梯度下降学习得到隐层和输出层的连接权值W。
[0068]本实施例中要找出有区分能力的Shapelet,首先要定义Shapelet与时间序列间的 距离函数,然后生成候选的Shapelet,最后还需要定义一个度量来确定每一个Shapelet的 好坏程度,即区分不同类别的时间序列的能力。
[0069] 具体的,长度为L的Shapelet S与时间序列T之间的距离一般定义为,Shapelet S 与该时间序列T中所有长度为L的子序列间距离的最小值,其定义如下:
[0071] 其中,J是时间序列T的所有长度为L的子序列的个数。其计算过程为,首先生成时 间序列T中所有长度为L的子序列,计算每个子序列与Shapelet S之间的欧式距离,找到最 小距离对应的子序列,该子序列的位置即为Shapelet S与时间序列T的最佳匹配位置,该最 小距离即为Shape 1 et S与时间序列T之间的距离。公式4定义的距离函数认为时间序列任意 位置的权重是相同的,没有考虑到时间因素的影响。然而,对于有些时间序列分类问题,不 同时刻的时间序列数据对于最终分类结果的影响是不同的。对于本实施例的社团演化预测 问题,直觉上较近时刻的社团状态对于社团演化预测的影响较大,而较早时刻的社团状态 对预测的影响较小。
[0072] 作为优选的实施方案,本实施例提出了按时间加权的Shapelet的与时间序列间的 距离函数,对较近时刻的时间序列数据赋予更大的权重,定义如下:
[0074]其中,Μ是时间序列的最大长度,是时间权重参数。对于较近时刻的时间序列
数据,即j较大时,
较小;对于较早时刻的时间序列数据,即j较小时, 大。这样,在计算最佳匹配位置时,Shapelet更倾向匹配较近时刻的子序列,即较近时刻的 数据对Shapelet与时间序列间的距离的影响更大,且β越大时间因素的影响越大。当β = 0 时,该距离等同于不按时间加权的距离函数。
[0075]进一步的,为了确定候选的Shapelet的好坏程度,本实施例使用方差分析(AV0VA) 来度量Shapelet的质量。其他可以使用的Shapelet质量度量还包括信息增益、信息增益率 等。出于算法效率因素的考虑,本实施例采用的是最简单的单因素方差分析。将计算得到的 Shapelet与各个时间序列间的距离,按照时间序列的类别分成不同的组,检验统计量
[0077]其中,MS'纟= -复)VCj. -1)是组间的均方差,g是不同组的个 数,ru是第i组的时间序列数目,
丨是组内的均 方差,N是时间序列总数。
[0078]度量F越大,表明不同组的距离整体相差越大,即Shapelet更能够区分不同类别的 时间序列,Shape let的质量越好。
[0079] 进一步的,本实施例提出分箱和随机抽样两种优化策略,使其能够适用于较大规 模时间序列数据集。下面分别介绍这两种优化策略。
[0080] 优化策略I.分箱(Binning)
[0081 ] 算法ShapeletCachedSelection可以看作是在整个候选Shapelet空间中找出最优 的1(个31^6161:。该算法的一个性能瓶颈是,生成的候选51^6161:过多。51^6161:中每个数 据点的取值都是实数,整个Shapelet的搜索空间是无穷大的。随着数据集规模的增大,候选 Shapelet的规模也会随之增加,并且理论上候选Shapelet的规模是没有上限的。
[0082]因此,本实施例提出的一个优化思路是,通过分箱来减小候选Shapelet的规模。为 了控制分箱的数目,本实施例定义分辨率r e (〇,1),则P./r|为对单个数据点分箱的数目。
[0083]具体方法是,首先将时间序列数据集对每一维分别进行归一化。对归一化后的数 据集,生成候选Shape let。对于候选Shapelet的每个采样点Xi,根据分辨率r,将其映射为整 数 1七/?1。例如,对于某一长度为 3 的候选 Shapelet (0 · 8531679,0 · 7989563,0· 7464707 ),分 辨率r = 0.01,分箱后的结果为(85,79,74)。将分箱后得到的整数乘以分辨率,便可以还原 得到与原Shapelet近似的Shape let,用于Shapelet与时间序列之间距离的计算。
[0084]通过分箱操作,可以将相似的Shapelet合并成一个,这一方面减少了候选 Shapelet的数量,同时还降低了算法对于数据噪声的敏感程度。分箱后的Shapelet是一个 整数序列,在计算完其质量度量后,可将其保存起来。在后续的计算过程中,如遇到相同的 Shapelet,则可以避免重复计算其质量度量,以进一步提高算法效率。
[0085] 优化策略II.随机抽样(Random Sampling)
[0086] 原始算法在计算候选Shapelet的质量度量时,需要遍历整个数据集,计算该 Shapelet与每个时间序列之间的距离,然后根据这些距离计算Shapelet的质量。对于规模 较大的时间序列数据集,该操作的时间开销非常大,是整个算法的瓶颈。因此,本实施例提 出在计算Shapelet的质量度量时,对于较大规模的数据集进行随机抽样,抽取一定规模的 子集。对子集中的每个时间序列计算其与Shapelet之间的距离,并根据这些距离计算该 Shapelet的质量度量。抽取的子集的规模为
[0088]其中r是分辨率,I是数据集的大小。注意,本实施例只对较大规模的时间序列数据 集进行随机抽样,对于较小规模的时间序列数据集
,不进行随机抽样。
[0089]算法2给出了同时使用以上两种优化策略,查找top-κ个Shapelet的具体实现。对 于时间序列数据集T中的每个时间序列,算法首先生成候选Shape let,然后对候选Shapelet 进行分箱操作。算法第8至17行是对于每个候选Shapelet计算其质量度量的过程,其中9至 12行判断该Shapelet是否已经计算过其质量度量,如果计算过则跳过该Shapelet的计算过 程,13至17行是对数据集进行抽样的过程,算法19至22行计算该Shapelet的质量并保存起 来。接下来对候选Shapelet按质量降序排序,并从中去除重叠的Shape let。最后将剩余的 Shapelet合并到kShapelets中,只保留最优的K个Shapelet。

[0092] 将上述步骤得到的top-κ个Shapelet作为SRBFN的隐层节点,接下来要学习隐层节 点和输出节点之间的连接权值。对于二分类问题,真实目标变量Y的值只能取〇或1,因此本 实施例使用对数损失函数。对于给定的top-K个Shapelet{Si,S2, . . .,Sk}及某一时间序列T, 真实目标变量Y和预测值f:之间的损失函数为:
[0097]本实施例使用随机梯度下降来学习权值W。为此,将该损失函数对权值Wk求偏导, 根据链式法则,有:
[0102]算法3给出了基于Shapel et的社团演化预测算法SRBFN的具体实现。首先对时间序 列数据集进行归一化,然后找出top-K个最优的Shapelet,最后使用随机梯度下降学习得到 隐层和输出层之间的连接权值。

[0105] 进一步的,本实施例还包括4SRBFN算法扩展步骤,以适用于多维时间序列和多分 类的情况。首先公开如下定义:
[0106] 定义7 (多维Shapelet)给定η维时间序列ΜΤ = Χι,X2,· · .,Xm,其中Xi = Xi, 1, xi,2,. . .,xi,n是对η个变量在i时刻采样得到的η维向量。则多维Shapelet是该η维时间序列 在其维度子集上的一个连续子序列,表示为MS = J;%^…中,:r £ i 是起始时间,1是多维Shapelet的长度。
[0107] 例如,对于长度为5的3维时间序列{(0.85,0.56,0.32),(0,79,0.58,0.35), (0.74,0.60,0.29) ,(0.78,0.53,0.31 )},可以得到如下长度为3的多维Shapelet。
[0108] 在维度 1 上可以得到:{0.85,0.79,0.74}和{0.79,0.74,0.78}。
[0109] 在维度2上可以得到:{0.56,0.58,0.60}和{0.58,0.60,0.53}。
[0110] 在维度3上可以得到:{0.32,0.35,0.29}和{0.35,0.29,0.31}。
[0111] 在维度 1、2上可以得到:{(0.85,0.56) ,(0.79,0.58),(0.74,0.60)}和{(0.79, 0.58),(0.74,0.60),(0.78,0.53)}〇
[0112] 在维度 1、3上可以得到:{(0.85,0.32) ,(0.79,0.35), (0.74,0.29)}和{(0.79, 0.35),(0.74,0.29),(0.78,0.31) }〇
[0113] 在维度2、3上可以得到:{(0.56,0.32) ,(0.58,0.35), (0.60,0.29)}和{(0.58, 0.35),(0.60,0.29),(0.53,0.31)}〇
[0114] 在维度 1、2、3上可以得到:{(0.85,0.56,0.32),(0,79,0.58,0.35),(0.74, 0.60, 0·29)}和{(0,79,0·58,0.35),(0.74,0·60,0·29),(0.78,0.53,0.31)}。
[0115] 对于长度为m的η维时间序列,共可得到(2n-l)(m-L + l)个长度为L的候选 Shapelet。对于维度较高的时间序列,生成的候选Shapelet过多。因此,本实施例只在单个 维度以及两个维度上生成候选Shapelet,这样候选Shapelet的数目就减少为
[0116] 多维Shapelet MS与多维时间序列MT之间的距离也要做相应的扩展,其定义为
[0118] 其中,D(MS)为多维Shapelet的维度集合。
[0119] 多分类问题可以转化为多个二分类问题。对于包含C个类别的多分类问题,其目标 变量Ye {1,2,...C},可以将其转换为C个二值变量,每个二值变量Yi = δ(γ=?),其中δ是指 示函数。扩展后的SRBFN网络结构如图2所示,网络的输入是一个多维时间序列ΜΤ,隐层节点 是Κ个多维Shapelet,第k个隐层单元的输出为
[0123]各个输出单元的学习过程是相互独立的。第j个输出单元的预测值.?和目标变量 Yj之间的损失函数为
[0125]其对权值Wj,k求偏导得
[0127]算法4给出了扩展后的基于Shapelet的社团演化预测算法的具体实现。
[0130] 具体的,本实施例使用Enron和Facebook两个数据集,对两个数据集按周划分,并 去除节点数过少的周,分别得到157和164个网络快照。在划分后的两个数据集上,得到多层 次社团演化轨迹。根据得到的两个数据集中的社团演化轨迹,本实施例生成两类时间序列 数据集。
[0131] 第一类时间序列数据集:
[0132] 对每个社团的演化轨迹数据,取时间在1 一140之间的部分,对每个时刻的社团,计 算4个指标作为其状态特征(分别是社团节点数、边数、社团层次H[11]、社团稳定程度1[11]), 构建多维时间序列。预测目标是t周之后,社团是否稳定存在。如果t周之后社团节点数减少 了25%以上,认为社团是不稳定的,该时间序列的类标为1;否则,该时间序列的类标为0。根 据预测时间的长短,即取1={2,4,6,8,10},分别生成编号为2、4、6、8、10的时间序列数据 集。
[0133]根据定义5,时间序列的长度要大于Shapelet的长度,本实施例实验部分Shapelet 的最大长度为12。因此需要从数据集中去除长度小于12的时间序列。
[0134] 经过以上步骤生成的时间序列数据集中,数据类别分布倾斜十分严重,90%左右 的数据都是负例(社团稳定,类标为〇)。因此,本实施例对数据集进行重抽样。抽样方法为, 将所有正例加入到新数据集中,并从负例中随机抽取与正例数目相同的负例加入新数据 集,该数据集即为第一类时间序列数据集。表1给出了第一类时间序列数据集规模。
[0135] 表1第一类时间序列数据集规模
[0137] 实验中,对于每个数据集,随机抽取20%用作训练数据,剩余的80%用作测试数 据。
[0138] 第二类时间序列数据集:
[0139] 训练集的生成方法是:取t = 10,按生成第一类时间序列数据集的方法,分别生成 时间在1一 100、1一110、1一120、1一 130之间的时间序列数据集。然后对生成的这四个数据 集,分别进行随机抽样,每个数据集的正例和负例各抽2000个。这样便得到包含16000条时 间序列的数据集。该数据集作为训练集。
[0140]测试集的生成方法是:同样取t = 10,按生成第一类时间序列数据集的方法,生成 时间在1 一 140之间的时间序列数据集。对该数据集进行重抽样,正例和负例各抽取8000个, 这样便得到与训练集相同大小的测试集。
[0141]本实施例进一步对上述步骤的预测方法得到的结果进行实验分析,具体的,如图3 和图4给出了查找top-K个Shape let的算法的运行时间随数据集规模的变化情况,其中分辨 率r = 0.01。图中"原始算法"是不使用优化策略的算法,"原始算法+分箱"是仅使用分箱策 略进行优化的算法,"原始算法+随机抽样"是仅使用随机抽样策略进行优化的算法,"原始 算法+分箱+随机抽样"是同时使用两种优化策略的算法。图中横坐标是数据集规模,纵坐标 是算法运行时间,其中图3的纵坐标是普通坐标,图4的纵坐标是对数坐标。
[0142] 从图3中可以看出,原始算法的运行时间随着数据集规模的扩大而快速增加,当训 练集规模为10000时,其运行时间超过40个小时。图4的实验结果表明,本实施例提出的两种 优化策略,均能大幅降低算法时间开销,提高算法效率。且同时使用两种优化策略,算法运 行时间会进一步降低。数据集规模越大,算法效率提高越明显。使用两种优化策略后,算法 效率较原始算法提高了 1~2个数量级。
[0143] 本实施例进一步给出算法各个参数的选取方法。其中,学习率riiO.OUShapelet 长度集合L和分辨率r取固定值,将在后面详细说明。其余参数通过在训练集上使用5折交叉 验证的网格搜索得到。
[0144] 本实施例将Shapelet的最小长度设为其中Μ为时间序列的最大 长度。Shapelet的长度集合1^=仏_,21^,31^,41^}。在本实施例的数据集中,最长的时 间序列长度为140,因此L min = 3,Shapelet的长度集合L={3,6,9,12}。
[0145] 分辨率是影响算法效率的重要因素。分辨率r越大,分箱的数目就越少,抽样数目 也越少,因此算法运行速度就越快;分辨率r越小,分箱数目就越多,抽样数目也越多,因此 算法运行速度就越慢。图5给出了分辨率r对算法准确率的影响。该实验的数据集是编号为2 的第一类时间序列数据集。其他的参数的取值为α = 0.1,β = 0,K = 70。
[0146] 从图5中可以看出,在分辨率r取值较大(r>0.1)时,两个数据集上算法的准确率会 随着分辨率取值的减小而提高。当分辨率取值较小( r〈〇. 1)时,两个数据集上算法的准确率 受分辨率的影响不大。当分辨率取值过大时,分箱的粒度过粗,会丢失大量的信息,因而算 法分类准确率较低。随着分辨率的减小,分箱粒度逐渐变细,能够捕获数据集中越来越多的 信息,算法准确率也随之提高。当分辨率小到一定程度时,数据集中剩余的信息多为随机 噪声,因此继续降低分辨率不会提高算法的分类准确率。本实施例后续实验中的分辨率均 设为0.01。
[0147] 其余参数通过在训练集上使用5折交叉验证的网格搜索得到。各个参数的搜索范 围分别为:Siapelet数目K e {〇. 5M,1M,1.5M,2M},其中Μ是时间序列的最大长度;时间加权 参数杉£{0,0.5,1,2,4};径向基函数扩展常数€[£{10,5,2,1,0.5,0.2,0.1,0.05,0.02, 0.01,0.005,0.002,0.001}0
[0148] 本实施例的实验部分使用两类方法作为对比。一类是传统的机器学习算法,另一 类是基于Shapelet的方法。下面分别进行说明。
[0149] 传统机器学习算法:
[0150] 由于数据集中的时间序列长短不一,因此无法直接将时间序列数据作为输入,应 用传统的机器学习算法进行分类。为此,本实施例首先对时间序列进行特征提取,然后将提 取后的特征作为输入,使用传统的机器学习算法进行分类。该类方法使用的特征由三部分 构成:
[0151] (1)将时间序列的长度归一化后作为第一个特征。
[0152] (2)对于时间序列的每个维度,计算时间序列在该维度的最小值、最大值、均值和 标准差,作为其特征。
[0153] (3)对于时间序列的每个维度,取时间序列在该维度最近12个时刻的取值,作为其 特征。这里取12,是因为在生成实验数据时,保证了所有时间序列的长度均不小于12。
[0154] 进行特征提取后,本实施例使用逻辑回归和支持向量机(无核函数)两种分类算 法,后续的实验中分别记作LR和SVM。
[0155] 基于Shape let的方法:
[0156] 本实施例使用方法Stat-F作为对比方法。该方法将Shapelet作为特征提取的方 式,将原始时间序列数据集转换为标准的数据集。然后在转换后的数据集上使用传统的机 器学习算法进行分类。本实施例在Stat-F算法转换后的数据集上使用逻辑回归和支持向量 机(无核函数)两种分类算法,后续的实验中分别记作Stat-F-LR和Stat-F-SVM。
[0157] 其他常用的时间序列分类方法,还有基于DTW距离的最近邻算法。然而该方法在计 算DTW距离时需要消耗大量时间,算法的预测速度过慢。经测试,该方法在训练集规模为 10000时,每对一条数据进行预测平均需要花费70s左右的时间,对于本实施例的数据集规 模来说,该算法要花费数月甚至数年的时间,不具有可行性。因此本实施例未将该方法作为 对比算法。
[0158] 进一步的,如图6和图7给出了时间加权对算法准确率的影响。图中"不按时间加 权"指算法使用欧式距离,即使用公式4计算Shapelet与时间序列之间的距离;图中"按时间 加权"指对距离公式按时间加权,即使用公式5计算Shapelet与时间序列之间的距离。横坐 标表示预测目标时间t,即预测t时刻之后的社团是否稳定存在。分别对应本实施例中编号 为2,4,6,8,10的第一类时间序列数据集。纵坐标为算法的分类准确率。从图6和图7中可以 看出,在Enron数据集中,按时间加权的算法分类准确率明显高于不按时间加权的算法,在 Facebook数据集中,除了 t = 4的情况外,按时间加权的算法分类准确率均高于不按时间加 权的算法。该实验结果表明,本实施例提出的对Shapelet与时间序列间的距离按时间加权 可以有效提高算法准确率,在两个数据集中算法准确率平均提高了 2%左右。
[0159] 从图6和图7中还可以看出,在Enron和Facebook两个数据集上,算法准确率随着时 间t的增大呈下降趋势。后续的实验中也可以看到这一结果。这是符合实际情况的,预测目 标时间距当前时刻越久,预测难度就越大,算法的准确率也会相应呈下降趋势。
[0160] 如图8和图9给出了只使用时间序列的单个维度的算法准确率对比。该实验只使用 时间序列的"社团内节点数"这一维度,并在图中相应的方法后面用(s)标记。图中横坐标表 示预测目标时间t,纵坐标表示算法分类准确率。Enron数据集中,除了t = 2的情况外,本实 施例算法S R B F N的分类准确率均明显好于对比算法。F a c e b ο 〇 k数据集中,除了 t = 4的情况 外,本实施例算法均明显好于对比算法。
[0161] 如图10和图11给出了使用时间序列的多个维度的算法准确率对比。该实验使用时 间序列的"社团内节点数"、"社团内边数"、"社团层次"、"社团稳定程度"全部四个维度,并 在图中相应的方法后面用(m)标记。图中横坐标表示预测的目标时间t,纵坐标表示算法分 类准确率。算法Stat-F只能处理一维时间序列数据,因此没有被包含在本实验中。
[0162] 从图10和图11中可以看出,在Enron和Facebook两个数据集中,当预测目标时间距 当前时刻较近(t = 2,4)时,本实施例的算法SRBFN的分类准确率低于对比算法,当预测目标 时间距当前时刻较远(t = 6,8,10)时,本实施例算法明显优于对比算法。
[0163]图8至图11的实验结果表明,与传统的分类算法和基于Shapelet的Stat-F算法相 比,本实施例所提算法SRBFN能更好的对社团演化进行建模和预测,特别是对于较长时间的 社团演化预测,其分类准确率更高。
[0164]为研究算法的迀移学习能力,本节的实验采用第二类时间序列数据集,即已知t = 1 一 140的社团演化数据,对其进行建模以预测t = 150时,社团是否稳定存在。如图12和图13 给出了使用时间序列的单个维度以及多个维度进行迀移学习时算法分类准确率。迀移学习 的难度较大,要求算法具有较好的泛化能力。从较早时间数据中学习得到的社团演化模 式,很可能在后面一段时间中变得不再适用,因此,图12和图13中的算法分类准确率均较 低。
[0165] 从图12和图13中可以看出,在Enron和Facebook两个数据集中,本实施例所提算法 SRBFN在使用时间序列的单个维度以及多个维度进行迀移学习时算法分类准确率均高于对 比算法,表现出了较好的泛化能力。这说明本实施例所提算法SRBFN能够好的捕获到社团演 化的一般规律。
[0166] 本实施例对社团演化预测问题进行了初步探索,将社团演化预测问题转化为典型 的时间序列分类问题。提出一个新的基于Shapelet的时间序列分类算法SRBFN。该算法将 Shapelet与径向基函数网络相结合,将Shapelet作为RBF网络的隐层节点构建SRBFN网络, 然后通过随机梯度下降方法学习网络连接权值。本实施例还对筛选Shapelet的过程进行优 化,提出分箱和随机抽样两种优化策略。同时对Shapelet与时间序列之间的距离函数进行 改进,提出按时间加权的距离函数。
[0167] 实验表明,本实施例所提筛选Shapelet过程的两种优化策略能大幅提高算法效 率,且按时间加权距离函数能有效提高算法分类准确率。与对比算法相比,本实施例所提算 法具有较高的精度和较好的泛化能力,且更适合对社团演化进行长期预测。
[0168] 在本说明书中所谈到的"一个实施例"、"另一个实施例"、"实施例"等,指的是结合 该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。 在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一 个实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种 特征、结构或者特点也落在本发明的范围内。
[0169] 尽管这里参照发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本 领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请 公开的原则范围和精神之内。更具体地说,在本申请公开权利要求的范围内,可以对主题组 合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型 和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
【主权项】
1. 一种基于Shapelet的社团演化预测方法,其特征在于:所述的方法包括w下步骤: 步骤一、将Shapelet与径向基函数网络相结合; 步骤二、将找到的代表时间序列数据类别特征的Shapelet作为RBF网络的隐层节点; 步骤Ξ、利用梯度下降学习得到隐层和输出层的连接权值。2. 根据权利要求1所述的基于化apelet的社团演化预测方法,其特征在于所述的步骤 二包括: 步骤A、定义Shapelet与时间序列间的距离函数; 步骤B、生成候选的Shapelet; 步骤C、定义一个度量用于确定每一个Shapelet的区分不同类别的时间序列的能力。3. 根据权利要求2所述的基于化apelet的社团演化预测方法,其特征在于所述的步骤A 包括:按时间加权的化ape 1 et的与时间序列间的距离函数,对较近时刻的时间序列数据赋 予更大的权重,定义如下:其中,Μ是时间序列的最大长度,0是时间权重参数。4. 根据权利要求2所述的基于化apelet的社团演化预测方法,其特征在于所述的步骤C 包括:使用方差分析来度量化apelet的质量。5. 根据权利要求2所述的基于化apelet的社团演化预测方法,其特征在于所述的步骤C 包括:采用分箱方法查找top-K个Siapelet; 包括W下步骤:首先将时间序列数据集对每一维分别进行归一化; 对归一化后的数据集,生成候选Shapelet; 对于候选Shapelet的每个采样点XI,根据分辨率r,将其映射为整数6. 根据权利要求2所述的基于化apelet的社团演化预测方法,其特征在于所述的步骤C 包括:采用随机抽样方法查找top-K个Siapelet; 包括W下步骤: 在计算化apelet的质量度量时,对于较大规模的数据集进行随机抽样,抽取预定规模 的子集; 对所述子集中的每个时间序列计算其与化apelet之间的距离,并根据运些距离计算该 Siapelet的质量度量。7. 根据权利要求6所述的基于化apelet的社团演化预测方法,其特征在于所述的子集 的预定规模为:其中r是分辨率,I是数据集的大小。8. 根据权利要求1所述的基于化apelet的社团演化预测方法,其特征在于还包括SRBFN 算法扩展步骤,用于多维时间序列和多分类。9. 根据权利要求1或8所述的基于化apelet的社团演化预测方法,其特征在于还包括多 维化apelet MS与多维时间序列MT之间的距离的扩展步骤,定义为:其中,D(MS)为多维Shapelet的维度集合。10.根据权利要求1所述的基于化apelet的社团演化预测方法,其特征在于还包括步骤 四、根据得到的至少一个数据集中的社团演化轨迹,生成至少一类时间序列数据集。
【文档编号】G06K9/62GK106096643SQ201610397836
【公开日】2016年11月9日
【申请日】2016年6月7日
【发明人】李川, 张永辉
【申请人】四川大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1