Introduction
时间序列(Time Series)是地学研究中经常遇到的问题。在时间序列研究中,时域和频域是常用的两种基本形式。
其中,时域分析具有时间定位能力,但无法得到关于时间序列变化的更多信息;
频域分析(如Fourier变换)虽具有准确的频率定位功能,但仅适合平稳时间序列分析。
然而,地学中许多现象(如河川径流、地震波、暴雨、洪水等)随时间的变化往往受到多种因素的综合影响,大都属于非平稳序列,它们不但具有趋势性、周期性等特征,还存在随机性、突变性以及“多时间尺度”结构,具有多层次演变规律。
对于这类非平稳时间序列的研究,通常需要某一频段对应的时间信息,或某一时段的频域信息。
显然,时域分析和频域分析对此均无能为力。 20世纪80年代初,由Morlet提出的一种具有时—频多分辨功能的小波分析(Wavelet Analysis)为更好的研究时间序列问题提供了可能, 它能清晰的揭示出隐藏在时间序列中的多种变化周期, 充分反映系统在不同时间尺度中的变化趋势, 并能对系统未来发展趋势进行定性估计。 本帖以美国某气象站1894~2010年连续的年降水量为例,试用小波分析,完成如下任务: ①小波变换系数; ②绘制小波系数实部等值线图; ③绘制小波系数模和模方等值线图; ④绘制小波方差图;以及 ⑤绘制不同时间尺度的小波实部过程线。 所谓年降水量时间序列的多时间尺度是指:年降水量在演化过程中,并不存在真正意义上的变化周期,而是其变化周期随着研究尺度的不同而发生相应的变化,这种变化一般表现为小时间尺度的变化周期往往嵌套在大尺度的变化周期之中。也就是说,年降水量变化在时间域中存在多层次的时间尺度结构和局部变化特征。 小波分析的计算过程请参考:小波分析—经典、小波方差制作步骤等。 小波分析的基本理论在此不多叙述,请参考其他文献。本帖主要介绍小波分析的一般过程,数据及部分代码将附在文末。
0.年降水量的变化趋势分析
该站点的年降水量变化情况(LI_plot函数)如图 0所示,其发展呈微微上升的趋势,降水量最高年份出现在2003年,全年累计达到1610.70mm,最低值出现在1965年,累计仅有748.90mm。
1.数据的加载
加载多年降水量至MATLAB使用Load命令。

2.边界效应的消除或减小
由于本例中的实测年降水量数据为有限时间数据序列, 在时间序列的两端可能会产生“边界效应”。 为消除或减小序列开始点和结束点附近的边界效应, 须对其两端数据进行延伸。 在进行完小波变换后, 去掉两端延伸数据的小波变换系数, 保留原数据序列时段内的小波系数。 本例中, 我们利用Matlab小波工具箱中的信号延伸(Signal Extension)功能, 对数据两端进行对称性延伸。 具体步骤: 在Matlab界面的“Command Window”中输入小波工具箱调用命令“wavemenu”, 按Enter键弹“Wavelet Toolbox Main Menu”(小波工具箱主菜单)界面(Fig. 1上); 然后单击“Signal Extension”, 打开Signal Extension /Truncation窗口, 单击“File”菜单下的“Load Signal”, 选择prec.mat文件单击“打开”, 出现信号延伸界面。 Matlab的Extension Mode菜单下包含多种延伸方式和Direction to extend菜单下的3种延伸模式(Both、Left and Right), 在这里我们选择对称性两端延伸进行计算。 具体操作过程是: 在Extension Mode下选择“Symmetric(Whole-Point)”, Dircetion to extend下选择“Both”, 单击“Extend”按钮进行对称性两端延伸计算(Fig. 1下), 然后单击“File”菜单下的“Save Tranformed Signal”, 将延伸后的数据结果存为ePrec.mat文件。
从ePrec文件可知(entendvalue函数),系统自动将原时间序列数据向前对称延伸5个单位,向后延伸6个单位。
3.计算小波系数
选择Matlab小波工具箱中的Morlet复小波函数对延伸后的数据序列(ePrec.mat)进行小波变换,计算小波系数并保存。 小波工具箱主菜单界面见Fig. 1上, 单击“One-Dimensional”下的子菜单“Complex Continuous Wavelet 1-D”,

小波函数类型(Wavelet:cgau、shan、fbsp和cmor)、 取样周期(Sampling Period)、 周期设置(Scale Setting)和运行按钮(Analyze), 以及显示区域的相关显示设置按钮。 本例中,我们选择·(1-1.5)、取样周期为1、最大尺度为64(延伸后的时间序列的一半), 单击“Analyze”运行按钮,计算小波系数。 然后单击“File”菜单下的“Save Coefficients”, 保存小波系数为cePrec.mat文件。

4.计算Morlet复小波系数的实部
去除两端延伸数据的小波系数(entendvalue函数),并计算小波系数实部(real函数)。5.绘制小波系数实部等值线图
这部分过程应用LI_contourf函数,年降水量小波系数实部等值线图见Fig. 3。 如Fig. 3所示的小波系数实部等值线图。 其中,横坐标为时间(年份),纵坐标为时间尺度,图中的等值曲线为小波系数实部值。 小波系数实部等值线图能反映 年降水量序列不同时间尺度 的周期变化及其在时间域中的分布, 进而能判断在 不同时间尺度 上,年降水量的 未来变化趋势。

6.绘制小波系数模和模方等值线图
首先,计算小波系数的模和模方,再利用LI_contourf函数绘制模和模方等值线图。

7.绘制小波方差图
小波方差的计算过程参考: 小波方差制作步骤(参考文献存在一个错误,小波方差未除N,本贴小波方差计算已有修正)。 小波方差图能反映降水量时间序列的波动能量随尺度(a)的分布情况。 可用来确定降水量演化过程中存在的主周期。
.主周期趋势图的绘制及其在多时间尺度分析中的作用
根据小波方差检验的结果,绘制演变的第一和第二主周期小波系数图。
