分享

数学建模方法分享——时间序列分解

 非著名问天 2023-04-30 发布于内蒙古
时间序列是一种动态序列,是某种现象的指标数值随时间顺序排列的数值序列(一般为离散序列)。数学建模中很重要的一部分内容是时间序列分析,时间序列分析分成描述过去、分析规律和预测未来三部分。分析规律是时间序列分析中非常重要的一部分,只有掌握了序列的规律才能较好的进行描述和预测。一个时间序列包含很多规律,众多规律反而会导致整体规律变得不明显,所以往往需要从时间序列中分解出各种规律。本文介绍的时间序列分解就是一种分解时间序列规律的方法。


一般情况下,时间序列的变化规律有三种:趋势周期部分(    图片)、季节部分(图片)和剩余部分(图片)。趋势周期部分是指在忽略季节性和任何小的随机波动下系列的整体运动。季节部分是指具有一定周期性,但随着时间的推移缓慢变化,在近期会有相似的模式,但长期下会发生改变。剩余部分即为原数据去掉前面两部分后的数据,主要包括随机波动。
也有文章会将趋势周期部分分为长期变动趋势和周期变动两部分,这里的周期变动往往是以n年为周期,而前文提到的季节部分往往是以n天/周/月或者1年为周期。也就是说周期变动是影响长期趋势的大的周期性,而季节部分是使长期趋势微小波动的周期性。实际上周期变动这部分也会在趋势周期中较好的体现,遇到后也可以相对简单的进行处理。本文主要介绍三部分的规律分解。

对于趋势周期部分,我们可以使用移动平均法(Moving Average)从时间序列中分离出来。移动平均法是一种采用近期(m期对应m阶)数据的加权平均值替代单期数值的方法,在恰当的选取移动平均阶数的情况下,可以认为从时间序列中平衡掉季节部分和剩余部分,得到趋势周期部分。

假设图片是第t日的原始数据,那么m(奇数)阶移动平均可写为

图片

其中k=图片. 当m是偶数时可以随机去掉一个期数相差最大的数据再进行平均。

上述公式可以称为m-MA。一般情况下我们会使用奇数阶数的移动平均法,因为奇数在抛去当期数据后具有对称性。如果想要使用偶数阶的移动平均可以在移动平均后再使用一次偶数阶数的移动平均来使其对称,称为nxm-MA。

除了上述移动平均,还有加权移动平均,多次移动平均其实本质上就是加权移动平均的应用。对应的公式为:

图片图片图片=图片

使用加权移动平均可以得到更加平滑的曲线,同时更加接近现实,因为最近期的数据与单期数据相关性往往会相对较大。

古典分解是其它分解方法的基础,在这中分解中,假设季节成分年年不变,m个构成季节成分的值被称为季节指数。
具体古典分解可以分为加性分解和乘性分解,如何选取分解方法可以观察波动性与原数据的关系,当波动性随着原数据改变而改变较大时,可以使用乘性分解,反之使用加性分解。
加性分解:图片+图片+图片; 乘性分解:图片
图片
(图片来源于清风数学建模算法讲解)
如图所示随着数值变大,波动性不断变大,可以考虑使用乘法分解,即波动性与趋势周期相关。

下面介绍古典分解中加性分解和乘性分解的流程:
加性分解:
1.如果m是偶数,使用2xm-MA来计算图片,反之使用m-MA。
2.计算除掉图片后的部分:图片,称为去趋势值。
3.对周期节点(即每个周期的第a个点)取平均值来计算该节点的季节成分。在计算完后对其进行调整,使其相加为0.得到图片
4.剩余变量通过减去季节和趋势周期来计算。
乘性分解:
1.同加性分解第一部分
2.去趋势值:图片
3.同加性分解第三部分。
4.图片=图片

虽然经典方法方便,但其存在一定问题:1.使用MA计算会导致部分时间的趋势周期无法估计。2.趋势周期估计倾向于数据的快速上升和下降。3.经典分解假设季节成分保持不变,但这在较长的序列中是错误的。4.经典方法无法忽视异常值。
 由于篇幅有限,其它分解方法在此进行一个简单的优缺点介绍,大家有兴趣可以去自行了解。
X11分解:这种分解方法基于经典分解,但包含了许多额外的步骤和特征,以克服前文所说的缺点,主要针对季度数据和月读数据(可以处理日历变化,即每月天数,交易日等影响)
SEATS分解:这种分解和X11相似。
STL分解:通用且鲁棒性强。可以处理各种数据。其季节成分随时间变化可由认为控制,且趋势周期的平滑度也可由人控制,异常值影响小。但是不能自动处理日历变化。

给大家推荐一本介绍时间序列比较详细的电子书:Forecasting: Principles and Practice。网址为:https:///fpp2  

作者:技术部 柯文啸

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多