ARMAX模型预测在传递exog值时导致“ValueError:矩阵未对齐”

2023-12-31

我正在努力使用 ARMAX 模型预测样本值。

拟合模型效果很好。

armax_mod31 = sm.tsa.ARMA(endog = sales, order = (3,1), exog = media).fit()
armax_mod31.fittedvalues

就我有一个相应的模型而言,没有外生值的预测也可以很好地工作。

arma_mod31 = sm.tsa.ARMA(sales, (3,1)).fit()
all_arma = arma_mod31.forecast(steps = 14, alpha = 0.05)
forecast_arma = Series(res_arma[0], index = pd.date_range(start = "2013-08-21", periods = 14)) 
ci_arma = DataFrame(res_arma[2], columns = ["lower", "upper"])

然而,一旦我想预测样本值之外的值,我就会遇到问题。

all_armax = armax_mod31.forecast(steps = 14, alpha = 0.05, exog = media_out)

导致“ValueError:矩阵未对齐”。

我的第一个想法是length*media_out* 不适合。 我检查了几次并尝试将其他系列作为 exog 传递。 exog 的长度与步数相同。我尝试了一个时间序列 也只有*media_out.values*。

检查了文档:

"exog : array
If the model is an ARMAX, you must provide out of sample
values for the exogenous variables. This should not include
the constant."

据我了解,这就是我所做的。有什么想法我做错了吗? 另外我发现了这个 ipython 笔记本http://nbviewer.ipython.org/cb6e9b476a41586958b5 http://nbviewer.ipython.org/cb6e9b476a41586958b5尽管 在网上寻找解决方案。 在In [53]:你可以看到类似的错误。作者的评论表明了样本外预测的普遍问题,对吗?

我正在运行 python 2.7.3、pandas 0.12.0-1 和 statsmodels 0.5.0-1。


啊,我明白了这个问题。您还需要传递过去的数据。例如,如果您想预测 ARMAX(2,q) 模型的 12 步,则 exog 的长度应为 14。您需要两个额外的滞后才能预测 1 步。因此,如果您确保 exog 是 2d,那么这应该按预期工作。

无论如何,我看不到这一点,但如果您认为这里有需要改进的地方,请告诉我。现在我会在文档中注明它。

[Edit: 我意识到这个要求很愚蠢。使用 ARMA 预测时,您不再需要提供任何样本内变量https://github.com/statsmodels/statsmodels/pull/1124。 https://github.com/statsmodels/statsmodels/pull/1124]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ARMAX模型预测在传递exog值时导致“ValueError:矩阵未对齐” 的相关文章

随机推荐

  • QML Row 与 RowLayout

    我正在尝试为我的应用程序编写一个顶栏 其中应主要包含应用程序徽标 小图像 和应用程序标题 仅文本 此外 我希望这个顶栏能够根据窗口的高度自动调整大小 我是 QML 新手 但我想我应该将这些组件包装在Row or a RowLayout ht
  • Swift 在 UILongPress 上保留 UISwitch 状态

    我在我的项目中添加了 UISwitch 上的 UILongPressGestureRecognizer class ViewController UIViewController UIGestureRecognizerDelegate va
  • 从 sqlite 触发器调用 Java 方法 (android)

    我想要使 用 sqlite 触发器注册回调方法 例如 public void printLog Log i TAG 1 row added 在 sqlite 中插入任何行后调用此方法 是否可以 怎么做 SQLite 提供数据变更通知回调 h
  • 使用 GWT 使用 XMLHttpRequest 发送 XML

    目前我使用 JavaScript 代码在 GWT 中发送 XML 数据 有没有更简单的方法来发送它们 sendRequest addClickHandler new ClickHandler Override public void onC
  • Swift:键盘显示时向上滚动视图

    我有一个滚动视图 我想在显示键盘时向上滚动 当键盘显示时 我因以下错误而崩溃 2014 09 29 14 48 50 738 swrd 1563 472888 swrd EditPhotoViewController KeyboardWas
  • 将参数传递给 JSF 中的视图作用域 bean

    假设我的 JSF 2 应用程序中有两个页面 第一页显示对象表 汽车或其他内容 另一个页面能够显示一个特定对象的详细信息 表页位于请求范围内 因为每次用户请求时都应重新加载对象 详细信息页面在视图范围内 因此 当我单击表格内的某个对象时 该对
  • Android 中使用 DateFormat 的 java.lang.IllegalArgumentException

    这是我的代码片段 这里的日期格式为 10 Sep 2013 09 53 37 TextView tvDate TextView convertView findViewById R id entered date DateFormat da
  • 如何在 python 3 中通过 FTP 发送 StringIO?

    我想通过 FTP 将文本字符串作为文件上传 import ftplib from io import StringIO file StringIO file write aaa file seek 0 with ftplib FTP as
  • 在 jQuery 中绑定多个事件

    我有一个自定义 jQuery 插件 它绑定了change事件到表单元素 在本例中是一些input元素 这change事件用于向其他一些组件指示发生了更改 这按其应该的方式工作 但是 我发现需要绑定一个额外的change事件相同input元素
  • 为什么 C 中不允许将数组大小作为常量变量,而 C++ 中允许?

    我试着写一个c程序如下 const int x 5 int main int arr x 1 2 3 4 5 当我尝试使用 gcc 进行编译时 会发出警告 如下所示 simple c 9 错误 可变大小的对象可能未初始化 但在 C 中也是允
  • 反应本机 fs 库不写入文件

    当我使用react native fs创建文件时 回调成功 但该文件不在我的android data com myapp files test txt库中 logcat 中没有错误 所以我想知道为什么我的简单 App js 代码不起作用 S
  • 使用 Kotlin 和 Mockito 模拟通用接口

    我正在尝试使用 Mockito 模拟 Kotlin 中的通用接口 但到目前为止我还没有找到自然的解决方案 鉴于 interface X
  • NSManagedObjectContext 已锁定

    我的应用程序中有两个线程在运行 在主线程中 我更新实体中键的值或从核心数据获取一些行 在后台线程中 我从服务器下载数据 但有时在更新 处理核心数据时 managedObjectContext executeFetchRequest requ
  • 角度错误 TS2531:对象可能为“空”

    所以我有一个 Component html 其中包含如下输入
  • Android 拆分无法正常工作

    在过去的 4 个月里 我一直在开发 Android 应用程序 并遇到了以下有关拆分功能的问题 String arr SoapPrimitive result SoapPrimitive envelope getResponse arr re
  • Google OAuth2 服务帐户 HTTP/REST 身份验证

    我正在尝试使用下面的文档发出访问令牌请求 https developers google com identity protocols OAuth2ServiceAccount https developers google com ide
  • Kleisli 组合的编译错误

    我有一个复制自的验证模块面向铁路的编程 http fsharpforfunandprofit com posts recipe part2 在我的应用程序中执行错误处理 type ErrorMessage ErrorMessage of s
  • 强制 Nosetests 使用 Python 2.7 而不是 3.4

    我一直在使用 3 4 版本学习 Python 我最近开始学习 Web py 因此一直使用 Python 2 7 因为 Python 3 4 不支持 web py 我为Python 3 4 和2 7 安装了nose 1 3 4 模块 我需要对
  • SSIS 错误代码:0xC0014009

    如何解决 SQL Server 代理运行作业 SSIS 失败并出现错误代码 0xC0014009 的问题 我的工作 ssis 包将数据从源数据库 interbase 转换到目标 SQL Server 以使用 ODBC 我发现工作失败了 错误
  • ARMAX模型预测在传递exog值时导致“ValueError:矩阵未对齐”

    我正在努力使用 ARMAX 模型预测样本值 拟合模型效果很好 armax mod31 sm tsa ARMA endog sales order 3 1 exog media fit armax mod31 fittedvalues 就我有