问题标签 [forecast]

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.

0 投票
1 回答
1073 浏览

r - R - 如何按组预测具有多个变量的每日时间序列

我是按组进行时间序列预测的新手。

我有一个大型的每日时间序列数据集,我需要对其进行预测。

我做了很多谷歌搜索,尝试了很多不同的方法,但都没有成功。

这是我生成的示例数据集,因为我找不到任何其他可以正确代表我的问题的开放数据集。(如果样本数量不好,请道歉)

我希望按“国家”、“设备”、“操作系统”和“浏览器”预测该数据集接下来“n”天的每日“访问次数”、“点击次数”、“登录次数”、“销售额”

任何帮助将不胜感激。

0 投票
0 回答
458 浏览

r - 使用漂移模型进行随机游走预测

我正在尝试使用此处描述的预测包生成带有漂移预测的随机游走。设置预测的周期数h = 2可以正常工作,但不像h = 1下面的示例那样:

不相交系列不相交系列

或者不保存对象:

ts(x) 中的错误:“ts”对象必须有一个或多个观察值

预测包中的 wineind数据集也会返回此错误,而woolyrnq不会。数据集airmilesBJsales基础 R 也可以正常工作。

0 投票
1 回答
3182 浏览

python - Statsmodels:使用 ARIMA 实施直接和递归的多步预测策略

我目前正在尝试使用 statsmodels ARIMA 库来实现直接和递归多步预测策略,它提出了一些问题。

递归多步预测策略将训练一步模型,预测下一个值,将预测值附加到输入到预测方法中的外生值的末尾并重复。这是我的递归实现:

与执行直接策略类似,我只需将我的模型拟合到可用的训练数据上,并使用它来一次预测总的多步预测。我不确定如何使用 statsmodels 库来实现这一点。

我的尝试(产生结果)如下:

让我特别困惑的是,该模型是否应该只适合所有预测一次或多次适合多步预测中的单个预测?摘自Souhaib Ben Taieb 的博士论文(第 35 页第 3 段),提出直接模型将估计 H 个模型,其中 H 是预测范围的长度,因此在我的示例中,预测范围为 26,应该估计 26 个模型而不仅仅是一个。如上所示,我当前的实现只适合一种模型。

我不明白的是,如果我在同一个训练数据上多次调用 ARIMA.fit() 方法,我将获得一个模型,我将获得一个与预期正常随机变化之外的任何不同的拟合?

我的最后一个问题是关于优化。使用诸如前向验证之类的方法给我带来了统计上非常显着的结果,但对于许多时间序列来说,它的计算成本非常高。上述两种实现都已使用 joblib 并行循环执行功能调用,这显着减少了我笔记本电脑上的运行时间。但是,我想知道对于上述实现是否可以做任何事情以使它们更加高效。当为约 2000 个单独的时间序列(所有序列总共约 500,000 个数据点)运行这些方法时,运行时间为 10 小时。我已经对代码进行了概要分析,并且大部分执行时间都花在了 statsmodels 库中,这很好,但是 walk_forward_validation() 方法的运行时和 ARIMA 之间存在差异。合身()。这是意料之中的,因为很明显 walk_forward_validation() 方法除了调用 fit 方法之外还做其他事情,但是如果可以更改其中的任何内容以加快执行时间,请告诉我。

这段代码的想法是找到每个时间序列的最佳 arima 顺序,因为单独研究 2000 个时间序列是不可行的,因此每个时间序列调用 walk_forward_validation() 方法 27 次。所以总共大约 27,000 次。因此,可以在此方法中找到的任何性能节省都会产生影响,无论它有多小。

0 投票
3 回答
1341 浏览

python - sklearn 的 TimeSeriesSplit 仅支持单步预测范围是否有原因?

Sklearn 的TimeSeriesSplit是实现与 kfold 交叉验证等效的时间序列的有用方法。然而,它似乎只支持单步范围而没有多步范围,例如它的数据集[1, 2, 3, 4]可用于分别创建以下训练集和测试集

无法产生的是具有多步预测范围的东西。多步时间序列分割预测范围看起来像

例如。

我想知道这是否有充分的理由?我能够实现我自己的 TimeSeriesSplit 版本,这样这不是问题,但是我是预测领域的新手。据我了解,使用这样的程序在统计上是衡量模型准确性的最佳方法。我很奇怪 sklearn 没有提供开箱即用的功能,我想知道是否有原因,如果我忽略了任何原因,说明为什么如上所示的多步预测范围意味着我的方法统计准确性评价应该改变吗?

0 投票
1 回答
490 浏览

r - map_at 只有一个起始字符串“Exampl”

我有一个列表,其中包含由aggregate()package创建的多个变量分组hts。我想根据组的名称映射特定的预测函数。

名称示例:

基本上我想要类似的东西

预测G3/COAR_G4/COAR_RURA_

0 投票
1 回答
1589 浏览

r - 了解傅里叶的季节性

我正在使用 R 中预测包中的 auto.arima 来确定傅立叶级数的最佳 K 项。

在我这样做之后,我想计算季节性并将一个季节性变量插入到多元回归模型中。

使用预测包中的数据集,我能够提取傅立叶项的最佳数量:

seasonality$total列是否会被“季节性变量”考虑以供以后建模,还是我需要向其添加系数?

0 投票
1 回答
101 浏览

r - R预测自动绘图或hchart

想为每个做多个 arima 时间序列图 - 熟食和市场 - 如下图所示。已经尝试过 autoplot 和 hchart 但两者都不起作用。请提供建议和帮助。任何帮助将不胜感激。

数据:

0 投票
0 回答
307 浏览

r - R中的时间序列分析在循环上使用ARIMA模型来获得最优模型

我一直在研究这个程序,以获得我的时间序列数据点的最佳 ARIMA 模型。我创建了一个循环,可以通过将 arima() 函数上的参数值替换为 for () 循环值来评估不同的模型,并将参数替换为循环变量的值。

这是为了获得具有最小 AIC 或 BIC 的 arima 模型。模型开始运行良好,但是当我离开它一段时间时,它会显示此错误,我不知道它是什么意思。

我会留下代码和错误...

感谢您的帮助,希望有人可以帮助我!:)

0 投票
2 回答
1319 浏览

sql - 根据前一行内的计算值创建计算值

我正在尝试找到一种方法将每月百分比变化应用于预测定价。我在excel中设置了我的问题,让它更清楚一点。我正在使用 SQL Server 2017。

定价表示例数据

我们会说 2018 年 9 月 1 日之前的所有月份都是历史数据,而 2018 年 9 月 1 日及之后的月份都是预测数据。我需要使用...计算预测价格(示例数据上以黄色阴影表示)

需要说明的是,我的数据中尚不存在黄色阴影价格。这就是我试图让我的查询计算的内容。由于这是每月百分比变化,因此每一行都取决于之前的行,并且超出了单个 ROW_NUMBER/PARTITION 解决方案,因为我们必须使用之前计算的价格。显然,在 excel 中简单的顺序计算在这里有点困难。知道如何在 SQL 中创建预测价格列吗?

0 投票
1 回答
51 浏览

r - 预测函数是否使用其新预测更新历史(训练)集?

我有以下要预测的 ARMA(1,0,1) 模型:

此代码似乎有效,但我似乎无法找到(或理解)此函数是否使用其在历史集中的先前预测,即对于预测 h=2 是考虑到 h=1 估计,或者如果我想要这个我是否需要编写一个滚动窗口循环并多次预测一组(h = 1)?