首页 > 编程语言 > 详细

指数平滑算法

时间:2015-02-02 18:01:32      阅读:329      评论:0      收藏:0      [点我收藏+]

对时间序列的预测,用的最多的是指数平滑算法,算法不复杂。

首先理解一个基本公式:

 指数平滑法的基本公式是:技术分享 式中,

  • St--时间t的平滑值;
  • yt--时间t的实际值;
  • St ? 1--时间t-1的平滑值;
  • a--平滑常数,其取值范围为[0,1];
说明:

1. 此公式用t-1时刻的平滑值和t时刻的hi实际值来计算t时刻的平滑值

2. a是系数,越接近1的话,远期数据对于计算结果影响越小,越接近0,则影响越大

用newlisp表达公式如下:

(define (cal-basic real-t1 smooth-t0 a)
  (add (mul a real-t1) (mul (sub 1 a) smooth-t0)))
说明:

t0 就是 t-1

t1 就是t


有了这个函数,我们就可以得到t2时刻的平滑值smooth-t2, 然后可以运用一次指数平滑预测公式进行预测:

smooth-t2=a * real-t1 + (1-a) * smooth-t1

newlisp代码为:

;; @return smooth value of t2
(define (cal-exponential1 real-t1 smooth-t0 a)
  (let (smooth-t1 (cal-basic real-t1 smooth-t0 a))
    (print (add (mul a real-t1) (mul (sub 1 a) smooth-t1)))
  ))




指数平滑算法

原文:http://blog.csdn.net/csfreebird/article/details/43409949

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!