精华内容
下载资源
问答
  • 指数平滑法——趋势平滑预测方法

    千次阅读 2019-07-09 09:08:09
    原文地址:... 指数平滑法(Exponential Smoothing,ES) 目录 1什么是指数平滑法 2指数平滑法的基本公式 3指数平滑的预测公式 3.1(一) 一次指数平滑预测 ...

    原文地址:https://wiki.mbalib.com/wiki/%E6%8C%87%E6%95%B0%E5%B9%B3%E6%BB%91%E6%B3%95 

    指数平滑法(Exponential Smoothing,ES)

    目录

     

    什么是指数平滑法

      指数平滑法是布朗(Robert G..Brown)所提出,布朗(Robert G..Brown)认为时间序列的态势具有稳定性或规则性,所以时间序列可被合理地顺势推延;他认为最近的过去态势,在某种程度上会持续到最近的未来,所以将较大的权数放在最近的资料。

      指数平滑法是生产预测中常用的一种方法。也用于中短期经济发展趋势预测,所有预测方法中,指数平滑是用得最多的一种。简单的全期平均法是对时间数列的过去数据一个不漏地全部加以同等利用;移动平均法则不考虑较远期的数据,并在加权移动平均法中给予近期资料更大的权重;而指数平滑法则兼容了全期平均和移动平均所长,不舍弃过去的数据,但是仅给予逐渐减弱的影响程度,即随着数据的远离,赋予逐渐收敛为零的权数。

      也就是说指数平滑法是在移动平均法基础上发展起来的一种时间序列分析预测法,它是通过计算指数平滑值,配合一定的时间序列预测模型对现象的未来进行预测。其原理是任一期的指数平滑值都是本期实际观察值与前一期指数平滑值的加权平均。

    指数平滑法的基本公式

      指数平滑法的基本公式是:S_t=a\cdot y_t+(1-a)S_{t-1} 式中,

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

      由该公式可知:

      1.Styt和 St − 1的加权算数平均数,随着a取值的大小变化,决定yt和 St − 1对St的影响程度,当a取1时,St = yt;当a取0时,St = St − 1。

      2.St具有逐期追溯性质,可探源至St − t + 1为止,包括全部数据。其过程中,平滑常数以指数形式递减,故称之为指数平滑法。指数平滑常数取值至关重要。平滑常数决定了平滑水平以及对预测值与实际结果之间差异的响应速度。平滑常数a越接近于1,远期实际值对本期平滑值影响程度的下降越迅速;平滑常数a越接近于 0,远期实际值对本期平滑值影响程度的下降越缓慢。由此,当时间数列相对平稳时,可取较大的a;当时间数列波动较大时,应取较小的a,以不忽略远期实际值的影响。生产预测中,平滑常数的值取决于产品本身和管理者对良好响应率内涵的理解。

      3.尽管St包含有全期数据的影响,但实际计算时,仅需要两个数值,即yt和 St − 1,再加上一个常数a,这就使指数滑动平均具逐期递推性质,从而给预测带来了极大的方便。

      4.根据公式S_1=a\cdot y_1+(1-a)S_0,当欲用指数平滑法时才开始收集数据,则不存在y0。无从产生S0,自然无法据指数平滑公式求出S1,指数平滑法定义S1为初始值。初始值的确定也是指数平滑过程的一个重要条件。

      如果能够找到y1以前的历史资料,那么,初始值S1的确定是不成问题的。数据较少时可用全期平均、移动平均法;数据较多时,可用最小二乘法。但不能使用指数平滑法本身确定初始值,因为数据必会枯竭。

      如果仅有从y1开始的数据,那么确定初始值的方法有:

      1)取S1等于y1;

      2)待积累若干数据后,取S1等于前面若干数据的简单算术平均数,如:S1=(y1+ y2+y3)/3等等。

    指数平滑的预测公式

      据平滑次数不同,指数平滑法分为:一次指数平滑法、二次指数平滑法和三次指数平滑法等。

    (一) 一次指数平滑预测

      当时间数列无明显的趋势变化,可用一次指数平滑预测。其预测公式为: y_{t+1}^\prime = a y_{t} + (1-a) y_{t}^\prime

    式中, y_{t+1}^\primet + 1期的预测值,即本期(t期)的平滑值St; ytt期的实际值; y_{t}^\primet期的预测值,即上期的平滑值St − 1 。

      该公式又可以写作: y_{t+1}^\prime = y_{t} + a (y^{t}-y_{t}^\prime)。可见,下期预测值又是本期预测值与以a为折扣的本期实际值与预测值误差之和。

    (二) 二次指数平滑预测

      二次指数平滑是对一次指数平滑的再平滑。它适用于具线性趋势的时间数列。其预测公式为:

      yt+m=(2+am/(1-a))yt'-(1+am/(1-a))yt=(2yt'-yt)+m(yt'-yt) a/(1-a)

      式中,yt= ayt-1'+(1-a)yt-1

      显然,二次指数平滑是一直线方程,其截距为:(2yt'-yt),斜率为:(yt'-yt) a/(1-a),自变量为预测天数。

    (三) 三次指数平滑预测

      三次指数平滑预测是二次平滑基础上的再平滑。其预测公式是:

      yt+m=(3yt'-3yt+yt)+[(6-5a)yt'-(10-8a)yt+(4-3a)yt]*am/2(1-a)2+ (yt'-2yt+yt')*a2m2/2(1-a)2

      式中,yt=ayt-1+(1-a)yt-1

      它们的基本思想都是:预测值是以前观测值的加权和,且对不同的数据给予不同的权,新数据给较大的权,旧数据给较小的权。

    指数平滑法的趋势调整

      一段时间内收集到的数据所呈现的上升或下降趋势将导致指数预测滞后于实际需求。通过趋势调整,添加趋势修正值,可以在一定程度上改进指数平滑预测结果。调整后的指数平滑法的公式为:

      包含趋势预测(YITt)=新预测(Yt)+趋势校正(Tt)

      进行趋势调整的指数平滑预测有三个步骤:

      1、 利用前面介绍的方法计算第t期的简单指数平滑预测(Yt);

      2、 计算趋势。其公式为: Tt=(1-b)Tt-1+b(Yt-Yt-1)其中,

    • Tt=第t期经过平滑的趋势;
    • Tt-1=第t期上期经过平滑的趋势;
    • b=选择的趋势平滑系数;
    • Yt=对第t期简单指数平滑预测;
    • Yt-1=对第t期上期简单指数平滑预测。

      3、计算趋势调整后的指数平滑预测值(YITt)。计算公式为:YITt=Yt+Tt。

    指数平滑法案例分析

    案例一:指数平滑法在销售预算中的应用[1]

      以某软件公司A为例。给出2000-2005年的历史销售资料,将数据代入指数平滑模型。预测2006年的销售额,作为销售预算编制的基础。

      由散点图示可知。根据经验判断法。A公司2000-2005年销售额时间序列波动很大。长期趋势变化幅度较大,呈现明显且迅速的上升趋势,宜选择较大的α值,可在05-O.8间选值,以使预测模型灵敏度高些,结合试算法取0.5,0.6,0.8分别测试。经过第一次指数平滑后,数列呈现直线趋势,故选用二次指数平滑法即可。

      试算结果见下表。根据偏差平方的均值(MSE)最小,即各期实际值与预测值差的平方和除以总期数.以最小值来确定合理的取值标准,经测算当α = 0.6时,MSE1 = l445.4;当α = 0.8时,MSE2=10783.7;当α = 0.5时,MSE3 = 1906.1。因此选择α = 0.6来预测2006年4个季度的销售额。

    A公司2000-2005年销售额数列散点图

      2005年第四季度S_t^{(1)}=736.8;S_t^{(2)}=679.5;;可以求得\alpha_{2005}=2S_t^{(1)}-S_t^{(2)}=2\times736.8-679.5=794.1b_{2005}=\alpha(s_t^{(1)}-S_t^{(2)})/(1-\alpha)=0.6=(736.8-679.5)/0.4=85.9则预测方Y2005 + T = 794.1 + 85.9T,因此,2006年第一、二、三、四季度的预测值分别为:

    A公司2000-2005年销售额指数平滑表

      Y1 = 794.1 + 85.9 = 800(万元)

      Y_2=794.1+85.9\times2=965.9(万元)

      Y_3=794.1+85.9\times3=1051.8(万元)

      Y_4=794.1+85.9\times4=1137.7(万元)

      综上所述,本案例首先根据销售历史资料,给出数列散点图。再根据散点图的特征选择二次指数平滑法,通过对α的试算,确定符合预测需要的α值,最后根据指数平滑模型计算出2006年14季度的销售预测值,作为销售预算的基础。

      指数平滑法是较为有效的销售预算的统计方法。利用Excel可以简便易行地进行预测,节约了预测时间并提高了预测的准确率,预测者可根据数据数列散点图的历史趋势等选择一次或多次指数平滑。但指数平滑法的应用也会受到一定限制。如采用指数平滑法需要有比较完备的历史资料;当企业销售量受季节影响较大时,时间序列分解法比指数平滑法应用效果更好等。因此,销售预测人员要根据企业的具体情况和预测的对象。把指数平滑法和定性预测方法正确地结合起来运用。才能全面认识和把握预测对象的未来发展趋势,使的预测结果更加接近客观现实,从而做出实事求是的预测结论。

    相关条目

    参考文献

    1.  张蔚虹.指数平滑法在销售预算中的应用[J].中国管理信息化,2008,11(2)
    展开全文
  • 指数平滑法 其实我想说自己百度的… 只有懂的人才会找到这篇文章… ...然而一次指数平滑法适用于无趋势效应、呈平滑趋势的时间序列的预测和分析,二次指数平滑法多适用于呈线性变化的时间序列预测。 具体公式
  • 指数平滑法最早是由C.C Holt于1958年提出的,后来经统计学家深入研究使得指数平滑法非常丰富,应用也相当广泛,一般有简单指数平滑法、Holt双参数线性指数平滑法、Winter线性和...一次指数平滑公式如下:  ———

    指数平滑法最早是由C.C Holt于1958年提出的,后来经统计学家深入研究使得指数平滑法非常丰富,应用也相当广泛,一般有简单指数平滑法Holt双参数线性指数平滑法Winter线性和季节性指数平滑法。这里的指数平滑法是指最简单的一次指数平滑。

    指数平滑法是一种特殊的加权平均法,对本期观察值和本期预测值赋予不同的权重,求得下一期预测值的方法。

    一次指数平滑法公式如下:

    指数平滑法 ————————-(1)

    指数平滑法 为t+1期的指数平滑趋势预测值;
    指数平滑法 为t期的指数平滑趋势预测值;
    指数平滑法 为t期实际观察值;
    指数平滑法 为权重系数,也称为指数平滑系数那为什么这个种方法会叫做指数平滑法呢?从这个公式并没有看到指数的出现,那指数从何说起平滑又是什么意思,下面就解析这个问题。

    在(1)中,最后一个指数平滑法又可以写成如下

    一次指数平滑法 ——————–(2)

    于是我们把(2)代入(1)式中,得

    一次指数平滑法 ————————-(3)

    而t-1期的预测值又可以写成:

    一次指数平滑法 ————————(4)

    把(4)代入(3)式中,得:

    一次指数平滑法 ————-(5)

    同样道理,再进行多一次同样的代入运算,得:

    一次指数平滑法 ————-(6)

    通用公式可以写成如下形式:

    一次指数平滑法 ———-(7)

    由(7)式我们可以看出,t+1期的预测值跟t期及之前的所有期的实际观察值的n递增,所以这里就是指数平滑法中的“指数”的意义所在

    由于的n(整数)按步长1一直递增,而在0到1之间,所以的值会越来越小,从(7)式中看就是说离t+1期越久远的实际观察值,对t+1期的预测值的影响越少。

    从(7)式中,还有最后一项,F1就是第一期的预测值,但数据中并没有第一期的预测值,所以一般取前3期的实际观察值来代替,实际上这个F1并不重要,因为是个介于0-1之间的小数,当t很大时,的t次方(乘方)后,已经非常接近0的了,所以F1在(7)式中的作用并不大。

    (7)式用文字描述就是,对离预测期较近的观察值赋予较大的权数,对离预测值较远的观察值赋予较小的权数,权数由近到远按指数规律递减,所以叫做指数平滑法

    上面说到第一期的F1的值一般取前三期的实际观察值的平均数,这只是一般情况,接下来讨论一下这个F1的取值。

    一般分为两种情况,当样本为大样本时(n>42),F1一般以第一期的观察值代替;当样本为小样本时(n<42),F1一般取前几期的平均值代替。

    下面举个例子来说明指数平滑法的计算方法,让大家更容易清晰的明白指数平滑法是如何进行的。

    某产品过去20个月的销售数据如下(点击下载EXCEL文件exponential_smoothing.zip ):

    C列为指数平滑法计算得到的预测值,F1的值为前三期的平均值,即在C2处输入=AVERAGE(B2:B4),C3处输入=$E$1*B2+(1-$E$1)*C2,E1的值是指数平滑系数,C3中引用到E1的值需要有绝对引用,这样把C3处的公式下拉复制到C21时,公式永远都是引用E1的指数平滑系数。

    得出来的结果如下图:

    可以看到,指数平滑法进行预测,是有滞后作用的,这是指数平滑法的一个缺点。要对21期进行预测,只需在A22处输入21,把公式下拉复制到C22即可。

    由此图可见,预测趋势与实际变动趋势一致,但预测值比实际值滞后,如果再算一下均方误差,也会出现比较大的情况,一般通过改变指数平滑系数,找出一个均方误差最小的。

    一次指数平滑法优点在于它在计算中将所有的观察值在考虑在内,对各期按时期的远近赋予不同的权重,使预测值更接近实际观察值。

    但一次指数平滑法只适合于具有水平发展趋势的时间序列分析,只能对近期进行预测。如果碰到时间序列具有上升或下降趋势时,在这个上升或下降的过程中,预测偏差会比较大,这时最好用二次指数平滑法进行预测,二次指数平滑法将会在以后的文章中介绍。

    展开全文
  • 时间序列分析之一次指数平滑

    千次阅读 2016-05-13 11:05:23
     指数平滑法最早是由C.C Holt于1958年提出的,后来经统计学家深入研究使得指数平滑法非常丰富,应用也相当广泛,一般有简单指数平滑法、Holt双参数线性指数平滑法、...一次指数平滑公式如下:  —————
    

    指数平滑法最早是由C.C Holt于1958年提出的,后来经统计学家深入研究使得指数平滑法非常丰富,应用也相当广泛,一般有简单指数平滑法Holt双参数线性指数平滑法Winter线性和季节性指数平滑法。这里的指数平滑法是指最简单的一次指数平滑。

    指数平滑法是一种特殊的加权平均法,对本期观察值和本期预测值赋予不同的权重,求得下一期预测值的方法。

    一次指数平滑法公式如下:

    指数平滑法 ————————-(1)

    指数平滑法 为t+1期的指数平滑趋势预测值;
    指数平滑法 为t期的指数平滑趋势预测值;
    指数平滑法 为t期实际观察值;
    指数平滑法 权重系数,也称为指数平滑系数那为什么这个种方法会叫做指数平滑法呢?从这个公式并没有看到指数的出现,那指数从何说起平滑又是什么意思,下面就解析这个问题。

    在(1)中,最后一个指数平滑法又可以写成如下

    一次指数平滑法 ——————–(2)

    于是我们把(2)代入(1)式中,得

    一次指数平滑法 ————————-(3)

    而t-1期的预测值又可以写成:

    一次指数平滑法 ————————(4)

    把(4)代入(3)式中,得:

    一次指数平滑法 ————-(5)

    同样道理,再进行多一次同样的代入运算,得:

    一次指数平滑法 ————-(6)

    通用公式可以写成如下形式:

    一次指数平滑法 ———-(7)

    由(7)式我们可以看出,t+1期的预测值跟t期及之前的所有期的实际观察值的n递增,所以这里就是指数平滑法中的“指数”的意义所在

    由于的n(整数)按步长1一直递增,而在0到1之间,所以的值会越来越小,从(7)式中看就是说离t+1期越久远的实际观察值,对t+1期的预测值的影响越少。

    从(7)式中,还有最后一项,F1就是第一期的预测值,但数据中并没有第一期的预测值,所以一般取前3期的实际观察值来代替,实际上这个F1并不重要,因为是个介于0-1之间的小数,当t很大时,的t次方(乘方)后,已经非常接近0的了,所以F1在(7)式中的作用并不大。

    (7)式用文字描述就是,对离预测期较近的观察值赋予较大的权数,对离预测值较远的观察值赋予较小的权数,权数由近到远按指数规律递减,所以叫做指数平滑法

    上面说到第一期的F1的值一般取前三期的实际观察值的平均数,这只是一般情况,接下来讨论一下这个F1的取值。

    一般分为两种情况,当样本为大样本时(n>42),F1一般以第一期的观察值代替;当样本为小样本时(n<42),F1一般取前几期的平均值代替。

    下面举个例子来说明指数平滑法的计算方法,让大家更容易清晰的明白指数平滑法是如何进行的。

    某产品过去20个月的销售数据如下(点击下载EXCEL文件exponential_smoothing.zip ):

    C列为指数平滑法计算得到的预测值,F1的值为前三期的平均值,即在C2处输入=AVERAGE(B2:B4),C3处输入=$E$1*B2+(1-$E$1)*C2,E1的值是指数平滑系数,C3中引用到E1的值需要有绝对引用,这样把C3处的公式下拉复制到C21时,公式永远都是引用E1的指数平滑系数。

    得出来的结果如下图:

    可以看到,指数平滑法进行预测,是有滞后作用的,这是指数平滑法的一个缺点。要对21期进行预测,只需在A22处输入21,把公式下拉复制到C22即可。

    由此图可见,预测趋势与实际变动趋势一致,但预测值比实际值滞后,如果再算一下均方误差,也会出现比较大的情况,一般通过改变指数平滑系数,找出一个均方误差最小的。

    一次指数平滑法优点在于它在计算中将所有的观察值在考虑在内,对各期按时期的远近赋予不同的权重,使预测值更接近实际观察值。

    但一次指数平滑法只适合于具有水平发展趋势的时间序列分析,只能对近期进行预测。如果碰到时间序列具有上升或下降趋势时,在这个上升或下降的过程中,预测偏差会比较大,这时最好用二次指数平滑法进行预测,二次指数平滑法将会在以后的文章中介绍。

    展开全文
  • 这篇基于上一篇一次指数平滑的实现进行的升级版本,不再赘述概念性问题。 直接看公式: 上代码: @PostMapping("/secondExponentialSmoothingMethod") public String secondExponentialSmoothingMethod(@Request...

    业务场景自己想,这里只讨论技术实现。

    这篇基于上一篇一次指数平滑的实现进行的升级版本,不再赘述概念性问题。
    直接看公式:

    在这里插入图片描述

    上代码:

    @PostMapping("/secondExponentialSmoothingMethod")
        public String secondExponentialSmoothingMethod(@RequestBody SecondSmoothingEntity secondSmoothingEntity){
            /** 二次指数平滑公式:
             * St2 = a * S`t(一次平滑得到的预估值) + (1-a) * S2t-1 (上一次的二次平滑预估值)
             * At = 2 * St1 - St2
             * Bt = a / 1-a * (St1 - St2)
             * ^Yt+T (T为将来预测期数)= At + Bt * T
            **/
            // (1)获取实际观察值列表和最后一次的预测值(存在即合理原则 ---汉涛)
            List<Double> realParamList = secondSmoothingEntity.getRealDataList();
            Double lastSinglePredictParam = secondSmoothingEntity.getLastSinglePredictParam();
            Double lastSecondPredictParam = secondSmoothingEntity.getLastSecondPredictParam();
            // 用于复位的
            Double resizeSecondPredict = secondSmoothingEntity.getLastSecondPredictParam();
            int predictTime = secondSmoothingEntity.getPredictTime();
            // 定义结果集合类
            List<Double> singleGapList = new ArrayList<>();
            List<Double> secondGapList = new ArrayList<>();
            Map<Double,Double> singleGapMap = new HashMap<>();
            Map<Double,Double> secondGapMap = new HashMap<>();
            DecimalFormat decimalFormat = new DecimalFormat("#.0");
            double yt_T = lastSecondPredictParam;
            // (2)平滑值区间 [1~10]/10,先做一次平滑
            for (double a = 1; a < 10; a++) {
                for (Double realData: realParamList) {
                    double smoothParam = a/10;
                    System.out.println(smoothParam+",实际值是:"
                            + realData+",一次平滑预测值是:"
                            +lastSinglePredictParam+",误差为:"
                            + decimalFormat.format(Math.abs(realData-lastSinglePredictParam))
                            + ";二次平滑预测值是:"+ yt_T +",误差为:"
                            + decimalFormat.format(Math.abs(realData-yt_T)));
                    // 统计全部的误差
                    singleGapList.add(Math.abs(realData-lastSinglePredictParam));
                    secondGapList.add(Math.abs(realData-yt_T));
                    // 获得一次平滑预测值
                    lastSinglePredictParam = smoothParam * realData + (1-smoothParam)*lastSinglePredictParam;
                    // 保留一位小数
                    lastSinglePredictParam = Double.valueOf(decimalFormat.format(lastSinglePredictParam));
                    System.out.println("一次平滑预测下次为:"+lastSinglePredictParam);
                    // 计算二次平滑值
                    lastSecondPredictParam = smoothParam * lastSinglePredictParam + (1-smoothParam)*lastSecondPredictParam;
                    double at = 2 * lastSinglePredictParam - lastSecondPredictParam;
                    double bt = smoothParam/(1-smoothParam) * (lastSinglePredictParam - lastSecondPredictParam);
                    // 计算出预测值
                    yt_T = at + bt * predictTime;
                    System.out.println("二次平滑为:"+lastSecondPredictParam+",下"+predictTime+"期的预测值为:"+yt_T);
                }
                // 计算误差的平均值
                double totalSingleGap = 0.0;
                double totalSecondGap = 0.0;
                for (Double singleGap: singleGapList) {
                    totalSingleGap = totalSingleGap + singleGap;
                }
                for (Double secondGap: secondGapList) {
                    totalSecondGap = totalSecondGap + secondGap;
                }
                singleGapMap.put(a,totalSingleGap/(double) singleGapList.size());
                secondGapMap.put(a,totalSecondGap/(double) secondGapList.size());
                // 每更换一个平滑值,预估值都要复位
                lastSinglePredictParam = secondSmoothingEntity.getLastSinglePredictParam();
                lastSecondPredictParam = secondSmoothingEntity.getLastSecondPredictParam();
                yt_T = resizeSecondPredict;
                // 清空当前list装的误差值
                singleGapList.clear();
                secondGapList.clear();
            }
            return singleGapMap.toString()+"----------------------------------"+ secondGapMap.toString();
        }
    

    SecondSmoothingEntity:

    
    public class SecondSmoothingEntity implements Serializable {
    	private static final long serialVersionUID = 1L;
    
    	private List<Double> realDataList;
    
    	private Double lastSinglePredictParam;
    
    	private Double lastSecondPredictParam;
    
    	private int predictTime;
    
    	public int getPredictTime() {
    		return predictTime;
    	}
    
    	public void setPredictTime(int predictTime) {
    		this.predictTime = predictTime;
    	}
    
    	public List<Double> getRealDataList() {
    		return realDataList;
    	}
    
    	public void setRealDataList(List<Double> realDataList) {
    		this.realDataList = realDataList;
    	}
    
    	public Double getLastSinglePredictParam() {
    		return lastSinglePredictParam;
    	}
    
    	public void setLastSinglePredictParam(Double lastSinglePredictParam) {
    		this.lastSinglePredictParam = lastSinglePredictParam;
    	}
    
    	public Double getLastSecondPredictParam() {
    		return lastSecondPredictParam;
    	}
    
    	public void setLastSecondPredictParam(Double lastSecondPredictParam) {
    		this.lastSecondPredictParam = lastSecondPredictParam;
    	}
    }
    

    测效果:

    例一:数据单一上升趋势,且上升速度快。入参:

    {
    “real_data_list”:[225.2,249.9,263.2,293.6,318.9,356.7,363.3,424.2,466.5,582.0,750.0],
    “last_single_predict_param”:246.1,
    “last_second_predict_param”:246.1,
    “predict_time”:1
    }
    得到平滑指数和每个平滑指数的平均误差:(这里是二次,所以只看二次的平滑指数和平均误差)
    在这里插入图片描述
    在这里插入图片描述

    可以很清楚看到,每一次的预测值都比较准确,而且误差都比一次平滑预测的更加准。
    例二:假设某应用访问量稳步上升,入参:

    {
    “real_data_list”:[29,30,31,32,33,34,35,36,37],
    “last_single_predict_param”:23,
    “last_second_predict_param”:28.40,
    “predict_time”:1
    }

    用二次平滑求预测,得:

    在这里插入图片描述
    在这里插入图片描述

    可以看到按照我们的趋势,一滑计算的预测值是 36.9 ,二滑帮我们计算得预测值是 38.01 ,按照当前趋势,下一个很肯定就是38,所以也可以看出,二次滑动是更加精准的。
    如果我把参数T,未来期数改成3,也就是预测三期后的值,也是非常的准确

    在这里插入图片描述

    例三:假设应用A的访问量先升后降,看二次滑动是否能及时反馈升降趋势和准确预测?

    {
    “real_data_list”:[29,31,61,80,100,130,170,230,150,100,60,58,56],
    “last_single_predict_param”:60,
    “last_second_predict_param”:60,
    “predict_time”:1
    }

    废话不多说:

    在这里插入图片描述
    在这里插入图片描述

    可以看到,二次平滑的调整修正速度是非常快的,并且趋势预测和值的预测都是非常准确。

    二次指数平滑的优势:

    二次指数平滑优势在于能做长期预期,能及时反映趋势,数据量大的情况下预测偏差会因为二次平滑修正的原因急剧缩小。重点在滑动值,它会根据实际值和一次平滑预测值进行趋势和误差的判断,从而调整修正方向和修正幅度。

    注意!

    1:如果发展变化趋势比较平稳的观察之,初始值可以直接用第一个数据。如果变化趋势起伏较大,则要用平均值做初始值。(减少初始值对平滑值的影响)
    2:不能单独预测,必须与一次指数平滑模型配合。二次平滑必须基于一次平滑基础上进行建模再进行预测。

    展开全文
  • 这还不是重头戏,重头戏是三次指数平滑,它能够更好处理具有周期性和季节性,甚至周期性+单一趋势的复杂混合型的数据模型预测,它必须建立在一次和二次的基础上进行三次平滑计算,计算量会较大。 直接看公式
  • 时间序列平滑法包括:简单平均法、移动平均法(简单移动平均法和加权移动平均法)、一次指数平滑法(Single Exponential Smoothing)、布朗(Brown)单一参数线性指数平滑法、霍特(Holt)双参数指数平滑法、布朗三...
  • 预测算法——指数平滑

    千次阅读 2017-11-06 21:14:37
    ...•1.指数平滑定义及公式 ...一次指数平滑 •3二次指数平滑 •4.三次指数平滑 •5指数平滑系数α的确定 1、指数平滑的定义及公式  产生背景:指数平滑由布朗提出、他认为时间序列
  • 二次指数平滑一般也应用于直线型,但是效果会比一次指数平滑好很多,也就相当于加强版的一次指数平滑。 给定平滑系数alpha,那么二次指数平滑的计算公式为: 预测未来t期的值X{t+T}的计算公式为: 其中: ...
  • 文章目录、自适应过滤法定义二、自适应过滤法基本原理2.1一般模型2.2权数调整策略2.3确定...(1)自适应过滤法是种时间序列预测技术,是移动平均法、指数平滑法的通项公式。 (2)与移动平均法和指数平滑法不同的...
  • 时间序列

    2020-11-30 14:37:58
    非平滑时间序列变动的影响因素时间序列的预测方法一次指数平滑法(不会在博客里面敲公式,直接把在word里敲再截图了)二次指数平滑法(不会在博客里面敲公式,直接把在word里敲再截图了)三次指数平滑法(不会在博客...
  • 移动平均法 ...一次,二次,三次 预测模型 看书 加权系数选择 波动不大小一些,波动大大一些 平均值为初始值 差分指数平滑法 具有季节性的时间序列预测 p179 平稳时间序列 ARMA序列自回归移动平均序列 ...
  • 技巧110 一次性删除所有的重复数据 第四篇 数据查询 第12章 自动筛选 技巧111 对数据列表的局部启用自动筛选 技巧112 包含多重标题行的自动筛选 技巧113 在受保护的工作表中使用自动筛选 技巧114 包含...
  • excel的使用

    2012-11-25 17:06:01
    假如某公司采用个特殊的数学公式计算产品购买者的折扣,如果有个函数来计算岂不更方便?下面就说一下如何创建这样的自定义函数。自定义函数,也叫用户定义函数,是Excel最富有创意和吸引力的功能之,下面我们...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

一次指数平滑预测公式