问题标签 [holtwinters]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - R predict.holt 与 Python statsmodels.tsa.holtwinters
我正在尝试在 python 中使用 HoltWinters 指数平滑,但我得到的结果与我在 R 中使用预测 holt 时得到的结果不同。
在 R 中:
在蟒蛇中:
谁能告诉我为什么我在 R 与 python 中得到如此不同的结果?
r - 如何将季节性指数平滑预测方法应用于 R 中的每小时数据
我正在尝试使用指数平滑法预测 2016 年的次日每小时电价。我使用的数据集包含 2014-01-01 00:00 到 2016-12-31 23:00 期间的每小时价格数据。我的目标是在Beigaitė & Krilavičius (2018)中重现结果
由于电价数据表现出多个季节性(每日、每周和每年),我为 2014-01-01 至 2015-12-31 期间定义了一个 msts 对象
msts.elspot.prices.2014_2015 <- msts(df.elspot.prices.2014_2015$Price, seasonal.periods = c(24, 168, 8760), ts.frequency = 8760, start = 2014)
hw()
我想使用这个 msts 对象使用包中的函数来预测第二天 (2016-01-01) 的每小时电价forecast
,并将点预测存储在包含 2016 年实际每小时电价的数据框中。
df.elspot.prices.2016$pred.hw <- hw(msts.elspot.prices.2014_2015, h = 24)$mean
hw()
但是,由于收到以下错误消息,我无法使用该功能:
上网查了一下,好像ets()
函数只能接受参数frequency
为 max 24
。当我处理每小时数据时,这远低于我的数据频率。
有没有办法使用该功能实现我想要的结果hw()
?是否有任何其他软件包/功能可以帮助我实现我想要的结果?
我感谢您的帮助!
r - 如何通过采样 beta 循环 Holt 的双指数平滑?
我想预测数百条记录,其中包含一些不同的 alpha 和 beta 循环。我的目标是在 RStudio 中通过 2 个 beta 样本(0.1 和 0.9)循环 holt 结果。这是代码:
但我在 beta=0.9 中遇到错误,这是通知:
[1] "Model: ETS(A,A,N)" Error in ets(x, "AAN", alpha = alpha, beta = beta, phi = phi, damped = damped, : No model able to be fitted
我发现问题出在数据集上,如果我放置 8 条或更少的记录,它可以预测 beta=0.1、0.9 以及各种 alpha 和 beta 样本。但如果它有超过 8 条记录,它只能预测 beta=0.1 和更低(0.1、0.01、0.001、0.0001 仅)但如果 beta 高于 0.1 则可能是错误的
你能帮我解决这个问题吗?提前致谢
r - 在 R 中恢复 HoltWinters 预测的固定数据
我使用 diff(log(ts.dat)) 将非平稳时间序列转换为平稳数据集,然后使用基于该数据集的 HoltWinters 模型进行预测。我现在需要将预测恢复为非固定格式,以便在上下文中读取预测数据。
下面是我的代码
我是预测模型的新手,所以非常感谢任何帮助。
编辑:tsdat =
python - Statsmodels ETSModel get_prediction 遇到错误
我正在尝试通过 StatsModels ETSModel 从 Holt Winters 时间序列模型中获取预测区间。有人可以帮我弄清楚出了什么问题吗?
我收到以下错误:
这是输入:
r - R中多个时间序列的霍尔特预测
我正在尝试对多个时间序列进行 Holt 的预测,并将它们与我的原始 data.frame 结合起来。考虑以下data.frame,其中我有两个人口组:
然后我正在对两个时间序列进行 Holt 预测:
然后我保存结果并与我的原始 data.frame 结合:
这在我只有两个时间序列时有效。但是,如果我有 100 个需要预测的时间序列,那么这不是一种非常有效的方法。任何人都可以帮助提高编码器的效率,例如,如果我在我的 data.frame 中包含一个额外的人口组,那么我在代码中没有任何更改?
r - 如何用 R 解决 Holtwinters 预测模型中的错误?
我有简单的每月数据集,只需尝试以下代码:
数据集如下所示:
它给出了以下错误:
python - statsmodel/指数平滑是否正常工作?
我正在使用statsmodels
指数平滑法进行时间序列分析。我正在尝试重现结果
https://www.statsmodels.org/devel/examples/notebooks/generated/exponential_smoothing.html
具有特定的dataframe
(与示例格式相同,但只有一个结果)。以下是代码行:
但是,当我运行它时,我得到了错误
但是当我检查 in 的参数时ExponentialSmoothing
,statsmodel
是initialization_method
其中之一,所以我不知道那里发生了什么。
继续前进,我initialization_method
从代码中的参数中删除ExponentialSmoothing
,然后在下面的行中出现另一个错误
再次,我去检查是否simulate
在最新版本中不被弃用,statsmodels
不,它仍然是一个属性。
我升级了statsmodels
,我升级了pip
,我仍然得到同样的错误。
那里发生了什么?
提前感谢您的帮助!
r - 如何创建按具有不均匀和缺失数据的子集分组的滚动预测?
我有一个由定向国家 dyad-year 组织的数据集(160 万行,4 列感兴趣)。每个非交换二元组(year1-stateA-stateB 并不总是等于 year1-stateB-stateA)有一个输出值“var1”。
数据的简化示例
我想做的是将每组国家对元分解为时间序列,并使用过去 5 年的数据使用 holt 模型创建下一年的预测预测。
预期结果:我希望添加一个新变量,其中包含基于前几年的 yearX+1 的预测值到 yearX 的行中。
并发症:并非每个国家对元组每年都存在,而且在某些年份,尽管数据集中存在国家对元组,但没有数据。
到目前为止我所做的:
首先,请原谅我最近才开始在 R 中使用时间序列。
首先,我使用 dplr 按年份组织数据(因此它将按适当的时间序列顺序排列),然后按 stateA、stateB 分组
我之前做的是一个 5 年的滚动平均值,这不符合我的分析需求,所以它看起来像这样:
这里的问题是我需要为要传递的每一行创建一个时间序列对象holt()
以输出预测值 (fvar)。
我希望我以一种可以理解的方式讨论了这个问题。非常感谢您的帮助,我准备澄清和回答任何可能有助于您帮助我的问题。
PS 效率不是必需的,只有结果。
编辑:我认为我之前并不清楚,但我的主要目标是为每一行而不是整个子集生成一个预测对象。在我的国家 1 和国家 2 的示例数据中:将基于 1994 年的时间序列预测 1994 年;根据 1994-1995 年对 1995 年进行预测;根据 1994-1996 年对 1996 年的预测。然后对 (138, 87) 也是如此,每一行都有自己的预测。