【Python】统计科学之时间序列预测(下)

统计科学之时间序列预测(下)

张俊红发布于 今天 09:59

前面两篇给大家介绍了几种对时间序列直接的预测方法,这一篇给大家讲讲如何对时间序列进行分解,并根据分解法对数据进行预测。

要对一个指标进行预测,首先得知道影响这个指标的因素都有哪些。假如,现在领导让你预估下个月的销量情况,这个时候你会从哪些角度进行考虑呢?也就是什么因素会影响下个月的销量呢?

正常情况下,第一个需要考虑的因素就是今年比往年整体销量的增长情况是什么样子的,我们把这个因素称为长期趋势;第二个因素呢就是下个月是一年中的淡季还是旺季,一般业务都是会有淡旺季之分的,我们把这个因素称为季节因素;与淡旺季相类似还有一个因素是循环因素,淡旺季是针对一年内的数据而言的,而循环因素是针对不同年份之间的,比如股市的熊市和牛市周期;前面这三个都是已知的一些因素,实际中总是会有一些其他我们所不知道的因素,但是又确实影响着指标的实际情况的,我们把这种因素称为不规则因素。

综上,一个时间序列可以分为:长期趋势(T)、季节因素(S)、循环因素(C)、不规则因素(I)四部分。

那么我们应该如何把这四个因素组合起来呢?有两种组合方式:

加法模型:Y = T + S + C + I

乘法模型:Y = T * S * C * I

如果各个因素之间对Y值的影响是相互独立的,那么就用加法模型,反之则需要使用乘法模型。

接下来我们看一下这几个因素分别如何求取:

在实际应用中上面的几个因素不一定同时存在,需要根据实际情况来进行判断。

以上是关于时间序列各因素的一个拆解,接下来给大家一个举个例子:

下表为2015年-2019年各个季度的GDP值,这是一个完整的时间序列,我们接下来就看下如何拆解这个时间序列中的各个因素。
【Python】统计科学之时间序列预测(下)

先来画个趋势图,看看整体趋势情况:
【Python】统计科学之时间序列预测(下)

先进行第一步,求取移动平均值,因为我们的数据有严格的季节性,所以选取4期移动平均,关于移动平均的方法在前面讲过,这里就不重复了。

第二步根据求出来的移动平均值,拟合回归方程,因为看趋势像线性趋势,所以直接选择线性方程进行拟合,结果如下:
【Python】统计科学之时间序列预测(下)

第三步利用Y值除移动平均TC值即可得到SI值。

第四步求取季节因素S值,我们先对季节因素做个图:
【Python】统计科学之时间序列预测(下)

可以看到每年的第一季度到第四季度都是稳定上升,接下来求取下具体的季节因素大小,其实就是每个季节的在全年中的一个占比情况。
【Python】统计科学之时间序列预测(下)

第五步用SI值除S值,即可得到I值。

最后整体的结果如下:
【Python】统计科学之时间序列预测(下)

我们并对2020年各个季度的GDP做了一个预测,即下图中红线部分,每个季度的预测值等于该季度对应的TSC,因为每个值对应的I不相同,所以就没放进来,当然也可以对不同季度的I值取均值放进来。
【Python】统计科学之时间序列预测(下)

以上就是关于时间序列预测的下部分。为了理解更加深刻,大家一定要自己跟着过程计算一遍。

算法python人工智能网页爬虫深度学习

阅读 34发布于 今天 09:59

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议


俊红的数据分析之路

公众号:《俊红的数据分析之路》,分享数据分析相关的内容。

avatar

张俊红

公众号:《俊红的数据分析之路》,分享数据分析相关的内容。

1 声望

0 粉丝

0 条评论

得票时间

avatar

张俊红

公众号:《俊红的数据分析之路》,分享数据分析相关的内容。

1 声望

0 粉丝

宣传栏

前面两篇给大家介绍了几种对时间序列直接的预测方法,这一篇给大家讲讲如何对时间序列进行分解,并根据分解法对数据进行预测。

要对一个指标进行预测,首先得知道影响这个指标的因素都有哪些。假如,现在领导让你预估下个月的销量情况,这个时候你会从哪些角度进行考虑呢?也就是什么因素会影响下个月的销量呢?

正常情况下,第一个需要考虑的因素就是今年比往年整体销量的增长情况是什么样子的,我们把这个因素称为长期趋势;第二个因素呢就是下个月是一年中的淡季还是旺季,一般业务都是会有淡旺季之分的,我们把这个因素称为季节因素;与淡旺季相类似还有一个因素是循环因素,淡旺季是针对一年内的数据而言的,而循环因素是针对不同年份之间的,比如股市的熊市和牛市周期;前面这三个都是已知的一些因素,实际中总是会有一些其他我们所不知道的因素,但是又确实影响着指标的实际情况的,我们把这种因素称为不规则因素。

综上,一个时间序列可以分为:长期趋势(T)、季节因素(S)、循环因素(C)、不规则因素(I)四部分。

那么我们应该如何把这四个因素组合起来呢?有两种组合方式:

加法模型:Y = T + S + C + I

乘法模型:Y = T * S * C * I

如果各个因素之间对Y值的影响是相互独立的,那么就用加法模型,反之则需要使用乘法模型。

接下来我们看一下这几个因素分别如何求取:

在实际应用中上面的几个因素不一定同时存在,需要根据实际情况来进行判断。

以上是关于时间序列各因素的一个拆解,接下来给大家一个举个例子:

下表为2015年-2019年各个季度的GDP值,这是一个完整的时间序列,我们接下来就看下如何拆解这个时间序列中的各个因素。
【Python】统计科学之时间序列预测(下)

先来画个趋势图,看看整体趋势情况:
【Python】统计科学之时间序列预测(下)

先进行第一步,求取移动平均值,因为我们的数据有严格的季节性,所以选取4期移动平均,关于移动平均的方法在前面讲过,这里就不重复了。

第二步根据求出来的移动平均值,拟合回归方程,因为看趋势像线性趋势,所以直接选择线性方程进行拟合,结果如下:
【Python】统计科学之时间序列预测(下)

第三步利用Y值除移动平均TC值即可得到SI值。

第四步求取季节因素S值,我们先对季节因素做个图:
【Python】统计科学之时间序列预测(下)

可以看到每年的第一季度到第四季度都是稳定上升,接下来求取下具体的季节因素大小,其实就是每个季节的在全年中的一个占比情况。
【Python】统计科学之时间序列预测(下)

第五步用SI值除S值,即可得到I值。

最后整体的结果如下:
【Python】统计科学之时间序列预测(下)

我们并对2020年各个季度的GDP做了一个预测,即下图中红线部分,每个季度的预测值等于该季度对应的TSC,因为每个值对应的I不相同,所以就没放进来,当然也可以对不同季度的I值取均值放进来。
【Python】统计科学之时间序列预测(下)

以上就是关于时间序列预测的下部分。为了理解更加深刻,大家一定要自己跟着过程计算一遍。

以上是 【Python】统计科学之时间序列预测(下) 的全部内容, 来源链接: utcz.com/a/109045.html

回到顶部