
2.1 经验模态分解及其改进方法
2.1.1 EMD方法原理
EMD是一种针对非线性、非平稳复杂时间序列的分解算法,本质上是对一个复杂信号进行平稳化处理,将信号中不同尺度的趋势或波动逐级分解,得到一系列频率和振动幅度不同的子序列,其中每一个子序列代表原序列在不同尺度下的波动模态,对应于一个IMF。EMD的基本思路是用波动的上、下包络平均值去确定“瞬时平衡位置”,进而提取本征模函数。EMD分解的具体步骤如下(Huang et al.,1998):
Step1:识别S(t)中所有的局部极大值、极小值,并分别用三次样条进行插值,拟合出S(t)的上、下包络线。其中S(t)表示当前待分解序列,t=0,1,…,T,初值为股票对数收益率序列。
Step2:计算每一时刻上、下包络线的局部瞬时均值,从而获得平均包络线m(t),按照式(2-1)计算新序列d(t)。

然后按照如式(2-2)所示的Sd值来判断d(t)是否为本征模函数。

其中,di(t)为第i次筛分的结果,Sd的阈值通常设定为0.2~0.3。若Sd值小于阈值,则筛分处理停止;否则,将d(t)当作新的待分解序列S(t),重新执行上述迭代处理过程,包括Step1、Step2。
Step3:若d(t)满足上述筛分处理的停止条件、IMF需满足的两个条件,则d(t)为一个IMF,将d(t)从S(t)中分离,得到余项r(t)=S(t)-d(t)。
Step4:若余项r(t)已成为一个单调函数或常数,或者振幅低于既定阈值而无法进一步提取IMF,则整个分解过程结束。否则,将r(t)当作待分解序列S(t),返回Step1,重新执行上述迭代处理过程。
分解完成时,初始的股票对数收益率序列S(t)被迭代分解为n个彼此正交的本征模函数ci(t)与趋势余项Rn(t),i=1,2,…,n,如式(2-3)所示,其中ci(t)取自Step3得到的本征模函数d(t)。

2.1.2 集合经验模态分解EEMD的原理
经典EMD分解假设待分解时序信号不包含噪声,可自适应地分解为不同频率与变化模式的子序列,即分解得到的每个IMF都可完整表现原序列信号在特定频率下的模式特征。然而,经济金融时序数据往往不完全符合白噪声假设,其中股票市场时间序列的信噪比特别低。EEMD方法可弥补该缺陷,它每次将不同且频率均匀分布的辅助白噪声加入目标信号,然后利用EMD分解含有附加白噪声的信号,重复上述过程N次,并分别计算所有经EEMD分解得到的IMFs和趋势项的平均值,得到原时序信号的最终分解结果(Wu et al.,2004)。为使EEMD中依次添加的白噪声扰动效果递减,可通过统计规则来进行控制:,其中,εn为最终误差的标准差,ε为辅助白噪声的标准差,通常设为0.1或0.2,N为集成操作的次数,默认值100。
2.1.3 CEEMDAN分解原理
虽然EEMD显著改进了EMD的不足,但EEMD对原序列所添加的白噪声仍可能在多次平均后影响分解产生的子序列,进而影响子序列的预测精度。针对模态混叠与分解不完备问题,CEEMDAN进一步改进EEMD算法,在每次分解中都添加自适应白噪声来平滑干扰脉冲。Torres等(2011)提出了噪声辅助数据分析方法CEEMDAN,出色地解决了EEMD方法中主动添加的白噪声无法彻底去除的问题,进一步提升了分解的完整性,降低了重构误差。
2.1.4 IMF重组方法
对原序列S(t)进行CEEMDAN分解获得的各本征模函数ci(t),按如下三个步骤进行重组,可获得S(t)的高频分量、低频分量和趋势项3个子序列(李合龙等,2014):
(1)分别计算各本征模函数ci(t)的均值,i=1,2,…,n。
(2)在给定显著性水平为0.05的条件下,按i=1,2,…,n的顺序,依次对ci(t)执行均值不为0的t检验。
(3)若ck(t)为第一个均值显著非零的IMF,则将c1(t)至ck-1(t)加和得到S(t)的高频子序列,将ck(t)至cn(t)加和得到S(t)的低频子序列,而将rn(t)作为S(t)的趋势项。