基于序列重要点的时间序列分割
基于STL的时间序列异常检测方法研究

基于STL的时间序列异常检测方法研究时间序列数据分析在当今的数据科学和工程应用中,扮演着越来越重要的角色。
时间序列数据常常被应用于预测、监测、调整和优化等领域,例如股票市场预测、机器故障检测、交通流量预测等。
但在实践应用中,时间序列数据中往往包含异常值即与正常趋势偏离较远的数据点,可能由于故障、错误或其他未知因素引起。
因此,时间序列异常检测方法成为了必不可少的一环。
在过去的几十年里,许多基于统计学、机器学习和深度学习等技术的时间序列异常检测方法被提出。
本文将介绍一种基于STL(分解趋势季节性残差)的时间序列异常检测方法,并探讨其优点和应用场景。
一、STL分解方法STL是一种时间序列分解的方法,将序列拆分为三个组成部分:趋势、季节性和残差。
这种方法最初是由Cleveland等人在1990年提出的,其基本思想是先对原始时间序列进行平滑,并分解出能够追踪时间序列变化趋势的部分(趋势),然后根据季节性和残差的特点对序列进行分解。
STL方法提取的趋势部分不仅具有更好的平滑效果,还能够自适应地跟踪趋势的改变。
二、基于STL的异常检测方法本文提出的基于STL的异常检测方法,主要是基于STL分解的残差部分来进行异常检测。
具体来说,分为以下步骤:1. 对原始时间序列进行STL分解,得到趋势、季节性和残差三个部分;2. 对残差部分进行标准化处理,以将其转换为具有零均值和单位方差的序列,以应对不同尺度的数据;3. 选择一个异常检测算法,例如z分数、箱线图或LOF(局部离群因子)等,来对标准化的残差序列中的异常点进行检测;4. 将检测到的异常点映射回原始时间序列中,并将其在数据可视化中进行展示,以帮助用户识别和解释异常。
三、基于STL的异常检测方法的优点和应用场景与其他时间序列异常检测方法相比,基于STL的异常检测方法有以下几个优点:1. 分离出趋势和季节性,而不是将所有异构分析都包括在一个模型中,因此,可以提高模型的稳健性和预测准确率;2. 在残差序列上进行异常检测,提高了检测精度;3. STL分解具有参数可调功能,用户可以根据不同需求进行参数调整,以满足不同应用场景的需求。
pettitt突变检验原理

pettitt突变检验原理Pettitt突变检验原理是一种用于检验时间序列数据中是否存在突变点的统计方法。
该检验方法基于统计学原理,通过计算序列在不同可能的突变点位置上的分割点统计量,来评估数据序列中突变的显著性。
Pettitt突变检验的原理是假设在数据序列中存在一个突变点,该突变点将数据序列分为两个具有不同分布特征的部分。
然后,通过对比两个部分的分布特征来判断突变的显著性。
检验过程主要分为以下几个步骤:1. 计算序列中的秩次值:对于输入的时间序列数据,先对其进行排序,并为每个观测值分配一个秩次值。
秩次值是该观测值在排序后的序列中的位置。
2. 计算统计量:在每个可能的突变点位置上,将数据序列划分为两部分,并计算两部分的秩次和。
然后,计算所有可能突变点位置上的秩次和的最大值。
3. 计算Pettitt检验统计量:将得到的最大秩次和进行标准化处理,得到一个与样本大小无关的统计量。
这个统计量可以用来评估数据序列是否存在突变。
4. 判断突变显著性:将计算得到的Pettitt检验统计量与临界值比较,以确定数据序列是否存在显著的突变。
临界值可以通过查找参考表格或使用模拟法进行计算得到。
Pettitt突变检验方法在时间序列数据分析中具有重要的应用价值。
它可以帮助研究人员识别异常、突变或结构变化,从而预测未来的趋势或行为。
该方法应用广泛,包括环境科学、气象学、经济学等领域。
除了Pettitt突变检验方法之外,还有其他一些常用的突变检验方法,例如Mann-Kendall突变检验、Spearman突变检验等。
这些方法在检验时间序列数据中的突变点时,都采用了不同的统计原理和统计量,因此可以根据不同的问题和数据特点选择合适的方法进行分析。
综上所述,Pettitt突变检验原理是一种基于统计学的方法,通过计算数据序列在不同可能的突变点位置上的统计量,来判断数据序列是否存在突变。
该方法的基本思想是比较两个可能突变点位置上的分割点统计量,以评估数据序列中突变的显著性。
基于趋势转折点的时间序列模式表示

射 和分段线性表示 ( L )S P R E 。其 中, ] 分段线性表
示方 法利 用 直 线段 来 近 似 表示 时 间 序 列 的局 部 波
动, 具有时间多解析, 而且 支持快速的相似性检索
和新 的距 离 , 是一 种 很好 的数 据 压缩 和消 除 噪声 的 方法 , 而且 多数 的 P R表示 方 法支 持 时 间序 列 的动 L
序 列进行 有效 压缩 的 目的。
1 时 间序列的分段线性表示
分 段 线 性 化 近 似 表 示 时 间 序 列 的算 法 由 K - e oh6于 19 gL 97年 引入 时间序列 数 据挖 掘 领域 。这 种 方 法将 复杂 曲线 简化 表 示 为 有 限个 直 线 段 , 即提 取
间序列 时变特征的基础 上, 以有效地提取时间序列中的趋势及压缩原始 数据。仿真 实验 证 明, 方法具有 高效、 可 该 实现 简便、
效果直观 的优点, 对于油 田测井领域的数据适应性 良好 。 关键词 时间序列 分段线性表 示 趋势 转折 点
中图法分类号
T 319 F9. ;
这些转 折 点 间 的 数 据 可 以通 过 直 线 插 补 的 方 法 来
科学基金( 20 — 黑龙 江省教育厅科研课题( 20 5 资助 F07 1 ) 1 1 5 10 ) 1
第一作者简介 : 红 (99 ) 女 , 师, 士 , 肖 17一 , 讲 硕 研究 方 向: 智能
优化算法 。
式, 能更好地代表这个时间序列 的本质特征 , 以, 所
本文认 为将 这 些 转 折 点 作 为 P R方 法 中 提取 分 段 L
时 间序列 的某些 点 的基 本趋 被错 误 提取 。 在进行 分 段 线 性 表 示 原 始 时 间 序 列 数 据 的 同 时 , 序列 中 的一 些 重要 数 据 点 是 必 须 被 保 留 的 , 原 如 : 到一 定 变 化 幅度 的极 值 点 、 缘 幅 度 变 化 剧 达 边 烈 的点或是 局部 极值 点 和 拐 点 , 因为 这 些 数据 点 保 存 着 时 间序 列 变 化 的 主要 特 征 模 式 。而 在 这 些 研
时间序列判别分析

时间序列判别分析时间序列判别分析(time series discriminant analysis)是一种应用于时间序列数据的统计分析方法。
它的主要目的是根据所研究的时间序列数据的不同特征,对其进行分类判别。
时间序列数据是在时间上按一定间隔采集而成的一系列数据点的集合,可以按时间顺序排列,用于分析和预测未来的趋势和模式。
时间序列判别分析可以在很多领域中被应用。
例如,在经济学中,我们可以使用时间序列判别分析来对股票市场的涨跌进行预测;在生物医学中,我们可以使用时间序列判别分析对患者的身体指标进行预测和判断;在气象学中,我们可以使用时间序列判别分析来预测气温、降雨等气象变量。
时间序列判别分析的基本思想是基于时间序列数据的统计特征,将其与不同分类标签进行对比。
通常,时间序列数据的统计特征可以包括均值、方差、自相关性、峰度、偏度等。
这些特征可以帮助我们理解时间序列数据的总体分布和变化趋势。
通过计算不同分类标签下时间序列数据的统计特征,我们可以建立判别函数来对未知类型的时间序列进行分类。
为了进行时间序列判别分析,我们首先需要选择合适的特征提取方法。
常用的特征提取方法包括统计方法、频域方法和时域方法等。
统计方法主要是计算时间序列数据的一些统计特征,如均值、标准差等。
频域方法是将时间序列数据转化为频域信号,并提取频谱特征,如功率谱密度、频率成分等。
时域方法是在时间维度上对时间序列数据进行分析,如时间序列的自相关性和偏自相关性等。
在特征提取之后,我们还需要选择合适的判别函数。
常用的判别函数包括线性判别函数和非线性判别函数等。
线性判别函数可以通过线性组合来对时间序列数据进行判别,如线性回归、线性判别分析等。
非线性判别函数则可以对非线性的时间序列数据进行判别,如支持向量机、神经网络等。
时间序列判别分析的性能可以通过交叉验证等方法进行评估。
交叉验证是一种将数据集分为训练集和测试集的方法,用训练集来训练模型,然后用测试集来评估模型的泛化能力。
黄金分割与时间序列分析数学规律在时间序列预测中的应用

黄金分割与时间序列分析数学规律在时间序列预测中的应用时间序列分析是一种常见的数据分析方法,广泛应用于经济学、金融学、统计学等领域。
在时间序列预测中,黄金分割和时间序列分析数学规律是两个重要的概念,如何应用这些数学规律进行时间序列预测是本文的主要讨论内容。
时间序列分析是一种研究数据在时间上变化规律的方法,其基本假设是数据点之间的关系是随时间变化而变化的。
在时间序列预测中,我们往往需要找到一种能够准确描述数据变化规律的数学模型,并据此进行未来数据的预测。
而黄金分割在时间序列分析中具有一定的数学规律性,可以用于数据的拟合和预测。
黄金分割是一个古老而神秘的数学概念,指的是一种特殊的比例关系,即两个数量的比例等于较大数量与整体的比例。
用数学符号表示为a/b=(a+b)/a,其中a是较大的数量,b是较小的数量。
黄金分割常常被认为是一种美学原则,被广泛应用于建筑、艺术等领域。
然而,在时间序列分析中,黄金分割也被应用于数学模型的建立和拟合。
在时间序列预测中,我们可以利用黄金分割的数学规律,找到最佳的拟合曲线。
假设我们有一组时间序列数据,我们可以通过调整数据的切割点,使得切割点两侧的数据满足黄金分割的比例关系。
通过不断迭代,我们可以得到最佳的切割点,从而得到最佳的拟合曲线。
这种方法可以提高时间序列模型的准确性,进而提高预测的准确性。
除了黄金分割,时间序列分析中还有其他数学规律可供应用。
例如,平稳性是一个重要的数学规律,用于描述数据的平均值和方差是否随时间变化。
在时间序列预测中,我们通常需要对数据进行平稳性检验,以确保数据在建模过程中的可靠性。
另一个重要的数学规律是自相关性,用于描述数据与其滞后值之间的相关性。
通过分析数据的自相关函数,我们可以找到数据中的周期性规律,并据此进行未来数据的预测。
综上所述,黄金分割和时间序列分析数学规律在时间序列预测中具有重要的应用价值。
通过合理应用这些数学规律,我们可以建立准确的时间序列模型,并进行可靠的未来数据预测。
时间序列模型

时间序列模型时间序列模型是一种用于预测时间序列数据的统计模型。
这种模型可以帮助我们了解数据中的趋势、季节性和周期性,并基于这些信息做出未来的预测。
时间序列模型的核心思想是将过去的观察结果作为未来预测的基础。
通过对已有数据的分析和建模,我们可以确定模型的参数和时间序列的性质,从而进行准确的预测。
有许多不同的时间序列模型可以使用,其中最常用的是自回归移动平均模型(ARMA)和自回归集成移动平均模型(ARIMA)。
这些模型假设未来的数值是过去的线性组合,并通过对数据进行差分来观察数据的趋势。
另一个流行的时间序列模型是季节性自回归集成移动平均模型(SARIMA),它在ARIMA模型的基础上增加了季节性组分。
这种模型特别适用于季节性数据,可以更好地捕捉季节性的规律。
除了上述模型之外,还有各种其他的时间序列模型,例如指数平滑模型、灰度预测模型和波动性模型等。
这些模型在数据的不同方面和性质上有不同的适用性。
时间序列模型的应用非常广泛,可以用于经济预测、股票价格预测、天气预测等领域。
它可以帮助我们研究和理解时间序列数据中的规律,并根据过去的观测结果做出未来的预测。
然而,时间序列模型也存在一些不足之处。
首先,它假设未来的数值是过去的线性组合,而无法捕捉非线性的规律。
其次,时间序列模型在数据中存在异常值或离群值时表现不佳。
此外,时间序列模型无法处理缺失值,而且对于长期预测的准确性可能会受到影响。
综上所述,时间序列模型是一种重要的统计模型,可以用于预测时间序列数据。
它能够帮助我们了解数据中的趋势、季节性和周期性,并根据这些信息做出未来的预测。
然而,我们在使用时间序列模型时需要注意其假设和限制,并结合实际情况进行分析和解释。
时间序列模型是一种用于分析和预测时间序列数据的统计模型。
它可以帮助我们识别和理解数据中隐含的模式和趋势,并以此为基础进行未来的预测。
时间序列模型广泛应用于各个领域,如经济学、金融学、交通规划、气象预测等。
断点检测pelt算法

断点检测pelt算法全文共四篇示例,供读者参考第一篇示例:断点检测是一种在时间序列数据中识别突变点或者变化点的方法,可以帮助我们更好地理解数据的特性和变化规律。
PELT(Pruned Exact Linear Time)算法是一种基于动态规划的断点检测算法,在实际应用中被广泛使用。
PELT算法的主要思想是将时间序列数据分解成多个子序列,通过计算每个子序列的变化程度,找出突变点。
PELT算法的优势在于可以准确地确定突变点的位置,而且计算效率高。
在实际应用中,PELT算法可用于信号处理、金融分析、生物学等领域。
PELT算法的步骤如下:1. 初始化:将整个时间序列划分为一个子序列,计算该子序列的变化程度,并将其作为当前最优子序列。
4. 循环迭代:重复步骤2和步骤3,直到遍历完整个时间序列。
5. 输出结果:输出所有的突变点。
PELT算法的时间复杂度为O(n),其中n为时间序列数据的长度。
这一优点使得PELT算法在大规模数据处理中具有较高的效率。
PELT算法也有一些缺点,例如对数据的噪声敏感,需要对阈值等超参数进行调优。
在实际应用中,PELT算法可以和其他算法结合使用,如基于模型的方法或者机器学习方法,以提高检测的准确性。
PELT算法还可以应用于多变量时间序列数据的断点检测,在这种情况下,需要考虑多变量之间的相关性。
PELT算法是一种有效的断点检测方法,可以帮助我们更好地理解时间序列数据的变化规律。
在实际应用中,需要根据具体的数据特点和应用场景选择合适的算法,并进行参数调优,以获取更好的检测结果。
PELT算法在处理大规模数据时具有较高的效率和准确性,是一种值得推广和应用的算法。
第二篇示例:断点检测是时间序列分析中一个重要的问题,其目的是发现数据中的突变点或断点。
在实际应用中,断点检测可以帮助我们及时发现数据的异常变化,从而采取相应措施,保持数据的稳定性和准确性。
Pelt算法是一种常用的断点检测方法,能够有效地在时间序列中检测出变化点,并提供了一种自适应的方式来找到最佳的分割点。
基于时间序列的地震发生预测方法研究

基于时间序列的地震发生预测方法研究一、引言地震是地球上一种常见且具有破坏性的自然灾害。
了解地震的发生规律并准确预测地震的发生时间和强度,对于防灾减灾工作具有重要意义。
近年来,基于时间序列的地震预测方法受到了广泛关注。
本文将对这一研究领域进行综述,并讨论其中的常见方法和存在的挑战。
二、时间序列分析时间序列是一系列按时间顺序排列的数据点。
地震时间序列是指地震事件的发生时间和强度的连续记录。
时间序列分析是一种统计方法,通过挖掘序列中的模式和趋势,从而进行预测。
1. 基本原理时间序列分析基于以下两个基本原理:一是序列中的数据点之间存在某种关系;二是序列中存在一种可被模型捕捉的模式或趋势。
通过识别和建模这些关系和模式,可以对未来的数据进行预测。
2. 常见模型和方法时间序列分析中常用的模型有ARIMA模型、指数平滑法和神经网络模型等。
ARIMA(自回归和移动平均整合模型)是一种经典的时间序列分析方法,它包括三个基本部分:自回归(AR)部分、差分(I)部分和移动平均(MA)部分。
ARIMA模型基于历史数据的自相关和移动平均关系来预测未来数据。
指数平滑法是一种简单且易于理解的时间序列预测方法。
它基于序列的加权平均值来预测未来数据,其中更近的数据的权重较大。
神经网络模型是一种基于人工神经网络的时间序列预测方法。
通过训练神经网络模型,可以对未来数据进行预测。
神经网络模型通常具有较强的非线性拟合能力,能够适应复杂的时间序列模式。
三、基于时间序列的地震发生预测方法在地震预测中,基于时间序列的方法已经被广泛应用。
这些方法主要利用历史地震数据的时间序列,建立预测模型,并根据模型对未来地震的发生时间和强度进行预测。
1. 数据收集与预处理地震预测的第一步是收集地震数据,并进行预处理。
预处理过程包括数据清洗、缺失值处理和异常值检测等。
通过对数据的处理,可以提高预测模型的准确性。
2. 模型选择与建立在选择预测模型时,需要考虑地震时间序列的特点和模型的适用性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第34卷 Vo1.34 第23期 No.23 计算机工程
Computer Engineering 2008年12月
December 2008
博士论文· 文章缩号:1oo0__-3428(2oo8)23—__0o14__o3 文献标识码;A 中圈分类号。TP311
基于序列重要点的时间序列分割 周大■ ,李敏强 (1.天津大学管理学院,天津300072;2.河北经贸大学计算机中心,石家庄050061)
摘要:时间序列包含的数据量大、维数高、数据更新快,很难直接在原始时间序列上进行数据挖掘。该文提出一种基于序列重要点(SIP) 的时间序列分割算法—_PLR—SIP,用SIP组成的直线段近似描述时间序列。将SIP作为时间序列的分割点,反映时间序列的主要特征, 降低时间序列的维数,使整体误差达到最小。 关健诃:时间序列;序列重要点;分割
Time Series Segmentation Based 0n Series Importance Point ZHOU Da.zhuoL2LI Min.qiang
(1.School ofManagement,Tianjin University,Tianjin 300072; 2.Computer Center,Hebei University of Economics and Trade,Shijiazhuang 050061)
[Abstract]Time series data is characterized as large in data size,high dimensionality and updates continuously.It is hard to manipulate for data analysis and mining in its original structure.Defining a more effective and efficient time series segmentation algorithm is of fundamental importance.This paper proposes a time series segmentation algorithm based on Series Importance Point(SIP),which Can approximately represent time series by linear composed of SIR This method adopts SIP as segmentation point in time series reflecting mostly character of time series.The dimensionality of time series is reduced,and the error of the whole is least. [Key wordsI time series;Series Importance Point(SIP);segmentation
时间序列是一类重要的数据对象,在经济、气象、医疗 等领域都普遍存在。时间序列数据通常是高维多变量数据, 若直接利用原始数据进行相似查询、序列聚类和分类等操作, 效率很低。解决该问题的方法是将一个长时间序列分割为若 干个相对短但不重叠的子序列,并将各个子序列转换为某种 高级数据表示形式。时间序列分割的用途有3个方面:(1)可 以提取时间序列的主要特征,去除细节干扰,只保留时间序 列的主要形态,更能反映时间序列的自身特征,有利于提高 时间序列查询的效率和准确性。(2)将时间序列从高维空间变 换到低维特征空间,降低数据维数,实现对数据的压缩,提 高查询效率。(3)用来发现时间序列中的异常模式。 1背景介绍 文献[1]将输入为时间序列、输出为直线段的算法统称为 分段线性算法。该方法比较符合人的直观经验,而且通常索 引结构维数低、计算速度较快,被较多人采用。近年来,国 内外学者对分段线性表示法进行深入研究,吸收其他方法和 技术的优势,提出许多新的分段表示方法。目前已有的PLR 分段算法可分为:(1)由拟合误差确定分段:主要是通过直线 段来拟合原始时间序列,直到达到输入的误差阈值。如滑动 窗口PLR_SW J、自顶向下PLR—TD【j 、自底向上PLR—BU 等,该类算法只关注局部的最小误差,在拟合的过程中平滑 掉原始数据上的一些主要特征,从而忽略了序列整体的变化 特征。(2)通过特殊点分段:主要有界标模型法 、边缘点分 段法 J、重要点分段法PLR—IP¨J。该类方法通过一些特殊点 如局部极值点、边缘点或重要点等对时间序列进行线形分段, 避免了直线拟合等方法中平滑所导致的重要信息遗失,但已 有的算法比较复杂,在分段的过程中没有考虑时问序列的整 1 一 体误差情况,并且降维效果不如拟合法。 本文提出基于序列重要点(Series Importance Point,SIP) 的时间序列线形分段算法PLR SIP,在选择SIP作为分段点 时,既考虑了时间序列的整体特征,也考虑了时间序列的整 体误差最低,算法的执行效率较高。 2问题描述及定义 时间序列是由记录时间和记录值组成的元素的有序集 合,记为:X=<Xl=(t1,vO,X2=(t2,v9,…,Xi=(t ,vi),…,X =(f , v )>,其中,元素Xi=(t ,Vi)表示时间序列在t 时刻的记录值v 。 人类的视觉通常将平滑的曲线分为多个直线段处理,对序列 第1印象最深的点就是序列的极值点。时间序列中的极值点 对时间序列的形状有不同的影响,有的影响很大,有的对整 体形状影响微乎其微。Pratt等 提出基于重要点的分段方法, 重要点被定义为局部范内与端点的比值超过参数R的极值 点,通过选择不同的参数R,可获得不同细程度的分段。该 算法不能很好地体现重要点在这个时间序列中的整体性,同 时没有考虑到整体误差。文献【8】提到点到区域端点的距离采 用的3种距离测量方法:欧几里德距离,正交距离,垂直距 离。图1给出了数据点 到 和 的3种距离,其中,a+b 是欧几里德距离;C是垂直距离;d是正交距离。 欧几里德距离: 厂————— ■————— 厂—————— ———— D=a+b:√( 一t1) +(V4一 ) +x](t4一 ) +( 一v6) (1)
基金项目:河北省科技攻关计划基金资助项目(062135140) 作者倚介:周大镯(1971一),女,副教授、博士研究生,主研方向 数据挖掘;李敏强,教授、博士生导师 收稿日期:2008—04—25 E-mail:zhou_zhuo@1 63.com 垂直距离: D: · × 正交距离: [
± ± 二 : l+S Vc=S×tc—S× + D=d= ̄/(tc-t4) +(vc— )
(2) (3) (4) (5) (6)
图1 X4刭X1和 的3种距离 这3种计算距离的度量方法各有侧重点,文献[8】通过实 验数据说明采用垂直距离和正交距离度量产生的SIP顺序一 致,而用欧几里德距离距离度量产生SIP的顺序则不同。垂 直距离和正交距离度量比较见图2,A点到端点GH的正交距 离为IACI、垂直距离为IABI,D点到端点GH的正交距离为 IDFI、垂直距离为IDEI。显然三角形ABC和三角形DEF相似, 则AB和DE,AC和DF等比例缩放。在时间区域[G,明中, 若D点到GH的正交距离IDFI为所有点中最大正交距离,可 得出D点到GH的垂直距离IDEI也是所有点中最大垂直距离。 因此,使用垂直距离和正交距离度量产生的SIP顺序一致。
图2垂直臣离、正交甩商度量比较 欧几里德距离和正交距离度量比较见图3,B点到端点 AC的正交距离为IBEI,D点到端点AC的正交距离为IDCI。 若IBEI=IDCI,可以得出IABI+IBCI>IADt+IDCI,在时间区域 ,C] 中,若2点到AC的正交距离相等,并不能推出这2点到 ,C] 端点的距离和相等。因此,使用欧几里德距离和正交距离度 量产生的SIP顺序可能不一致。 舟 ,】
C 图3歇几里德距离、正交Jli高度量比较
定义所在区域误差最大,距离区域端点距离最远,这 样的点叫序列重要点(SIP)。 以前的研究者在对时间序列做分段时,考虑到每个分段 后的直线段在拟和原始数据时,得到误差值应尽量最小,计 算误差时一般使用的是点到拟和线段的正交距离。上文证明 了垂直距离和正交距离度量产生的SIP顺序一致,并且垂直 距离计算方法简单。 3基于序列重要点分割算法PLR—SIP 由SIP定义可知,在选择时间序列中SIP应遵循2点:
(1)该点必须是距离邻近SIP距离最远的点; (2)该点是否要加入到SIP中,要考虑该区域误差是否全 局最大。 选择序列重要点SIP的算法描述如下: 输入时间序列X=<xl,x2,…,xi…,xn>和误差值e 输出序列重要点SIP siP=I];SIP x 1;SIP ̄xn //初始化SIP,初始点和终止点加入到SIP BSIP*--Seg(xl,xn) //计算区域[xl,xn]内距离端点距离最大点xc和误差S存入BSIP While s>=e SIP*--xc //将XC从BSIP移入SIP Ifb-a>=2 //a和b是XC在SIP中邻近的左右点 BSIP*--Seg(a,xc) BSIP,--Seg(xc,b) end [xc,s] ̄max(BSIP)//选择BSIP中S最大的点 End 函数Seg的作用是求区域【“,v]中的XC和S,算法描述 如下: function BSIP=Seg(u,v)//u和v是主程序传递过来的区域端点 s=0;max=0; for all x∈(u,v) dist-,--dist(u,X,v) /,利用垂直距离度量计算x到uv直线段距离 s+一s+dist: if dist>max max+一dist:xc·一 end end return(xc,s) 4实验结果 该算法只要求输入时间序列、分段的区域误差值,参数 要求少,算法容易实现。算法实现使用工具软件Matlab 7.1 编写了所有的程序,并在方正笔记本(cPu 1.4 GHz,内存 256 MB,硬盘40 GB,Windows XP操作系统)上实现。采用 的数据集为上海证券交易所股票交易代号为SH600001的数 据集,该数据集只对收盘指数时间序列进行分割,时间范围 是1998年3月11日~2006年7月21日,共2 014个交易日。 当输入误差为10,时间序列被分割为76段,压缩比例为 2 014/76,时问序列分段前后比较见图4。 ‘