文档库 最新最全的文档下载
当前位置:文档库 › 时间序列相空间重构及其应用研究(精)

时间序列相空间重构及其应用研究(精)

时间序列相空间重构及其应用研究(精)
时间序列相空间重构及其应用研究(精)

时间序列相空间重构及其应用研究

摘要时间序列的重构分析是从产生该序列的系统特性的角度提取该时间序列的特征量,在这种分析方法的应用过程中,关联积分和关联维的正确、快速计算是重要的第一步.本文对混沌时间序列相空间重构中最佳延迟时间间隔和嵌入维数的选取方法作了综述, 基于时间序列分析的方法,提出了一种神经网络时间序列预测及建模方法.

关键词时间序列 ,相空间重构,延迟时间间隔, 关联维,神经网络

1 引言

混沌是一种低阶确定性的非线性动力系统所表现出来的非常复杂的行为,它对现代科学具有广泛而深远的影响,几乎覆盖了一切学科领域,尤其是在物理学、天体力学、数学、生物学、经济学等方面得到了广泛的应用.在对混沌时间序列的各种分析中,如混沌预测(prediction of chaos)。动力学不变量(dynamical invariants)的估计。混沌信号的诊断(detection of chaos)等,所要进行的第一步工作是要对混沌信号进行相空间重构.1981年Takens提出了相空间重构的延时坐标法,奠定了相空间重构技术的基础,这种方法用单一的标量时间序列来重构相空间,包括吸引子、动态特性和相空间的拓扑结构.现已成为最主要、最基本的相空间重构方法[1]. 分形维是用来描述混沌信号的一个重要参数,目前主要流行是基于GP算法的关联维提取算法。

2 G.P算法的描述

自从人们发现延迟时间对重构相空间的重要之后,便开始了探索确定延迟时间的方法,并取了显著的成效,相空间重构理论认为,要保证相空间重构的正确性,所选用的延迟时间必须使重构相空间的各个分量保持相互独立,选择的延迟时间如果太大, 就混沌吸引子而言,由于蝴蝶效应的影响,时间序列的任意两个相邻延迟坐标点将毫不相关,不能反映整个系统的特性;而延迟时间选择过小的话,时间序列的任意两个相邻延迟坐标点又非常接近,不能相互独立,将会导致数据的冗余。.因此我们需要一种方法来选择恰当的 ,于是围绕这一条件便先后出现了用自相关函数和互信息来确定延迟时间的方法[3]。自相关函数能够提供信号自身与它的时延之间由冗余到不相关比较这种的度量,一般取自相关函数值首次出现零点时的时延为所要确定的时间延迟。现描述如下:

对于单变量时间序列x

1, x

2

, x

3

,…, x

n

取延迟时间为 ,则其自相关函数为:

(9)

其中,n为时间序列点数, 为时间序列的平均值.延迟时间的选取原则是让时间序列内元素之间的相关性减弱,同时又要保证时间序列包含的原系统的信息不会丢失.研究表明,当关联函数C的值第一次为0(或近似为0)对应的延迟时间比较合适[4].

4 关联维m的选取

在关联维计算中,重构相空间维数的取值依赖于所分析和研究的关联维数,数据序列的关联维数不同,所选取的重构相空间维数亦不同。由单变量的时间序列重构相空间时,为了保证该相空间能包含原状态空间吸引子的特征, 关联维应该取得足够大.Takens在1980年证明了嵌入维数大小的嵌入定理:

(10)

其中:m---重构相空间维数;

D

2

---原状态空间吸引子所处空间的关联维数

该定理表明,嵌入空间的维数至少是吸引子维数的两倍,这时重构的相空间和原系统的状态空间拓扑等价.但是由于在一般情况下缺乏原动力系统的先验知识,选择m则具有随意性系统特征量饱和法,是使重构相空间维数由小到大变化,计算每一个重构相空间的系统特征量,如果特征量达到饱和,则饱和时的重构相空间维数就是所求的维数.一般情况下,确定性系统一般都会收敛到低维的相空间,关联维数将不再随嵌入维数的增加而发生明显的改变,因此可以取关联维数作为系统特征量,逐渐增大嵌入维数,观察关联维数是否达到饱和. 在实际的分形分析中,关联维数是所要求取的对象,并不知道其具体数值,因此,需首先估计出所求关联维的取值范围,从而得出重构相空间维数m的粗略估计值。在m粗略估计值的范围内对m取不同的值,然后分别求取系统的关联维数,当关联维数达到饱和时的m取值,即为重构相空间的实际维数。

5 应用展望

对于平稳的时间序列来讲,利用传统的AR、MA、ARMA等模型通常可获得较好的预报结果.而对混沌时间序列而言,即使模型对数据匹配的很好,有时也无法做出准确的预测,未来趋势会在性质上与原有时间序列趋势发生根本不同的变化.因此,对混沌时间序列的预测研究我们需另找出路. 时间序列的量往往伴随有大量的噪声,神经网络比其它方法更能容忍噪声。任何一个时间序列都可以看成是一个由非线性机制确定的输入输出系统,神经网络可以较好地揭示非线性时间序列在时延状态空间中的相关性,从而达到预测目的。具体说来,可以这样处理:

(1)神经网络用于单变量时间序列预测

设一个单变量时间序列x

1, x

2

, x

3

,…, x

n

对它进行预测的前提是认为其未来值

与其前面的m个值之间有着某种函数关系,可描述如下:

x n +k=F(x

n

, x

n-1

,…, x

n-m+1

)

利用神经网络来拟合这种函数关系F(·),并用它来推导未来的值.进行时间序列预测的神经网络结构可以分为两种,一种是单步预测网络,一种是多步网络预测.单步预测网络输出个数为1个,一次可计算一步的预测值.多步预测网络的输出个数不止一个而是多个(K个),每一次可计算出K步的预测值.在预测过程中,可将得到的预测值作为下一步预测的输入来计算出进一步的预测值,进行迭代的多步预测.

(2)神经网络用于多变量时间序列预测

对多变量时间序列(x1

1, x2

1

,…, xp

1

), (x1

2

, x2

2

,…, xp

2

),…,它有p个时间变

量.如同量时间序列一样,认为时间序列的未来值与面的m个值之间有某种函数关系:

(x1

n+k , x2

n+k

,…, xp

n+k

)= F((x1

n

, x2

n

,…, xp

n

), (x1

n-1

, x2

n-1

,…, xp

n-1

),…,

(x1

n-m+1, x2

n-m+1

,…, xp

n-m+1

))

利用神经网络拟合函数F(·),并用它进行预测.进行多变量时间序列预测的神经网络结构。同样分为两种,单步预测网络和多步预测网络.单步预测网络输出的个数是一个多变量时间序列的变量个数为p,一次计算得到所有变量一步的预测值.多步预测网络的输出个数为K×P个,一次计算可得到所有P个变量的K步预测结果.这两种网络模型同样也可以进行迭代多步预测计算.利用传统的预测方法进行多变量时间序列的建模与预测非常复杂.而利用神经网络进行多变量时间序列的预测方法如同单变量时间序列预测一样简单,这是传统的预测方法无法比拟的.[5]

神经网络所具有的非线性变换和高度的并行处理能力为一类呈高度非线性动态关系的时间序列预测提供了一条十分有效的途径,利用神经网络进行非线性预测,是神经网络在统计预测领域新的应用,这一方法的优越性将逐步为人们所认识,而成为统计预测的重要工具。神经网络方法作为分析预测时间序列变量的工具,有重要的意义和应用前景,当然也有许多问题有待深入探讨和研究。

参考文献:

[1] 杨绍清, 贾传荧.两种实用的相空间重构方法.物理学报 , 第51卷第11期2002年11月:2452-2456

[2] 党建武 ,黄建国.基于G.P算法的关联维计算中参数取值的研究.计算机应用研究 ,2004,1:48-51

[3]Fraser A M,Swinney H L.Independent coordinates from mutual information[J].Phys Rev A,1986,33:1134~1140.

[4]李玉霞, 吴百海, 邢志鹏.单变量时间序列相空间重构及应用研究 . 组合机床与自动化加工技术 2004,2:51-55

[5] 刘豹 ,胡代平.神经网络在预测中的一些应用研究.系统工程学

报 ,1999,12:338-343

时间序列相空间重构及其应用研究(精)

时间序列相空间重构及其应用研究 摘要时间序列的重构分析是从产生该序列的系统特性的角度提取该时间序列的特征量,在这种分析方法的应用过程中,关联积分和关联维的正确、快速计算是重要的第一步.本文对混沌时间序列相空间重构中最佳延迟时间间隔和嵌入维数的选取方法作了综述, 基于时间序列分析的方法,提出了一种神经网络时间序列预测及建模方法. 关键词时间序列 ,相空间重构,延迟时间间隔, 关联维,神经网络 1 引言 混沌是一种低阶确定性的非线性动力系统所表现出来的非常复杂的行为,它对现代科学具有广泛而深远的影响,几乎覆盖了一切学科领域,尤其是在物理学、天体力学、数学、生物学、经济学等方面得到了广泛的应用.在对混沌时间序列的各种分析中,如混沌预测(prediction of chaos)。动力学不变量(dynamical invariants)的估计。混沌信号的诊断(detection of chaos)等,所要进行的第一步工作是要对混沌信号进行相空间重构.1981年Takens提出了相空间重构的延时坐标法,奠定了相空间重构技术的基础,这种方法用单一的标量时间序列来重构相空间,包括吸引子、动态特性和相空间的拓扑结构.现已成为最主要、最基本的相空间重构方法[1]. 分形维是用来描述混沌信号的一个重要参数,目前主要流行是基于GP算法的关联维提取算法。 2 G.P算法的描述 自从人们发现延迟时间对重构相空间的重要之后,便开始了探索确定延迟时间的方法,并取了显著的成效,相空间重构理论认为,要保证相空间重构的正确性,所选用的延迟时间必须使重构相空间的各个分量保持相互独立,选择的延迟时间如果太大, 就混沌吸引子而言,由于蝴蝶效应的影响,时间序列的任意两个相邻延迟坐标点将毫不相关,不能反映整个系统的特性;而延迟时间选择过小的话,时间序列的任意两个相邻延迟坐标点又非常接近,不能相互独立,将会导致数据的冗余。.因此我们需要一种方法来选择恰当的 ,于是围绕这一条件便先后出现了用自相关函数和互信息来确定延迟时间的方法[3]。自相关函数能够提供信号自身与它的时延之间由冗余到不相关比较这种的度量,一般取自相关函数值首次出现零点时的时延为所要确定的时间延迟。现描述如下: 对于单变量时间序列x 1, x 2 , x 3 ,…, x n 取延迟时间为 ,则其自相关函数为: (9) 其中,n为时间序列点数, 为时间序列的平均值.延迟时间的选取原则是让时间序列内元素之间的相关性减弱,同时又要保证时间序列包含的原系统的信息不会丢失.研究表明,当关联函数C的值第一次为0(或近似为0)对应的延迟时间比较合适[4]. 4 关联维m的选取

相空间重构参数选择方法的研究

1 前言 混沌时间序列分析与预测的基础是Takens,Packard等提出的状态空间的重构 理论[1,2] ,即把具有混沌特性的时间序列重建为一种低阶非线性动力学系统。通过相空间重构,可以找出混沌吸引子在隐藏区的演化规律,使现有的数据纳入某种叫描述的框架之下,从而为时间序列的研究提供了种崭新的方法和思路[3]。相空间重构 相空间重构参数选择方法的研究 谢忠玉1,2 张 立2 1.哈尔滨工程大学自动化学院 150001; 2.黑龙江工程学院电子工程系 150050 是非线性时间序列分析的重要步骤,重构的质量将直接影响到模型的建立和预测。而重构相空间或者说构造一个非线性时间序列的嵌入,需要选择两个重要参数——嵌入维数m和延迟时间τ。对于无限长、无噪声数据序列,延迟时间τ的选取理论上没有限制,而嵌入维数m可以选择充分的大。实际中,由于数据长度有限并可能带噪,τ和m的选择对相空间的重构质量就尤其重要。关于嵌入维数m和延迟时间τ的选取,现在主要有两种观点。一种观点认为两者是互不相关的,如求时延的自相关法、互信息法,求嵌入维的G-P算法、FNN(flase nearest neighbors) 法等。另一种观点认为两者是相关的,如时间窗口法、C-C法和嵌入维、时间延迟自动算法等[4] 。多数研究人员认为,第2种观点在工程实践中更为实用、合理。有关嵌入维和延迟时间联合算法的研究是混沌时间序列分析的热点之一。 本文在国内外学者工作的基础上,结合时间窗法[5]和互信息法[6],提出一种新的确定嵌入维数和时间延迟的联合算法。在 仿真试验中用本方法确定的嵌入参数计算 Lorenz系统的混沌不变量(关联维数D), 算例表明本文提出的方法是有效的。 2时间窗口法及互信息法 提出联合算法以时间窗口法及互信息法为基础计算嵌入维和延迟时间,时间窗口法及互信息法的基本原理和存在的问题如下: 2.1 时间窗口法 1996年Kugiumtzis提出延迟时间τ的选取不应该独立于嵌入维数m,而应该依赖延迟时间窗口 τw=(m-1)τ (1) 具体算法为:首先根据原时间序列的波动求出平均轨道周期τp,在保证嵌入维数m大于序列本身关联维D的前提下,均匀τw值后依据式(1)变换m和τ的值,使用关联维作为验证指标,逐渐改变 τw的大小来确定最优的时间窗长度。经过多次试验发现,在一定时间窗长度下,大 致为τw≥τp,只要m和τ的值满足式(1),最后求出的关联维就保持不变。时间窗口法的优势是:能够同时确定m和τ,但时间窗口在确定m和τ的值时经过大量的试验,因此计算量较大。2.2 互信息法互信息法是估计重构相空间延迟时间的一种有效方法,它在相空间重构中有着 广泛的应用。考虑两个离散信息系统{s1,s2,…sn}和{q1,q2,…qn}构成的系统S和Q。根据信息论的知识,从两个系统测量中所获得的平均信息量,即信息熵分别为:在给定S的情况下,我们得到的关于 系统Q的信息,称为S和Q的互信息,用下 式表示: 其中Psq(si,qj)为事件si和事件qj的联合

相空间重构python

from operator import sub import numpy as np from sklearn import metrics from sklearn.neighbors import NearestNeighbors from toolz import curry def global_false_nearest_neighbors(x, lag, min_dims=1, max_dims=10, **cutoffs): """ Across a range of embedding dimensions $d$, embeds $x(t)$ with lag $\tau$, finds all nearest neighbors, and computes the percentage of neighbors that that remain neighbors when an additional dimension is unfolded. See [1] for more information. Parameters ---------- x : array-like Original signal $x(t). lag : int Time lag $\tau$ in units of the sampling time $h$ of $x(t)$. min_dims : int, optional The smallest embedding dimension $d$ to test. max_dims : int, optional The largest embedding dimension $d$ to test. relative_distance_cutoff : float, optional The cutoff for determining neighborliness, in distance increase relative to the original distance between neighboring points. The default, 15, is suggested in [1] (p. 41). relative_radius_cutoff : float, optional The cutoff for determining neighborliness, in distance increase relative to the radius of the attractor. The default, 2, is suggested in [1] (p. 42). Returns ------- dims : ndarray The tested dimensions $d$. gfnn : ndarray The percentage of nearest neighbors that are false neighbors at each dimension. See Also -------- reconstruct References ----------

基于改进的C-C方法的相空间重构参数选择

基于改进的C-C 方法的相空间重构参数选择* 陆振波 蔡志明 姜可宇 (海军工程大学电子工程学院, 武汉430033) 摘 要:针对混沌时间序列相空间重构C-C 方法的三点不足,提出了一种基于改进的C-C 方法的确定最优时延与嵌入窗的新算法。在关联积分计算过程中引入了权衡计算精度与速度的可调参数,合理选择该参数,能在不严重损失估计精度的前提下,大大加快计算速度。在理论分析的基础上,用所提出的算法对三种混沌序列进行相空间重构,仿真结果表明该算法对最优时延的选择更准确,对最优嵌入窗的选取更可靠。 关键词:混沌,时间序列分析,相空间重构,关联积分 Determination of embedding parameters for phase space reconstruction based on improved C-C method Lu Zhen-bo Cai Zhi-ming Jiang Ke-yu (Electronic Engineering College, Navy Engineering University, WuHan 430033, China) Abstract : A new algorithm to determine delay time and embedding window was presented based on the improved C-C method modified the classical C-C method in three aspects. Considering precision and rapidity of computation, an optimal parameter was introduced into the computation of correlation integral. On the foundation of theory study, phase space reconstruction of three kinds of chaotic time series is carried out, and the result of simulations verify that the algorithm is more applicable for determining appropriate delay time and embedding window. Key Words : chaos, time series analysis, phase space reconstruction, correlation integral 1 引言 近年来,混沌时间序列分析方法在很多科研和工程领域中得到广泛应用。相空间重构是混沌时间序列分析的基础,Takens [1]等人提出了用延迟坐标法对混沌时间序列},,2,1|{N i x x i ???==进行相空间重构 },,2,1,],,,,[|{)1(M i x x x X X X T t m i t i i i i ???=???==?++ (1) 其中m 为嵌入维,t 为时延,t m N M )1(??=为相空间中的点数。 Takens 定理证明了如果嵌入维m ≥12+d ,d 为系统动力学维数,则重构的动力系统与原动力系统在拓扑意义上等价。Takens 定理 *国家重点实验基金(批准号:514450801JB1101)和 国家重点实验基金(批准号:51444030105JB1101)资助的课题 联系人:E-mail: luzhenbo@https://www.wendangku.net/doc/2b9200913.html,

混沌时间序列处理之第一步:相空间重构方法综述

第1章 相空间重构 第1章相空间重构 (1) 1.1 引言 (2) 1.2 延迟时间τ的确定 (3) 1.1.1自相关函数法 (4) 1.1.2平均位移法 (4) 1.1.3复自相关法 (5) 1.1.4互信息法 (6) 1.2嵌入维数m的确定 (7) 1.2.1几何不变量法 (7) 1.2.2虚假最近邻点法 (8) 1.2.2伪最近邻点的改进方法-Cao方法 (9) 1.3同时确定嵌入维和延迟时间 (10) 1.3.1时间窗长度 (10) 1.3.2 C-C方法 (10) 1.3.3 改进的C-C方法 (12) 1.3.4微分熵比方法 (14) 1.4非线性建模与相空间重构 (14) 1.5海杂波的相空间重构 (15) 1.6本章小结 (16) 1.7 后记 (16) 参考文献 (17)

1.1 引言 一般时间序列主要是在时间域或变换域中进行研究,而在混沌时间序列处理中,无 论是混沌不变量的计算、混沌模型的建立和预测都是在相空间中进行,因此相空间重构 是混沌时间序列处理中非常重要的第一步。 为了从时间序列中提取更多有用信息,1980年Packard 等人提出了用时间序列重构 相空间的两种方法:导数重构法和坐标延迟重构法[1]。从原理上讲,导数重构和坐标延 迟重构都可以用来进行相空间重构,但就实际应用而言,由于我们通常不知道混沌时间 序列的任何先验信息,而且从数值计算的角度看,数值微分是一个对误差很敏感的计算 问题,因此混沌时间序列的相空间重构普遍采用坐标延迟的相空间重构方法[2]。坐标延 迟法的本质是通过一维时间序列{()}x n 的不同时间延迟来构造m 维相空间矢量: {(),(),,((1))}x i x i x i m ττ=++?x(i) (1.1) 1981年Takens 等提出嵌入定理:对于无限长、无噪声的d 维混沌吸引子的标量时 间序列{()}x n ,总可以在拓扑不变的意义上找到一个m 维的嵌入相空间,只要维数 21m d ≥+[3]。Takens 定理保证了我们可以从一维混沌时间序列中重构一个与原动力系 统在拓扑意义下等价的相空间,混沌时间序列的判定、分析与预测是在这个重构的相空 间中进行的,因此相空间的重构是混沌时间序列研究的关键[2]。 1985年Grassberger 和Procaccia 基于坐标延迟法,提出了关联积分的概念和计算公 式,该方法适合从实际时间序列来计算混沌吸引子的维数,被称作G-P 算法[4]。G-P 算 法是混沌时间序列研究中的一个重要突破,从此对混沌时间序列的研究不仅仅局限于已 知的混沌系统,而且也扩展到实测混沌时间序列,从而为混沌时间序列的研究进入实际 应用开辟了一条道路[2]。 坐标延迟相空间重构技术有两个关键参数:即嵌入维m 和时间延迟τ的确定。在 Takens 定理中,对于理想的无限长和无噪声的一维时间序列,嵌入维m 和时间延迟τ可 以取任意值,但实际应用最后等时间序列都是含有噪声的有限长序列,嵌入维数和时间 延迟是不能任意取值,否则会严重影响重构的相空间质量。 有关时间延迟与嵌入维的选取方法,目前主要有两种观点。一种观点认为两者是互

c-cmethod 相空间重构

School % 此程序用来测试CC_method % 2008-12-01 % zhangli clear all clear all %利用方程获得 % 产生Lorenz 时间序列 % dx/dt = sigma*(y-x) % dy/dt = r*x - y - x*z % dz/dt = -b*z + x*y sigma=16; % Lorenz 方程参数 b=4; r=45.92; y=[-1,0,1]; % 起始点(1 x 3 的行向量) h=0.01; % 积分时间步长 k1=10000; % 前面的迭代点数 k2=3000; % 后面的迭代点数 Z=LorenzData(y,h,k1+k2,sigma,r,b); X=Z(k1+1:end,1); max_d=200; % 最大延迟时间 % 调用C_CMethod_inf,求tau tic [Smean_inf,Sdeltmean_inf,Scor_inf,tau_inf,tw_inf]=C_CMethod_inf(X,max_d); toc tau_inf tw_inf % 相关作图 figure('name','CC法求时间延迟'); plot(1:max_d,Smean_inf,'-b');hold on; plot(1:max_d,Sdeltmean_inf,'-*c');hold on; plot(1:max_d,Scor_inf,'-m');hold on; plot(1:max_d,zeros(1,max_d),'r'); title('C_CMethod_inf');xlabel('Lag'); legend('S(t)平均值','ΔS(t)平均值','Scor_inf'); % 将数据保持下来 fid=fopen('Smean_inf.txt','w'); fprintf(fid,'%f\n',Smean_inf); fclose(fid); fid=fopen('Sdeltmean_inf.txt','w'); fprintf(fid,'%f\n',Sdeltmean_inf); fclose(fid); fid=fopen('Scor_inf.txt','w'); fprintf(fid,'%f\n',Scor_inf); fclose(fid);

相关文档
相关文档 最新文档