时间序列的预处理
时间序列可以看成是对所研究系统的响应进行观察和记录,并称之为采样。相应地把观察和记录时间间隔称为采样间隔,通常采用等间隔采样,然而实际中常遇到非等间隔的时间序列。另一方面,由于数据传输过程、采样及记录过程中发生数据失真或丢失,研究现象本身由于受各种偶然非正常的因素影响而形成缺失值和离群点等情况出现在序列中,对于这样的时间序列,在建立时间序列模型前,需要对序列进行预处理。
一般而言,在https://www.zhihu.com/question/45118664/answer/924311261的1.2中提到的各种建模方法是针对等间隔且不存在缺失值的时间序列。
1非等间隔
处理非等间隔时间序列的方法有两类,一类是内插法,最常用的是线性内插法。然而内插法往往会带来显著的且不易量化的偏差,因为分析拟合误差时往往不能区分哪些是模型本身带来的误差,哪些是由于内插带来的误差.另一类是直接对数据建模,例如可以把处理等间隔时间序列方法通过某种变换再应用之,或者直接考虑新的适用于非等间隔序列的模型。然而,这类建模方法较少,这里不再详细展开讨论,有兴趣的读者可参考 Eckner(2011).不作特殊说明,大多数时间序列教材中讨论的都是等间隔时间序列.需要指出的是,对于股票等经济领域的时间序列,虽然在每个周末没有数据,但我们仍把它看为等间隔时间序列。
2缺失值
时间序列缺失值的处理是预处理中的一个重要环节,处理不当,就会累积大量的错误,造成较大误差.关于缺失值的处理,常见的方法有两种,一种是直接丢弃含缺失数据的记录;另一种是用新值替代缺失数据实际中,后者的处理方式更常用,因为前者对数据分析而言是很大的浪费.用新值替代缺失值的常见方法有如下几种:
1)替代法:可考虑用该序列中已观测序列值的均值替代;或最近邻域替代法,即设t时刻的序列值缺失,而已观测到t-1时刻的序列值
2)内插法:线性内插法,即根据两个时刻的观测值内插得到这两个时刻之间的时刻的序贯估计值.例如,设某一天的温度序列中,一点钟的气温为20℃,三点钟时为14℃,可以用线性内插法推测一点半及两点钟时的气温分别是18.5℃及17℃;K-最近距离法,即根据欧式距离或相关分析选取离缺失值最近的K个已观测序列值,将这K个值按照距离长度加权平均来估计该样本的缺失数据.
3)统计模型:即通过一些建模方法获得缺失处的预测值,常见的有样条法和回归模型法.样条法是通过对已观测序列值建立样条模型,如三阶样条、光滑样条等,从而预测出缺失值.回归模型包括一元线性回归和多元线性回归,即根据观测序列,构造出回归模型所需的自变量和因变量,从而得到自变量与因变量之间的关系,并得到缺失处的预测值
4)多重插补:其思想来源于贝叶斯估计,认为待插补的值是随机的。实际中,通常先估计出待插补的值,然后再加上不同的噪声,形成多组可选插补值;对每个插补数据集合,都用针对完整数据集的统计方法进行统计分析,从而得到不同的结果;并根据评分函数进行选择,产生最终的插补值。
以上四种插补方法,均值替代法是最容易实现的,也是以前人们经常使用的,但是它对样本存在极大的干扰,尤其是当插补后的值作为解释变量进行回归时,参数的估计值与真实值的偏差很大.实践证明,线性内插法等直观方法所产生的结果也并不理想.回归模型往往效果不错,即用已有数据作为训练样本来建立预测模型,预测缺失数据.该方法最大限度地利用已知的相关数据,是比较流行的缺失数据处理技术.此外,多重插补法综合比较其他各种处理方法,并得到在某种评分准则下最优的处理方法,故应用较多。除了上述处理方法之外,还有基于EM算法的替代模型,最大似然估计,外推法如增长量推算法、发展速度推算法、比例推算法等方法
3离群点
离群点(Outlier)是指一个时间序列中,远离序列一般水平的极端大值和极端小值。
离群点往往是系统受外部干扰而造成的.但是,形成离群点的系统外部干扰是多种多样的.首先,由计算的误差或者操作的错误所致,例如某人的年龄为-35岁.其次,可能是被研究现象本身由于受各种偶然非正常的因素影响而引起的.例如,在人口死亡序列中,由于某年发生了地震,使该年度死亡人数剧增,从而形成离群点.再次,由数据本身的可变性或弹性所致,比如某公司中总经理的工资是明显高于其他普通员工的工资,于是总经理的工资数据即由于数据本身可变性所导致的离群点.
在统计学中,认为存在两种离群点:其一是既定分布中的极端点,它们虽与数据主体来自同一总体,但本身应以极小的概率出现.其二是数据集的主体并非来自同一总体,而是在采集数据过程中受到其他总体的“污染”,致使现有数据集掺入不应有的“杂质”。离群点可分为四种类型:(1)加性离群点:该干扰只影响发生的那一个时刻t时的序列值而不影响该时刻以后的序列值;(2)更新离群点:造成离群点的干扰不仅作用于Xt,且影响t时刻以后序列的所有观测值;(3)水平移位离群点:造成这种离群点的干扰是在某一时刻t系统的结构发生了变化,并持续影响t时刻以后的所有观测值,在数列上往往表现出t时刻前后的序列均值发生水平位移;(4)暂时变更离群点:造成这种离群点的干扰是在t时刻干扰发生时具有一定初始效应,以后随时间根据衰减因子的大小呈指数衰减。
离群点会对时间序列分析造成一定的影响.从造成分析的困难来看,离群点会直接影响模型的拟合精度,甚至会得到一些虚伪的信息.例如,两个相距很近的离群点将在谱分析中产生许多虚假的频率.然而,从获得信息来看,离群点提供了很重要的信息,甚至这些离群点也许正是用户感兴趣的,比如在欺诈检测领域,那些与正常数据行为不一致的离群点,往往预示着欺诈行为,而这正是执法者所关注的对象.
离群点常见的检测方法如下所示:
1将序列值与平滑值(时间序列的平滑方法可百度/谷歌自查)进行比较,根据差异,结合相应的评价准则检验其是否显著大(或小).这种方法比较简单,但对于判断离群点的类型存在着不足
2干预分析法,其思想是,首先根据数据建立模型,利用拟合模型的残差序列计算特定的统计量,测出显著的离群点及其类型,并用所建立的模型对离群点进行修正,然后用修正后的时间序列再建立模型,重复上面的工作方法
3检测序列值与其相应的时间序列平滑估计值的绝对离差是否大于某预先设定的值.
经过检测并诊断出离群点后,我们可以根据需求来处理若是离群点正是我们所关心的信息,直接提取出来并加以分析;若离群点不是我们所希望见到的,即不希望离群点破坏整个时间序列的发展规律,此时,可以考虑把离群点光滑化,即用某些值替代离群点,然后再对处理后的时间序列进行分析。
参考资料:
《时间序列分析及应用》(周永道)
《应用时间序列分析》(何书元)