我们一起了解了什么数据有时带有周期的,如何识别.并且讲解了如何通过CMA和周期指数进行数据过滤,我们今天一步一步通过EXCEL来完成 winter周期预测.

绘制CMA 中心移动平均线与多项式回归

需要数据或者有兴趣一起完成的看官老爷们,可以到文章底部获取数据哦,

通过 =AVERAGE() 获取中心平均值

这里需要注意,最下面一列需要为空,否者最后一个平均值只会获取前三个数值

使用中心平均值是为了平移移动平均线,使其不至于过于延迟显示,可以理解为MA向后移动几个周期, cma = [周期 / 2] + 1 通过折中取整的方式来获取偏移量, 例如 5 / 2 + 1 = 3

# python中可以这样实现 # 其中 pre为周期 cma_shift = int(pre / 2) + 1

通过插入 --> 图表 --> 选中数据 --> 对对应的数据添加趋势线

在侧栏中找到多项式回归,并且选择显示公式和显示R²值

在这里需要注意一个问题,X轴建议选取数据中最前面的序列号,由于计算机中对时间数据一般会处理为时间戳(timestamp)会造成X值取值有误

如果一切顺利的话,现在我们会看见公式

y = -6.0306x3 - 1983.4x2 + 184662x + 5E+06

当然如果你的数据和我不同,可能会有不同的结果.

我们再通过 =MONTH()函数计算月数据,方便后面导入数据透视表

计算winter指数

需要预测的 Y / CMA

然后我们选取数据并且创建数据透视表

字段选取 列=月/季 行=年 显示值为平均值项 winter_index()

通过矩阵相等 {=B5:F16} 来复制 数据透视表中直接进行字段运算无法拖动框选值


我们可以看见,最后一个值并非 1, 我们需要通过计算对值进行调整


输入公式,获取预测值


通过预测值 * winter_index值获取最终的Y帽(Yhat)

绘制图像

获取数据

你可以直接复制下列数据,

,报告期,营业利润(万元)

1,2010年3月,5391700

2,2010年6月,5636700

3,2010年9月,5548900

4,2010年12月,4871400

5,2011年3月,6958200

6,2011年6月,7192100

7,2011年9月,6974100

8,2011年12月,5975600

9,2012年3月,6958200

10,2012年6月,7192100

11,2012年9月,6974100

12,2012年12月,5975600

13,2013年3月,7960100

14,2013年6月,8005700

15,2013年9月,7939200

16,2013年12月,6840800

17,2014年3月,7960100

18,2014年6月,8005700

19,2014年9月,7939200

20,2014年12月,6840800

21,2015年3月,8823500

22,2015年6月,9015800

23,2015年9月,8564400

24,2015年12月,7300900

25,2016年3月,8823500

26,2016年6月,9015800

27,2016年9月,8564400

28,2016年12月,7300900

29,2017年3月,9536000

30,2017年6月,9814600

31,2017年9月,9399900

32,2017年12月,7210700

33,2018年3月,9536000

34,2018年6月,9814600

35,2018年9月,9399900

36,2018年12月,7210700

37,2019年3月,9638900

38,2019年6月,9696000

39,2019年9月,9552500

40,2019年12月,7066100

41,2020年3月,9638900

42,2020年6月,9696000

43,2020年9月,9552500

我们可以通过EXCEL中数据 --> 导入txt数据

或者 将数据保存到txt文件后,将后缀修改为CSV,两种方法导入数据.

这里的数据是每季实际数据,而非当年累计数据,

好了这里就完成了从数据获取到完成winter指数周期预测的所有步骤了

希望获取视频教程的同学可以点击 西瓜视频 查看更多信息