预测算法 ---------- 指数平滑

基本思路:最近的过去态势,在某种程度上会持续的未来。指数平滑法是移动平均法中的一种,其特点在于给过去的观测值不一样的权重,即较近期观测值的权数比较远期观测值的权数要大。指数平滑法分为一次指数平滑法、二次指数平滑法和三次指数平滑法等等。

一次指数平滑法:

平滑值的基本公式:St = a * yt + (1-a) * St-1 式中,
St:时间t的平滑值;
yt:时间t的实际值;
St-1:时间t-1的平滑值;

假设以下数据:



如果仅有从y1开始的数据,那么确定初始值的方法有:
  1)取S0等于y1;
  2)待积累若干数据后,取S1等于前面若干数据的简单算术平均数,如:S1=(y1+ y2+y3)/3等等。
这里取前三号的平均值,以*a *= 0.5的一次指数平滑值计算为例,有


构建的预测模型如下,


当时间数列无明显的趋势变化,可用一次指数平滑预测。其预测公式为:
yt+1'=a * yt+(1-a) * yt' 式中
那么,预测 S16 = 0.5 * 28.06 + 29 * 0.5 = 28.53

这里我我们尝试不同的权重值a ,看看平滑曲线呈现什么样的走势。


当 权重值a 越小,曲线的平滑作用越强,对数据的起伏程度越小。

二次指数平滑预测

指数平滑值序列出现一定的滞后偏差的程度随着权系数(平滑系数)的增大而减少;但当时间序列的变动出现直线趋势时,用一次指数平滑法来进行预测仍将存在着明显的滞后偏差。因此,也需要进行修正。

在一次指数平滑的基础上得二次指数平滑 的计算公式为:

St(2) = a * St(1) + (1 - a) * St-1(2)

St(2):t周期的二次指数平滑值;
St(1):t周期的一次指数平滑值;
St-1(2):t-1周期的二次指数平滑值;
a: 加权系数(也称为平滑系数)。

数学模型为


Y t+T : 预测曲线
T: 离间隔t 的数

二次平滑实验 - 平滑函数

def func(data, a):
    se = []
    for i in range(len(data)):
        pre = 0.;
        if not i  == 0:
            pre = a * data[i] + (1-a) * se[i-1]
        else: 
            pre = (1-a) * (data[0] + data[1] + data[2]) / 3 + a * data[i] 
        se.append(round(pre,2))
    return se

三次指数平滑预测

若时间序列的变动呈现出二次曲线趋势,则需要采用三次指数平滑法进行预测。
平滑公式为:
St(3) = a * St(2) + (1 - a) * St-1(3)

image.png

预测公式:

预测结果实验如下


总结:

一次指数平滑预测: 时间数列无明显的趋势变化
二次指数平滑预测:适用于具线性趋势的时间数列
三次指数平滑预测 :时间序列的变动呈现出二次曲线趋势

参考资料:
1.http://wiki.mbalib.com/wiki/%E6%8C%87%E6%95%B0%E5%B9%B3%E6%BB%91%E6%B3%95
2.https://baike.baidu.com/item/%E6%8C%87%E6%95%B0%E5%B9%B3%E6%BB%91%E6%B3%95/8726217?fr=aladdin
3.http://blog.csdn.net/nieson2012/article/details/51980943

jupyter实验过程代码:
链接: https://pan.baidu.com/s/1i6WLH6t 密码: sbnb

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这个不错分享给大家,从扣上看到的,就转过来了 《电脑专业英语》 file [fail] n. 文件;v. 保存文...
    麦子先生R阅读 6,619评论 5 24
  • 时间序列预测法及Spark-Timeserial 时间序列预测法 时间序列预测法(Time Series Fore...
    raincoffee阅读 14,656评论 8 17
  • 顺其自然,呵呵,说来容易,怎样做到。内心总会受到煎熬。
    DaDa2阅读 159评论 0 0
  • 今天一天瞎忙活,上午看了一会儿linux的书,之后就是各种取快递,安排值日,等等许多乱七八糟的事情,中午午休了一下...
    梦里醉乾坤阅读 189评论 0 0
  • 今天雪糕又有进步了。我跟她说去换片片了,去哪换啊?她指了指自己房间,然后走进去了,但是去到床前又会反悔,往外跑。但...
    文两文阅读 142评论 0 0