问题标签 [sarimax]
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 - 使用 statsmodels.tsa.arima.model 进行时间序列预测 import ARIMA
我正在尝试对我的 ARIMA 模型进行预测,但我坚持了一点
在这里,trainData1 将日期作为索引(您猜到的是 train2 和 test2)并使用 train2 数据训练了模型,之后我尝试对 test2 数据进行如下预测;
但它给了我以下错误;
应该在预测函数内部添加什么作为数据?
train2 如下;
test2如下;
model - SARIMA 模型解码
我正在尝试创建一个包含 5 个月每日数据的 SARIMA 模型。python 版本旧,因此我无法使用 auto-arima 功能。我没有分解我的数据。
使用 sarima_wrapper 函数,我试图将每日数据分解为每周,但我没有运气。
我的诊断显示如下,我不确定如何解决问题。谁能告诉我哪里出错了?
time-series - 使用 VAR 和 ARIMAX/SARIMAX 进行外生变量的时间序列预测
我有一个多元时间序列预测练习,其中包含过去一年的每日销售数据以及每日级别的买家数量、价格和促销活动等外生变量。假设我们每天都有从 2021 年 1 月 1 日到 2021 年 12 月 31 日的销售数据。
我必须每天预测下个月的销售数据,即 2022 年 1 月,即 31 个数据点,我知道可以使用 VAR/ARIMA/ARIMAX/SARIMAX 模型来预测 2022 年 1 月。但我担心的是,我已经知道 2022 年 1 月的价格、促销活动和买家数量。现在我不确定如何在我选择的模型中包含这些信息。
对此的任何帮助或线索将不胜感激。
python - SARIMAX预测函数中线性和水平选项类型有什么区别
我正在观看 Jose Portilla 的时间序列讲座,在 Sarima 视频中,他说在预测过程中我们需要使用typ值作为“级别”而不是“线性”,我在SARIMAX predict Docs上检查了两者之间的差异。它说
'linear' :根据差分内生变量的线性预测。
'levels' :预测原始内生变量的水平。
谁能帮我理解这句话背后的意思。
我知道级别类型得到预测输出的原始值但是线性类型呢
python - 在 Python 中实现 SARIMAX 会得到 0%| | 0/256 [00:00
我正在尝试在本文中的 Python 中实现以下代码。
这是我
即使值相同,具有来自数据库的值的组合框也不会显示来自 Datagridview 行的传递值
我有一个 Combobox1 表单,其中加载了数据库中的值。这些值完美地加载到 Combobox1 中。在更新学生信息的过程中,我在 datagridview 中有一行有一个“编辑”按钮,当我单击“编辑”按钮时,它会显示一个带有文本框和组合框的表单,其中加载了所有值来自 Datagridview 行,与该特定学生有关。在表单加载事件中,我将数据从数据库加载到该 Combobox1。当窗体显示时,Combobox1 显示数据库查询中的第一项,而不是我选择传递给 Combobox1 的 Datagridview 中的值,即使它们与查询中的项目相同。
这是获取数据的代码
在将值从 datagridview 传递到 Combobox1 时,这是我的代码
Studentlist 是 Datagridview,StudentList.SelectedCells(1).Value.ToString 是我需要加载到 Combobox1 中的数据。
我正在尝试在本文中的 Python 中实现以下代码。
这是我
即使值相同,具有来自数据库的值的组合框也不会显示来自 Datagridview 行的传递值
我有一个 Combobox1 表单,其中加载了数据库中的值。这些值完美地加载到 Combobox1 中。在更新学生信息的过程中,我在 datagridview 中有一行有一个“编辑”按钮,当我单击“编辑”按钮时,它会显示一个带有文本框和组合框的表单,其中加载了所有值来自 Datagridview 行,与该特定学生有关。在表单加载事件中,我将数据从数据库加载到该 Combobox1。当窗体显示时,Combobox1 显示数据库查询中的第一项,而不是我选择传递给 Combobox1 的 Datagridview 中的值,即使它们与查询中的项目相同。
这是获取数据的代码
在将值从 datagridview 传递到 Combobox1 时,这是我的代码
Studentlist 是 Datagridview,StudentList.SelectedCells(1).Value.ToString 是我需要加载到 Combobox1 中的数据。
python - 通过 sarimax 预测缩水系列的未来
我正在使用非平稳时间序列。为了使时间序列静止:我从序列中删除了滚动平均值。现在,当我预测如何合并平均值时,我似乎没有未来的滚动平均值
基本上我需要向 sarima_pred 添加滚动平均值。我没有任何尝试,我一无所知。我对测试数据集有滚动平均值,但对未来的预测没有。
python - SARIMAX 中是否需要转换外生变量?
我正在尝试在 python 中构建一个 SARIMAX 模型来复制一个 EViews 模型,其中我有内生变量“销售”和 7 个外生变量。
我正在使用 auto_arima 来找出模型的 p、d、q 和季节性订单 P、Q、D、s 的正确顺序。
EViews 中的当前模型使用(最大似然):
- 滞后的“销售”变量,
- 7个内生变量的百分比变化,其中一个变量已进行季节性调整
- 几个月的虚拟变量
- MA(1) 和 AR(1)
我有以下问题:
- 由于我在 python 中使用 SARIMAX,我相信我不需要在季节使用虚拟变量。我的假设是否正确?
- 由于我使用的是 SARIMAX,我是否还需要将季节性调整的外生变量添加到数据框中而不是原始数据?
- 我可以在 SARIMAX 模型中包含内生变量的滞后变量并运行 auto arima 以找出正确的顺序吗?
- 我是否需要在内生变量中包含差异序列?
statsmodels - 为什么观察次数会改变具有固定系数的 sarimax 模型的预测?
在训练了一个 sarimax 模型之后,我希望能够在未来使用它和新的观察结果进行预测,而无需重新训练它。但是,我注意到我在新应用的预测中使用的观察数量会改变预测。
据我了解,只要给出足够的观察值以允许正确计算自回归和移动平均值,该模型甚至不会使用早期的历史观察值来告知自己,因为系数没有被重新训练。在 (3,0,1) 示例中,我会认为它需要至少 3 个观察值来应用其训练的系数。然而,情况似乎并非如此,我质疑我是否正确理解了模型。
作为示例和测试,我已将经过训练的 sarimax 应用于完全相同的数据,并删除了最初的几个观察值,以使用以下代码测试行数对预测的影响:
结果如下:
基于此,这意味着如果我要从具有新观测值的训练模型生成预测,观测值本身的变化将影响预测的完整性。
对此有何解释?考虑到观察结果数量的变化,将训练模型应用于新观察结果的标准做法是什么?
如果我想更新模型,但无法控制我是否从训练集一开始就拥有所有原始观察结果,那么这个测试将表明我的预测也可能是随机数。
python - 我想用 statsmodels 的 .fix_params() 在模型中配置参数
我正在构建一个 SARIMAX 模型。
model = statsmodels.tsa.statespace.sarimax.SARIMAX(endog=y, order=[1,0,1], seasonal_order=[1, 1, 0, 10])
我希望一些参数为 0,因为 p 值大于 0.05 我使用了fix_params()
{
https://www.statsmodels.org/devel/generated/statsmodels.tsa.statespace.sarimax.SARIMAX.fix_params.html#statsmodels。 tsa.statespace.sarimax.SARIMAX.fix_params
}
model.fix_params({'ma.L1': 0}).sumary()
这就是我得到的结果。
'SARIMAX' object has no attribute 'fix_params'