时间序列数据之⼀阶指数平滑法以及python代码实现
基本概念
时间序列数据:
是指⼀个数据序列,在时域上存在相互依赖的关系
前提假设:
时间序列分析⼀般假设我们获得的数据在时域上具有⼀定的相互依赖关系,例如股票价格在t时刻很⾼,那么在t+1时刻价格也会⽐较⾼(跌停才10%);如果股票价格在⼀段时间内获得稳定的上升,那么在接下来的⼀段时间内延续上升趋势的概率也会⽐较⼤。
⽬标:
(1)发现这种隐含的依赖关系,并增加我们对此类时间序列的理解;
(2)对未观测到的或者尚未发⽣的时间序列进⾏预测。
我们认为时间序列由两部分组成:有规律的时间序列(即有依赖关系)+噪声(⽆规律,⽆依赖)。所以,
,接下来要做的就是过滤噪声—接下来利⽤指数平滑来对数据进⾏处理
不管是⼏阶指数平滑,都需要设置初值,设置初值的⽅法:
假如数据⼤于20项,那么初值就可以认定为第⼀个数据;假如数据⼩于20项,就取待处理数据的前三项的真实平均值作为初始值
⼀阶指数平滑
⼀次指数平滑⼀般应⽤于直线型数据,且⼀次指数平滑具有滞后性,可以说明有明显的时间性、季节性。
⼀次指数平滑需要滞后⼀期,给定平滑系数alpha,那么⼀次指数平滑的计算公式为:
预测第t+1期的数值则是上⼀期的实际值与预测值的加权平均,预测公式为:
代码实现
def exponential_smoothing(alpha, s):
python新手代码及作用'''
⼀次指数平滑
:param alpha: 平滑系数
:param s: 数据序列, list
:return: 返回⼀次指数平滑模型参数, list
'''
s_temp=[]
s_temp.append(s[0])
print(s_temp)
for i in range(1, len(s),1):
s_temp.append(alpha * s[i-1] + (1 - alpha) * s_temp[i-1])
return s_temp
⼆阶指数平滑将在下篇介绍
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论