我们一起了解了什么数据有时带有周期的,如何识别.并且讲解了如何通过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指数周期预测的所有步骤了
希望获取视频教程的同学可以点击 西瓜视频 查看更多信息