时间序列的小波分析时间序列(Time Series)是地学研究中常常遇到的问题在时间序列研究中,时域和频域是常用的两种基本形式其中,时域分析具有时间定位能力,但无法得到有关时间序列变化的更多信息;频域分析(如Fourier变换)虽具有精确的频率定位功能,但仅适合平稳时间序列分析然而,地学中许多现象(如河川径流、地震波、暴雨、洪水等)随时间的变化往往受到多种因素的综合影响,大都属于非平稳序列,它们不仅具有趋势性、周期性等特性,还存在随机性、突变性以及“多时间尺度”构造,具有多层次演变规律对于此类非平稳时间序列的研究,一般需要某一频段相应的时间信息,或某一时段的频域信息显然,时域分析和频域分析对此均无能为力20世纪80年代初,由Morlet提出的一种具有时-频多辨别功能的小波分析(Wavelet Analysis)为更好的研究时间序列问题提供了也许,它能清晰的揭示出隐藏在时间序列中的多种变化周期,充足反映系统在不同步间尺度中的变化趋势,并能对系统将来发展趋势进行定性估计目前,小波分析理论已在信号解决、图像压缩、模式辨认、数值分析和大气科学等众多的非线性科学领域内得到了广泛的应在时间序列研究中,小波分析重要用于时间序列的消噪和滤波,信息量系数和分形维数的计算,突变点的监测和周期成分的辨认以及多时间尺度的分析等。
一、小波分析基本原理1. 小波函数小波分析的基本思想是用一簇小波函数系来表达或逼近某一信号或函数因此,小波函数是小波分析的核心,它是指具有震荡性、可以迅速衰减到零的一类函数,即小波函数且满足: (1)式中,为基小波函数,它可通过尺度的伸缩和时间轴上的平移构成一簇函数系: 其中, (2)式中,为子小波;a为尺度因子,反映小波的周期长度;b为平移因子,反映时间上的平移需要阐明的是,选择合适的基小波函数是进行小波分析的前提在实际应用研究中,应针对具体状况选择所需的基小波函数;同一信号或时间序列,若选择不同的基小波函数,所得的成果往往会有所差别,有时甚至差别很大目前,重要是通过对比不同小波分析解决信号时所得的成果与理论成果的误差来鉴定基小波函数的好坏,并由此选定该类研究所需的基小波函数2. 小波变换若是由(2)式给出的子小波,对于给定的能量有限信号,其持续小波变换(Continue Wavelet Transform,简写为CWT)为: (3)式中,为小波变换系数;f(t)为一种信号或平方可积函数;a为伸缩尺度;b平移参数;为的复共轭函数。
地学中观测到的时间序列数据大多是离散的,设函数,(k=1,2,…,N; 为取样间隔),则式(3)的离散小波变换形式为: (4)由式(3)或(4)可知小波分析的基本原理,即通过增长或减小伸缩尺度a来得到信号的低频或高频信息,然后分析信号的概貌或细节,实现对信号不同步间尺度和空间局部特性的分析实际研究中,最重要的就是要由小波变换方程得到小波系数,然后通过这些系数来分析时间序列的时频变化特性3. 小波方差将小波系数的平方值在b域上积分,就可得到小波方差,即 (5)小波方差随尺度a的变化过程,称为小波方差图由式(5)可知,它能反映信号波动的能量随尺度a的分布因此,小波方差图可用来拟定信号中不同种尺度扰动的相对强度和存在的重要时间尺度,即主周期二、小波分析实例-时间序列的多时间尺度分析(Multi-time scale analysis)例题河川径流是地理水文学研究中的一种重要变量,而多时间尺度是径流演化过程中存在的重要特性所谓径流时间序列的多时间尺度是指:河川径流在演化过程中,并不存在真正意义上的变化周期,而是其变化周期随着研究尺度的不同而发生相应的变化,这种变化一般体现为小时间尺度的变化周期往往嵌套在大尺度的变化周期之中。
也就是说,径流变化在时间域中存在多层次的时间尺度构造和局部变化特性表1给出了某流域某水文观测站1966-的实测径流数据试运用小波分析理论,借助Matlab Ra、suffer 12.0和其她有关软件(Excel、记事本等),完毕下述任务:(1)计算小波系数;(2)绘制小波系数图(实部、模和模方)、小波方差图和主周期变化趋势图,并分别阐明各图在分析径流多时间尺度变化特性中的作用表1 某流域某水文观测站1966-实测径流数据(×108m3)年份径流量年份径流量年份径流量年份径流量年份径流量19661.43819742.23519820.77419901.80619981.70919671.15119754.37419830.36719910.44919990.00019680.53619764.21919840.56219920.1200.00019691.47019772.59019853.04019930.6272.10419703.47619783.35019860.30419941.6580.00919714.06819792.54019870.72819951.0253.17719722.14719800.80719880.49219960.9550.92119733.93119810.57319890.00719971.341分析1. 选择合适的基小波函数是前提在运用小波分析理论解决实际问题时,选择合适的基小波函数是前提。
只有选择了适合具体问题的基小波函数,才干得到较为抱负的成果目前,可选用的小波函数诸多,如Mexican hat小波、Haar小波、Morlet小波和Meyer小波等在本例中,我们选用Morlet持续复小波变换来分析径流时间序列的多时间尺度特性因素如下:1.1 径流演变过程中涉及“多时间尺度”变化特性且这种变化是持续的,因此应采用持续小波变换来进行此项分析1.2实小波变换只能给出时间序列变化的振幅和正负,而复小波变换可同步给出时间序列变化的位相和振幅两方面的信息,有助于对问题的进一步分析1.3 复小波函数的实部和虚部位相差为π/2,可以消除用实小波变换系数作为判据而产生的虚假振荡,使分析成果更为精确2. 绘制小波系数图、小波方差图和主周期变化趋势图是核心当选择好合适的基小波函数后,下一步的核心就是如何通过小波变换获得小波系数,然后运用有关软件绘制小波系数图、小波方差图和主周期变化趋势图,进而根据上述三种图形的变化辨认径流时间序列中存在的多时间尺度具体环节1. 数据格式的转化2. 边界效应的消除或减小3. 计算小波系数4. 计算复小波系数的实部、模、模方、方差5. 绘制小波系数实部、模、模方等值线图6. 绘制小波方差图7. 绘制主周期趋势图下面,我们以上题为例,结合软件Matlab Ra、suffer 12.0、Excel、记事本等,具体阐明小波系数的计算和各图形的绘制过程,并分别阐明各图在分析径流多时间尺度变化特性中的作用。
1. 数据格式的转化和保存将寄存在Excel表格里的径流数据(以时间为序排为一列)转化为Matlab Ra辨认的数据格式(.mat)并存盘具体操作为:在Matlab Ra 界面下,单击“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 Ra小波工具箱中的信号延伸(Signal Extension)功能,对径流数据两端进行对称性延伸具体措施为:在Matlab Ra界面的“Command Window”中输入小波工具箱调用命令“Wavemenu”,按Enter键弹“Wavelet Toolbox Main Menu”(小波工具箱主菜单)界面(图3);然后单击“Signal Extension”,打开Signal Extension / Truncation窗口,单击“File”菜单下的“Load Signal”,选择runoff.mat文献单击“打开”,浮现图4信号延伸界面Matlab Ra的Extension Mode菜单下涉及了6种基本的延伸方式(Symmetric、Periodic、Zero Padding、Continuous、Smooth and For SWT)和Direction to extend菜单下的3种延伸模式(Both、Left and Right),在这里我们选择对称性两端延伸进行计算数据延伸的具体操作过程是:Desired Length可以任意选,只要比原始信号长度大,建议在原始信号的基本上加20(这样左右对称地延伸10个数据),这里选择默认的64;Dircetion to extend下选择“Both”;Extension Mode下选择“Symmetric”;单击“Extend”按钮进行对称性两端延伸计算,然后单击“File”菜单下的“Save Tranformed Signal”,将延伸后的数据成果存为erunoff.mat文献。
从erunoff文献可知,系统自动将原时间序列数据向前对称延伸12个单位,向后延伸13个单位图3 小波工具箱主菜单图4 径流时间序列的延伸3. 计算小波系数图5 小波变换菜单界面选择Matlab Ra小波工具箱中的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 Coefficie。