时间序列(Time Series)是地学研究中经常遇到的问题。在时间序列研究中,时域和频域是常用的两种基本形式。其中,时域分析具有时间定位能力,但无法得到关于时间序列变化的更多信息;频域分析(如Fourier变换)虽具有准确的频率定位功能,但仅适合平稳时间序列分析。然而,地学中许多现象(如河川径流、地震波、暴雨、洪水等)随时间的变化往往受到多种因素的综合影响,大都属于非平稳序列,它们不但具有趋势性、周期性等特征,还存在随机性、突变性以及“多时间尺度”结构,具有多层次演变规律。对于这类非平稳时间序列的研究,通常需要某一频段对的时间信息,或某一时段的频域信息。显然,时域分析和频域分析对此均无能为力。
20世纪80年代初,由Morlet提出的一种具有时-频多分辨功能的小波分析(Wavelet Analysis)为更好的研究时间序列问题提供了可能,它能清晰的揭示出隐藏在时间序列中的多种变化周期,充分反映系统在不同时间尺度中的变化趋势,并能对系统未来发展趋势进行定性估计。
目前,小波分析理论已在信号处理、图像压缩、模式识别、数值分析和大气科学等众多的非线性科学领域内得到了广泛的应用。在时间序列研究中,小波分析主要用于时间序列的消噪和滤波,信息量系数和分形维数的计算,突变点的监测和周期成分的识别以及多时间尺度的分析等。
一、小波分析基本原理
1. 小波函数
小波分析的基本思想是用一簇小波函数系来表示或逼近某一信号或函数。因此,小波函数是小波分析的关键,它是指具有震荡性、能够迅速衰减到零的一类函数,即小波函数且满足:
式中,为基小波函数,它可通过尺度的伸缩和时间轴上的平移构成一簇函数系:
其中, "a, b" ∈ ℝ, a ≠ 0
式中,为子小波;a为尺度因子,反映小波的周期长度;b为平移因子,反应时间上的平移。
需要说明的是,选择合适的基小波函数是进行小波分析的前提。在实际应用研究中,应针对具体情况选择所需的基小波函数;同一信号或时间序列,若选择不同的基小波函数,所得的结果往往会有所差异,有时甚至差异很大。目前,主要是通过对比不同小波分析处理信号时所得的结果与理论结果的误差来判定基小波函数的好坏,并由此选定该类研究所需的基小波函数。
2. 小波变换
若是由(2)式给出的子小波,对于给定的能量有限信号,其连续小波变换(Continue Wavelet Transform,简写为CWT)为:
式中,为小波变换系数;为一个信号或平方可积函数;a为伸缩尺度;b平移参数;
为的复共轭函数。地学中观测到的时间序列数据大多是离散的,设函数,(k=1,2,…,N; 为取样间隔),则式(3)的离散小波变换形式为:
由式(3)或(4)可知小波分析的基本原理,即通过增加或减小伸缩尺度a来得到信号的低频或高频信息,然后分析信号的概貌或细节,实现对信号不同时间尺度和空间局部特征的分析。
实际研究中,最主要的就是要由小波变换方程得到小波系数,然后通过这些系数来分析时间序列的时频变化特征。
3. 小波方差
将小波系数的平方值在b域上积分,就可得到小波方差,即
小波方差随尺度a的变化过程,称为小波方差图。由式(5)可知,它能反映信号波动的能量随尺度a的分布。因此,小波方差图可用来确定信号中不同种尺度扰动的相对强度和存在的主要时间尺度,即主周期。
二、小波分析实例-时间序列的多时间尺度分析(Multi-time scale analysis)
例题
河川径流是地理水文学研究中的一个重要变量,而多时间尺度是径流演化过程中存在的重要特征。所谓径流时间序列的多时间尺度是指:河川径流在演化过程中,并不存在真正意义上的变化周期,而是其变化周期随着研究尺度的不同而发生相应的变化,这种变化一般表现为小时间尺度的变化周期往往嵌套在大尺度的变化周期之中。也就是说,径流变化在时间域中存在多层次的时间尺度结构和局部变化特征。
表1给出了某流域某水文观测站1966-2004年的实测径流数据。试运用小波分析理论,借助Matlab6.5、suffer8.0和相关软件(Excel等),完成下述任务:
⑴计算小波系数;
⑵绘制小波系数图(实部、模和模方)、小波方差图和主周期变化趋势图,并分别说明各图在分析径流多时间尺度变化特征中的作用。
表1 某流域某水文观测站1966-2004年实测径流数据() | |||||||||
年份 | 径流量 | 年份 | 径流量 | 年份 | 径流量 | 年份 | 径流量 | 年份 | 径流量 |
1966 | 1.438 | 1974 | 2.235 | 1982 | 0.774 | 1990 | 1.806 | 1998 | 1.709 |
1967 | 1.151 | 1975 | 4.374 | 1983 | 0.367 | 1991 | 0.449 | 1999 | 0.000 |
1968 | 0.536 | 1976 | 4.219 | 1984 | 0.562 | 1992 | 0.120 | 2000 | 0.000 |
1969 | 1.470 | 1977 | 2.590 | 1985 | 3.040 | 1993 | 0.627 | 2001 | 2.104 |
1970 | 3.476 | 1978 | 3.350 | 1986 | 0.304 | 1994 | 1.658 | 2002 | 0.009 |
1971 | 4.068 | 1979 | 2.540 | 1987 | 0.728 | 1995 | 1.025 | 2003 | 3.177 |
1972 | 2.147 | 1980 | 0.807 | 1988 | 0.492 | 1996 | 0.955 | 2004 | 0.921 |
1973 | 3.931 | 1981 | 0.573 | 1989 | 0.007 | 1997 | 1.341 |
分析
1. 选择合适的基小波函数是前提
在运用小波分析理论解决实际问题时,选择合适的基小波函数是前提。
只有选择了适合具体问题的基小波函数,才能得到较为理想的结果。
目前,可选用的小波函数很多,如Mexican hat小波、Haar小波、Morlet小波和Meyer小波等。
在本例中,我们选用Morlet连续复小波变换来分析径流时间序列的多时间尺度特征。原因如下:
1.1 径流演变过程中包含“多时间尺度”变化特征且这种变化是连续的,所以应采用连续小波变换来进行此项分析。
1.2实小波变换只能给出时间序列变化的振幅和正负,而复小波变换可同时给出时间序列变化的位相和振幅两方面的信息,有利于对问题的进一步分析。
1.3 复小波函数的实部和虚部位相差为π/2,能够消除用实小波变换系数作为判据而产生的虚假振荡,使分析结果更为准确。
2. 绘制小波系数图、小波方差图和主周期变化趋势图是关键
当选择好合适的基小波函数后,下一步的关键就是如何通过小波变换获得小波系数,然后利用相关软件绘制小波系数图、小波方差图和主周期变化趋势图,进而根据上述三种图形的变化识别径流时间序列中存在的多时间尺度。
具体步骤
1. 数据格式的转化
2. 边界效应的消除或减小
3. 计算小波系数
4. 计算复小波系数的实部
5. 绘制小波系数实部等值线图
6. 绘制小波系数模和模方等值线图
7. 绘制小波方差图
8. 绘制主周期趋势图
下面,我们以上题为例,结合软件Matlab 6.5、Suffer 8.0和Excel,详细说明小波系数的计算和各图形的绘制过程,并分别说明各图在分析径流多时间尺度变化特征中的作用。
1. 数据格式的转化和保存
将存放在Excel表格里的径流数据(以时间为序排为一列)转化为Matlab 6.5识别的数据格式(.mat)并存盘。
具体操作为:
在Matlab 6.5 界面下,单击“File-Import Data”,出现文件选择对话框“Import”后,找到需要转化的数据文件(本例的文件名为runoff.xls),单击“打开”。
等数据转化完成后,单击“Finish”,出现图1显示界面;然后双击图1中的Runoff,弹出“Array Editor: runoff”对话框,选择File文件夹下的“Save Workspace As”单击,出现图2所示的“Save to MAT-File:”窗口,选择存放路径并填写文件名(runoff.mat),单击“保存”并关闭“Save to MAT-File”窗口。
图1 数据格式的转化 | 图2数据的保存 |
2. 边界效应的消除或减小
因为本例中的实测径流数据为有限时间数据序列,在时间序列的两端可能会产生“边界效应”。
为消除或减小序列开始点和结束点附近的边界效应,须对其两端数据进行延伸。
在进行完小波变换后,去掉两端延伸数据的小变换系数,保留原数据序列时段内的小波系数。
本例中,我们利用Matlab 6.5小波工具箱中的信号延伸(Signal Extension)功能,对径流数据两端进行对称性延伸。
具体方法为:
在Matlab 6.5界面的“Command Window”中输入小波工具箱调用命令“Wavemenu”,按Enter键弹“Wavelet Toolbox Main Menu”(小波工具箱主菜单)界面(图3);
然后单击“Signal Extension”,打开Signal Extension / Truncation窗口,单击“File”菜单下的“Load Signal”,选择runoff.mat文件单击“打开”,出现图4信号延伸界面。
Matlab 6.5的Extension Mode菜单下包含了6种基本的延伸方式(Symmetric、Periodic、Zero Padding、Continuous、Smooth and For SWT)和Direction to extend菜单下的3种延伸模式(Both、Left and Right),在这里我们选择对称性两端延伸进行计算。数据延伸的具体操作过程是:在Extension Mode下选择“ Symmetric”,Dircetion to extend下选择“Both”,单击“Extend”按钮进行对称性两端延伸计算,然后单击“File”菜单下的“Save Tranformed Signal”,将延伸后的数据结果存为erunoff.mat文件。
从erunoff文件可知,系统自动将原时间序列数据向前对称延伸12个单位,向后延伸13个单位。
图3 小波工具箱主菜单 | 图4 径流时间序列的延伸 |
3. 计算小波系数
图5 小波变换菜单界面 |
选择Matlab 6.5小波工具箱中的Morlet复小波函数对延伸后的径流数据序列(erunoff.mat)进行小波变换,计算小波系数并存盘。
小波工具箱主菜单界面见图3,单击“Wavelet 1-D”下的子菜单“Complex Continuous Wavelet 1-D”,打开一维复连续小波界面,单击“File”菜单下的“Load Signal”按钮,载入径流时间序列erunoff.mat(图5)。
图5的左侧为信号显示区域,右侧区域给出了信号序列和复小波变换的有关信息和参数,主要包括数据长度(Data Size)、小波函数类型(Wavelet:cgau、shan、fbsp和cmor)、取样周期(Sampling Period)、周期设置(Scale Setting)和运行按钮(Analyze),以及显示区域的相关显示设置按钮。
本例中,我们选择cmor (1-1.5)、取样周期为1、最大尺度为32,单击“Analyze”运行按钮,计算小波系数。然后单击“File”菜单下的“Save Coefficients”,保存小波系数为cerunoff.mat文件。
注意:上面涉及到的数据保存,其格式均为.mat。
4. 计算Morlet复小波系数的实部
将复小波系数转存到Excel表格,去掉两端延伸数据的小波系数,并计算小波系数实部。
在Matlab 6.5界面下的Workspace中将cerunoff.mat文件导入,然后双击打开,全部复制到Excel后去掉延伸数据的小波变换系数(本例中去掉前12列和后13列),或只复制原时间序列的小波变换系数到Excel,最后使用Excel中的IMREAL函数计算原时间序列的小波系数实部(图6)。
图6 复小波系数及实部计算示意图 |
Excel 中IMREAL函数的调用方法为:单击“插入”菜单下的“函数(F)”按钮,弹出图7所示的“插入函数”窗口,在“搜索函数(S):”框中输入:“IMREAL”后单击“转到”,再单击“确定”,出现函数参数窗口(图8)。在“Inumber”一栏的空白处输入所要计算的数据(图6),单击“确定”即可得到小波系数实部值。
图7 IMEAL 函数调用 | 图8 IMEAL 函数参数 |
需要说明的是,从cerunoff.mat文件中转到Excel里的复小波系数,在其实部和虚部中间包含许多“空格”,在计算之前需要先将其去掉。
5. 借助Suffer 8.0,绘制小波系数实部等值线图
5.1 小波系数实部等值线图的绘制
首先,将小波系数实部数据按照图9格式排列,其中列A为时间,列B为尺度,列C为不同时间和
尺度下所对应的小波系数实部值。
图9 小波系数实部数据格式 |
其次,将图9数据转化成Suffer 8.0识别的数据格式。具体操作为:在Suffer 8.0界面下,单击“网格”菜单下的“数据”按钮,在“打开”窗口选择要打开的文件(小波系数实部.xls),单击“打开”后弹出“网格化数据”对话框(图10)。它给出了多种不同的网格化方法、文件输出路径及网格线索几何学等信息。这里我们选择“克里格“网格方法”,单击“确定”,完成数据格式的转化。
图10 小波系数实部数据格式转化 | 图11 Suffer8.0中的小系数实部等值线图 |
最后,绘制小波系数实部等值线图。在Suffer 8.0界面下,单击“地图”菜单下的“等值线图-新建等值线图”按钮,弹出“打开网格”窗口后,选择“小波系数实部.grd”文件,单击“打开”,完成等值线图的绘制并存盘(图11)。
5.2 小波系数实部等值线图在多时间尺度分析中的作用
图12 小系数实部等值线图 |
小波系数实部等值线图能反映径流序列不同时间尺度的周期变化及其在时间域中的分布,进而能判断在不同时间尺度上,径流的未来变化趋势。
为能比较清楚的说明小波系数实部等值线图在径流多时间尺度分析中的作用,我们利用Suffer 8.0对其进一步处理和修饰,得到图12显示的小波系数实部等值线图。
其中,横坐标为时间(年份),纵坐标为时间尺度,图中的等值曲线为小波系数实部值。
当小波系数实部值为正时,代表径流丰水期,在图中我们用实线绘出,“H”表示正值中心;为负时,表示径流枯水期,用虚线绘出,“L”表示负值中心。
由图12可以清楚的看到径流演化过程中存在的多时间尺度特征。
总的来说,在流域径流演变过程中存在着18~32年,8~17年以及3~7年的3类尺度的周期变化规律。
其中,在18~32年尺度上出现了枯-丰交替的准两次震荡;在8~17年时间尺度上存在准5次震荡。
同时,还可以看出以上两个尺度的周期变化在整个分析时段表现的非常稳定,具有全域性;而3~10年尺度的周期变化,在1980s以后表现的较为稳定。
6. 绘制小波系数模和模方等值线图
6.1 小波系数模和模方等值线图的绘制
参考4、5两步,绘制小波系数模和模方等值线图(图13、14)。
说明:在Excel中,复数模的计算函数为“IMABS”。
图13 小波系数模等值线图 | 图14 小波系数模方等值线图 |
6.2 小波系数模等值线图在多时间尺度分析中的作用
Morlet小波系数的模值是不同时间尺度变化周期所对应的能量密度在时间域中分布的反映,系数模值愈大,表明其所对应时段或尺度的周期性就愈强。
从图13可以看出,在流域径流演化过程中,18~32年时间尺度模值最大,说明该时间尺度周期变化最明显,18~22年时间尺度的周期变化次之,其他时间尺度的周期性变化较小;
6.2 小波系数模方等值线图在多时间尺度分析中的作用
小波系数的模方相当于小波能量谱,它可以分析出不同周期的震荡能量。
由图14知,25~32年时间尺度的能量最强、周期最显著,但它的周期变化具有局部性(1980s前);10~15年时间尺度能量虽然较弱,但周期分布比较明显,几乎占据整个研究时域(1974~2004年)。
7. 绘制小波方差图
7.1小波方差图的绘制
图15 小波方差图 |
将不同时间尺度下的小波系数代入式(5)可得径流变化的小波方差,以小波方差为纵坐标,时间尺度a为横坐标,可绘制小波方差图(图15)。
7.2小波方差图在多时间尺度分析中的作用
小波方差图能反映径流时间序列的波动能量随尺度a的分布情况。
可用来确定径流演化过程中存在的主周期。
流域径流的小波方差图中(图15)存在4个较为明显的峰值,它们依次对应着28年、14年、8年和4年的时间尺度。
其中,最大峰值对应着28年的时间尺度,说明28年左右的周期震荡最强,为流域年径流变化的第一主周期;
14年时间尺度对应着第二峰值,为径流变化的第二主周期,第三、第三峰值分别对应着8年和4年的时间尺度,它们依次为流域径流的第三和第四主周期。
这说明上述4个周期的波动控制着流域径流在整个时间域内的变化特征。
8. 主周期趋势图的绘制及其在多时间尺度分析中的作用
根据小波方差检验的结果,我们绘制出了控制流域径流演变的第一和第二主周期小波系数图(图16)。
从主周期趋势图中我们可以分析出在不同的时间尺度下,流域径流存在的平均周期及丰-枯变化特征。
图16a显示,在14年特征时间尺度上,流域径流变化的平均周期为9.5年左右,大约经历了4个丰-枯转换期;
而在28年特征时间尺度上(图16b),流域的平均变化周期为20年左右,大约2个周期的丰-枯变化。
图16 大沽夹河流域年径流变化的13年和28年特征时间尺度小波实部过程线 |
参考文献
王文圣,丁晶,李耀清. 2005. 水文小波分析[M]. 北京:化学工业出版社
曹素华等. 1998. 实用医学多因素统计方法[M]. 上海:上海医科大学出版社
方开泰. 1989. 实用多元统计分析[M]. 上海:华东师范大学出版社
何清波,苏炳华,钱亢. 2002. 医学统计学及其软件包[M]. 上海:上海科学技术文献出版社
胡秉民. 1987. 微电脑在农业科学中的应用[M]. 北京:科学出版社
孙尚拱. 1990.. 实用多元变量统计方法与计算程序[M]. 北京:北京医科大学、中国协和医科大学联合出版社
唐守正. 1986. 多元统计分析方法[M]。北京:中国林业出版社
王学仁. 1982. 地址数据的多变量统计分析. 北京:科学出版社
徐振邦,金淳浩,娄元仁. 1986. 距离系数和距离系数尺度在聚类分析中的应用[M]. 赵旭东等主编,中国数学地质(1). 北京:地质出版社
於崇文. 1978. 数学地质的方法与应用[M]. 北京:冶金工业出版社
Anderson T. W. 1967. Introduction to multivariate statistical analysis, 2nd[M]. New York: Wiley
Gauch H. G. J. 1982. Multivariate analysis in community ecology[M]. Britain: Cambridge University Press
Horel A. E. ,Wennard. R. W. and Baldwin K. F. 1975. regression: some simulations. Communications in Statistics[J], 4: 105~123
练习
试运用小波分析理论,分析某市年平均降水过程中存在的多时间尺度变化特征。
表2 某市1957-2004年实测年均降水量(mm) | |||||||
年份 | 降水量 | 年份 | 降水量 | 年份 | 降水量 | 年份 | 降水量 |
1957 | 320.0 | 1969 | 324.8 | 1981 | 506.0 | 1993 | 384.4 |
1958 | 481.2 | 1970 | 412.3 | 1982 | 282.1 | 1994 | 503.9 |
1959 | 522.6 | 1971 | 366.5 | 1983 | 508.6 | 1995 | 406.7 |
1960 | 339.3 | 1972 | 262.4 | 1984 | 523.9 | 1996 | 465.7 |
1961 | 719.9 | 1973 | 521.9 | 1985 | 518.9 | 1997 | 345.3 |
1962 | 373.5 | 1974 | 351.7 | 1986 | 320.1 | 1998 | 454.9 |
1963 | 332.9 | 1975 | 398.4 | 1987 | 340.0 | 1999 | 327.9 |
1964 | 741.2 | 1976 | 320.2 | 1988 | 478.5 | 2000 | 406.2 |
1965 | 454.3 | 1977 | 445.4 | 1989 | 402.4 | 2001 | 404.7 |
1966 | 604.3 | 1978 | 534.8 | 1990 | 552.4 | 2002 | 401.9 |
1967 | 451.9 | 1979 | 509.7 | 1991 | 313.9 | 2003 | 605.1 |
1968 | 424.3 | 1980 | 395.5 | 1992 | 591.0 | 2004 | 385.4 |