【问题标题】:Double Exponential Smoothing (DES) yields different results in R and Python?双指数平滑 (DES) 在 R 和 Python 中产生不同的结果?
【发布时间】:2019-04-03 05:36:15
【问题描述】:

我在 R 和 python 中发现 ETS AAN 方法的不同结果。有什么原因吗?

R 代码

> x
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2016  36  78  35 244  25 283  42   6  59   5  47  20
2017   0   0   5  38  16 143  14  37  60   2  55   0
> fit <- forecast::ets(x,model="AAN")
> forecast::forecast(fit, h=h)

           Point Forecast     Lo 80   Hi 80     Lo 95    Hi 95
Jan 3  -->        2.006235 -93.95293 97.9654 -144.7506 148.7631

Python

> import statsmodels.tsa.holtwinters as ets
> holt_r = ets.ExponentialSmoothing(dft, trend='additive', damped=False, seasonal=None).fit()
C:\Anaconda\lib\site-packages\statsmodels\tsa\base\tsa_model.py:171: ValueWarning: No frequency information was provided, so inferred frequency M will be used.

  % freq, ValueWarning)

> holt_r.forecast(1)

Out[39]: 
2018-01-31 --->   13.049129

Freq: M, dtype: float64

【问题讨论】:

  • 适当地格式化您的代码!
  • 我们能否提供一个可重现的示例?

标签: python r machine-learning time-series


【解决方案1】:

R 和 Python 使用不同的优化器来查找模型的最终参数(alpha 和 beta)的值,因此它们并不总是会给出相同的结果。您应该查看文档并查看正在使用哪些优化方法。

【讨论】:

    猜你喜欢
    • 2019-02-01
    • 2019-08-12
    • 1970-01-01
    • 2020-08-12
    • 2017-10-01
    • 2016-06-09
    • 2023-04-02
    • 2016-11-17
    • 1970-01-01
    相关资源
    最近更新 更多