- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我一直在尝试使用 this implementation of the Holt-Winters algorithm对于 Python 中的时间序列预测,但遇到了障碍……基本上,对于某些(正)输入序列,它有时会预测负数,显然情况并非如此。即使预测不是负面的,它们有时也会非常不准确——比应有的高/低几个数量级。给算法更多的数据周期似乎没有帮助,实际上往往会使预测变得更糟。
我使用的数据有以下特点,可能有问题:
非常频繁地采样(每 15 分钟一个数据点,而不是示例使用的每月数据) - 但根据我的阅读,Holt-Winters 算法应该没有问题。也许这表明实现存在问题?
具有多个周期性 - 有每日峰值(即每 96 个数据点)以及周末数据的每周周期明显低于工作日数据 - 例如,工作日的峰值可能在 4000 左右,但周末的峰值在 1000 -但即使我只给它工作日数据,我也会遇到负数问题。
在实现或使用 Holt-Winters 算法时,我有什么遗漏吗?我不是统计学家,所以我使用上面链接中指示的 alpha、beta 和 gamma 的“默认”值 - 这可能是问题所在,有没有更好的方法来计算这些值?
或者...这里有比 Holt-Winters 更好的算法吗?最终,我只想从这里的历史数据中创建合理的预测。我尝试过单指数和双指数平滑,但(据我所知)都不支持数据的周期性。
任何帮助/输入将不胜感激!
最佳答案
我尝试生成随机数据,直到得到有趣的结果。在这里,我输入了所有正数并得到了负预测:
y = [0.92, 0.78, 0.92, 0.61, 0.47, 0.4, 0.59, 0.13, 0.27, 0.31, 0.24, 0.01]
holtwinters(y, 0.2, 0.1, 0.05, 4)
...
forecast: -0.104857182966
forecast: -0.197407475203
forecast: -0.463988558577
forecast: -0.258023593197
但请注意,预测符合数据的负斜率。
这可能是您所说的数量级:
y = [0.1, 0.68, 0.15, 0.08, 0.94, 0.58, 0.35, 0.38, 0.7, 0.74, 0.93, 0.87]
holtwinters(y, 0.2, 0.1, 0.05, 4)
...
forecast: 1.93777559066
forecast: 3.11109138055
forecast: 0.910967977635
forecast: 0.684668348397
但我不确定你如何认为它非常不准确或判断它“应该”更低。
每当您推断数据时,都会得到令人惊讶的结果。您是否更担心实现可能不正确或输出没有适合您的特定用途的良好属性?
关于python - 在 Python 中使用 Holt-Winters 进行预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5866850/
我试图理解在 R Holt-Winters 函数中调用的 C 函数。 我感到困惑的部分是: for (i = *start_time - 1; i 0 ? trend[i0 - 1] :
2020 年冬季狂欢节 赛季即将结束,我认为找出 CSS 和其他标记来生成此处显示的出色 Logo 会很有启发性: 在下图中,数字表示动画所需的对象 动画脚本: 帽子生成器。 上下移动不均匀 问号应该
我有一个频率 = 7 的时间序列数据,如下所示: combo_1_daily_mini % mutate(date = lubridate::mdy(date)) %>% as_tsibble
有没有一种方法可以在Python中运行ARIMA/Holt-Winters模型来同时处理多个项目(时间序列)? 我可以使用 Python 中的 StatsModels 包运行单个 ARIMA/Holt
我是 R 包的新手,我正在处理时间序列。我必须建立一个预测模型来预测 future 的点击次数。预测的时间间隔需要每小时。 我的示例时间序列: DateTime Clicks
使用数据 UKDriverDeaths 尝试使用 Holt-Winters 预测函数和 ggplot()。 基本上重现了ggplot中的数据。 data('UKDriverDeaths') pa
我正在 d3js 中绘制一个散点图,它隔离了冬季。有没有一种快速简便的方法来格式化 x 比例,以便我在 3 月到 12 月的图表中没有间隙?我希望 x 轴的范围是从 12 月 21 日到 3 月 21
我的数据:我的每小时数据有两种季节性模式……每日和每周。例如......我数据集中的每一天根据一天中的小时具有大致相同的形状。然而,某些日子,如周六和周日,我的数据有所增加,而且每小时的形状也略有不同
我正在开发一个用 Java 编写的系统,该系统能够使用历史数据进行预测。正在使用的算法是 this Holt-Winters implementation 的 Java 端口(乘法季节性)。 我有几个
我尝试使用 holt-winters 模型 进行预测,如下所示,但我一直得到的预测与我的预期不一致。我还展示了情节的可视化 Train = Airline[:130] Test = Airline[1
我一直在尝试使用 this implementation of the Holt-Winters algorithm对于 Python 中的时间序列预测,但遇到了障碍……基本上,对于某些(正)输入序列
我有一个每周级别的 R 时间序列,从 2013 年 1 月 7 日开始到 2016 年 5 月 23 日结束。 我使用以下代码创建了时间序列: start_date <- min(Orders
例如,如果我有以下时间序列: x = [1999, 2000, 2001, ... , 2015] annual_sales = [10000000, 1500000, 1800000, ... ,
在研究了一些Linux内核和X11之后,我想知道GUI组件在windows中的位置是什么。 它是否保持像 X Windows 那样的位置?或者它是内核核心中 Windows 内核的一部分(或类似的东西
我有一个每天的一个月数据。它捕获 cpu utilization每天的数据。我想产生一些预测结果。我把数据分成两部分train - 第一个 15 天和test取最后一个 16 天,在此我想做一个预测并
我是一名优秀的程序员,十分优秀!