美文网首页
指数平滑法的思考

指数平滑法的思考

作者: 巴拉巴拉_9515 | 来源:发表于2019-08-02 13:43 被阅读0次

    指数平滑法本质究竟是什么?
    是一种数据转换方式?还是一种拟合预测算法?

    从原理来讲,指数平滑法给每个历史数据赋权

    指数平滑法核心原理是认为过去的状态在某种程度上会持续到未来。因此指数平滑法就是对历史数据的权重分配,使得新数据有较大权重,旧数据给与较小权重,预测值根据历史数据和权重获得。

    从应用上讲,指数平滑法可用于修匀序列,也可用于预测。

    指数平滑法中平滑系数的选择研究一文中指出[1]:
    指数平滑法的作用主要体现在两个方面:一是用于预测,二是用于修匀历史数据,以测定时间序列的长期趋势。

    一、作用

    (1)修匀历史数据

    有些场景只是想要获得整体趋势,忽略不规则和随机扰动的影响。例如经济总体趋势、消费发展趋势等。
    通过对非正常波动的统计数据进行修匀,能使序列反映其基本的发展趋势,从而得出正确的判断,这有助于我们准确把握经济形势[2]。

    下图为不同平滑系数的情况下,趋势数列和原数列的关系。参数\alpha
    值越小,序列趋势越明显,随着\alpha值的增大,修匀数据的能力有降低的趋势。

    从修匀数据的角度而言,目标是获得整体平稳趋势,参数\alpha应该取小一些。

    (2)预测

    从预测角度,预测值和观察值越接近,预测效果越好。

    二、相关公式

    指数平滑法就是对历史数据的权重分配,使得新数据有较大权重,旧数据给与较小权重,根据平滑次数的不同,分为一指数平滑、二指数平滑、三指数平滑等。

    设时间序列为x_1,x_2,...,x_nt为第t个时刻。

    (1)一指数平滑法[4]

    平滑公式:S_t^{(1)} = \alpha x_t+(1-\alpha)S_{t-1}^{(1)}
    预测公式:x’_{t+1} = S_t^{(1)}= \alpha x_t + (1-\alpha) x'_{t}

    平滑公式:

    初始值S_1^{(1)}根据序列的长度,可以直接取S_1^{(1)}=x_1,也可以取前几个X的均值。
    S_1^{(1)}=x_1
    S_2^{(1)} = \alpha x_2+(1-\alpha)S_1^{(1)}
    S_3^{(1)} = \alpha x_3+(1-\alpha)S_2^{(1)} = \alpha x_3+ \alpha(1-\alpha) x_2 + (1-\alpha) ^2 S_1^{(1)}
    S_4^{(1)} = \alpha x_4+(1-\alpha)S_3^{(1)} = \alpha x_4+ \alpha(1-\alpha) x_3+ \alpha (1-\alpha) ^2 x_2 + (1-\alpha) ^3 S_1^{(1)}
    ···
    S_n^{(1)} = \alpha x_n+ \alpha(1-\alpha) x_{n-1}+...+ \alpha (1-\alpha) ^{n-2} x_2 + (1-\alpha) ^{n-1} S_1^{(1)}
    拆解平滑公式后发现,指数平滑值S_t为前t个历史值x_1,...,x_t的权重组合。(1-\alpha)为小数,指数次幂越大,值越小,从而使得新数据有较大权重,旧数据给与较小权重。

    (2)二指数平滑法

    二次指数平滑是在一次指数平滑的基础上再做一次平滑。
    原始数据[x_1,x_2,...,x_n]进行一次平滑操作后为[S_1^{(1)},S_2^{(1)},...,S_n^{(1)}]
    [S_1^{(1)},S_2^{(1)},...,S_n^{(1)}]再进行一次平滑操作为[S_1^{(2)},S_2^{(2)},...,S_n^{(2)}]

    平滑公式:S_t^{(2)} = \alpha S_t^{(1)}+(1-\alpha)S_{t-1}^{(2)}
    参考以上推理展开后应该为:
    S_1^{(2)} = S_t^{(1)}
    S_2^{(2)} = \alpha S_2^{(1)} + (1-\alpha) S_1^{(2)}
    S_3^{(2)} = \alpha S_3^{(1)} + (1-\alpha) S_2^{(2)} = \alpha S_3^{(1)} + \alpha (1-\alpha) S_2^{(1)} + (1-\alpha)^2 S_1^{(2)}
    ···
    S_n^{(2)} = \alpha S_n^{(1)} + \alpha (1-\alpha) S_{t-1}^{(1)} +...+ \alpha (1-\alpha) ^{n-2}S_{t-1}^{(1)} + (1-\alpha)^{n-1} S_1^{(2)}
    二次指数平滑在一次指数平滑的基础上再做一次平滑。

    (3)三指数平滑法

    原始数据[x_1,x_2,...,x_n]进行一次平滑操作后为[S_1^{(1)},S_2^{(1)},...,S_n^{(1)}]
    [S_1^{(1)},S_2^{(1)},...,S_n^{(1)}]再进行一次平滑操作为[S_1^{(2)},S_2^{(2)},...,S_n^{(2)}]
    [S_1^{(2)},S_2^{(2)},...,S_n^{(2)}]再进行一次平滑操作为[S_1^{(3)},S_2^{(3)},...,S_n^{(3)}]

    三、和拟合算法的比较

    f(x)=a_1x_1+a_2x_2+...+a_nx_n,求的最优的[a_1,a_2,...,a_n]组合,此时的f(x)就是拟合的曲线。这条曲线要尽可能的还原实际数据的游走模式。

    而在指数平滑中,每个x_1的权重根据新数据有较大权重,旧数据给与较小权重快速分配,获得的曲线是实际数据修匀后的结果。

    四、最优参数alpha

    五、小结

    • 指数平滑法“修匀"历史数据,获得基本数据模式,从而预测走向。
    • 指数平滑法并不单纯是一种数据转换方式
    • 指数平滑法不是拟合算法,拟合算法是让曲线尽可能的与历史数据相近、指数平滑是忽略随机扰动,获得历史数据的基础走势。
    • 拟合算法的预测是在获得最优拟合函数的基础上预测下一刻数值,而指数平滑法是在“修匀"数据的基础上预测下一步。

    参考资料

    [1] 指数平滑法中平滑系数的选择研究_王长江:https://wenku.baidu.com/view/1eca108590c69ec3d5bb75fd.html
    [2] 非正常波动统计数据修匀方法研究以福建省消费数据为例:https://www.doc88.com/p-899246394173.html
    [3] 指数平滑法在小浪底大坝变形预测中的应用:https://www.jinchutou.com/p-31051887.html
    [4] 公式参考:https://wenku.baidu.com/view/8389e62a4b73f242336c5ff2.html

    相关文章

      网友评论

          本文标题:指数平滑法的思考

          本文链接:https://www.haomeiwen.com/subject/swykdctx.html