三阶指数平滑(holt-winters)
适用:
三阶指数平滑法针对有趋势也有季节性的序列。当一个序列在每个固定的时间间隔中都出现某种重复的模式,就称之具有季节性特征,而这样的一个时间间隔称为一个季节(理解:比如说在一个周内,销量呈现出重复的模式)。一个季节的长度k为它所包含的序列点个数。
二次指数平滑考虑了序列的baseline和趋势,三次就是在此基础上增加了一个季节分量。类似于趋势分量,对季节分量也要做指数平滑。比如预测下一个季节第3个点的季节分量时,需要指数平滑地考虑当前季节第3个点的季节分量、上个季节第3个点的季节分量。
其中:
P_i 是指周期性部分,公式如下:
k表示这个周期的长度
代码实现如下
def exponential_smoothing_3(alpha, s):
'''
三次指数平滑
:param alpha: 平滑系数
:param s: 数据序列, list
:return: 返回三次指数平滑模型参数a, b, c, list
'''
s_single = exponen