在传递给 R 中 Arima() 的 xreg 参数之前,我们是否需要对外生变量进行差分?

2024-02-28

我正在尝试在 R 中使用 ARIMAX 构建预测模型,并需要一些关于如何在 xreg 参数中处理协变量的指导。

据我了解,auto.arima 函数在拟合模型(来自训练期数据)时负责协变量的差异,并且我也不需要差异协变量来生成测试期(未来值)的预测。 然而,当使用 R 中的 Arima() 与自定义 (p, d, q) 和 (P, D, Q)[m] 值(d 或 D 大于 0)拟合模型时,我们是否需要手动对协变量? 如果我进行差分,我会得到这样的问题:差分协变量矩阵的长度小于因变量的数据点的数量。

应该如何处理这个问题呢?

  • 我应该按原样发送协变量矩阵吗?即没有差异?
  • 我是否应该进行差分但忽略没有差分协变量数据的前几个观察结果?
  • 我是否应该保留前几行的实际值,其中差异协变量值不可用,而其余行具有差异值?
  • 如果我必须将标志变量 (1/0) 传递给 xreg 矩阵,我是否应该对这些变量进行差分,或者将标志变量的实际值与剩余变量的差分值进行绑定?

另外,在生成未来时期的预测时,如何传递协变量值(按原样或差分后)?

我正在使用以下代码:

ndiff <- ifelse(((pdq_order == "auto") || (PDQ_order == "auto")), ndiffs(ts_train_PowerTransformed), pdq_order[2])
nsdiff <- ifelse(((pdq_order == "auto") || (PDQ_order == "auto")), nsdiffs(ts_train_PowerTransformed), PDQ_order$order[2])

# Creating the appropriate covariates matrix after doing differencing

ifelse(nsdiff >= 1
      , ifelse(ndiff >= 1
                , xreg_differenced <- diff(diff(ts_CovariatesData_TrainingPeriod, lag =  PDQ_order$period, differences = nsdiff),  lag = 1, differences = ndiff)
                , xreg_differenced <- diff(ts_CovariatesData_TrainingPeriod , lag =  PDQ_order$period, differences = nsdiff)
                )
      , ifelse(ndiff >= 1
               , xreg_differenced <- diff( ts_CovariatesData,  lag = 1, differences = ndiff)
               , xreg_differenced <- ts_CovariatesData
 )

# Fitting the model
model_arimax <- Arima(ts_train_PowerTransformed, order = pdq_order, seasonal = PDQ_order, xreg = xreg_differenced)) 

# Generating Forecast for the test period
fit.test <- model_arimax %>% forecast(h=length(ts_test), 
                                              xreg = as.data.frame(diff(diff(ts_CovariatesData_TestPeriod, lag =  PDQ_order$period, differences = nsdiff),  lag = 1, differences = ndiff))

请建议。


Arima将按照顺序和季节性参数中指定的方式对响应变量和 xreg 变量进行差异。您永远不需要自己进行差异化。

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

在传递给 R 中 Arima() 的 xreg 参数之前,我们是否需要对外生变量进行差分? 的相关文章

  • 为什么 rbind 会抛出警告

    这与是否有更优雅的方法将不规则的数据转换为整洁的数据框 https stackoverflow com questions 25102617 are there more elegant ways to transform ragged d
  • R Shiny - 修复了 Shiny 仪表板中的侧边栏和主标题

    我有一个简化的闪亮仪表板 请参阅下面的代码 我想修复侧边栏和主标题 因此 在其他帖子的帮助下 我编写了一个 CSS 文件来解决该问题 sidebar color FFF position fixed width 220px white sp
  • 为 ggplot 定义新的尺度轴变换

    我正在尝试创建一个squared使用 y 轴变换scales trans new但遇到错误 MWE data data frame x 1 10 y runif 10 z rnorm 10 10 library ggplot2 ggplot
  • 如何转置 R markdown 文档中的表格?

    假设我打印一个名为summary table的数据框 如下所示 summary table data frame a c 1 2 3 b c 11 12 13 c c 21 22 23 d c 31 32 33 e c 41 42 43 f
  • 如何对工作区中的元素运行循环?

    gt ls 1 A anorex 1 anorexia B byMonth C clotting 8 counts d D d AD DelayByDay delayed glm D93 15 glmout groups h housing
  • 如何获得 R 帮助?

    R 包可能有哪些可用文档 例如我尝试理解sp包裹 此外help sp 还有哪些用于搜索帮助和文档的其他功能 获取有关您知道其名称的函数的帮助 Use http www inside r org r doc utils Question或者
  • 用闪亮的 R 设计 DT 中的展开行按钮

    我正在尝试设计 DT 中可用的展开行按钮的样式 样式可用here https datatables net examples api row details html 我用于创建数据表的代码是 library DT datatable cb
  • 计算数据框中每一行的 R 条件运行总和

    我想创建一个等于 data Rating 的运行总和的列 假设第 3 列和第 4 列中有两个条件成立 特别是 data Year 换句话说 这应该计算直到上一年为止每个 id 的评分累积总和 它应该对数据框中的每一行 大约 50 000 行
  • R 中的 huxtable 即使有选项也默认为科学记数法(scipen=999)

    我试图生成像样的桌子 并在过去的一周尝试了很多软件包 我的头在游泳 今天早上开始使用 package huxtable 并试图摆脱科学记数法 x lt mtcars 1 5 1 2 x mpg lt x mpg 10000000 get s
  • 如何缩放(标准化)每列内的 ggplot2 stat_bin2d 值(按 X 轴)

    我有一个 ggplot stat bin2d 热图 library ggplot2 value lt rep 1 5 1000 df lt as data frame value df group lt rep 1 7 len 5000 d
  • 计算数据帧 R 中字符串的频率

    我想计算数据框中某些字符串的频率 strings lt c pi pie piece pin pinned post df lt as data frame strings 然后我想计算字符串的频率 counts lt c pi in pi
  • R Leaflet:添加多边形时传递 popupOptions。

    Within addPolygons 有一个popup参数就像addPopups 功能 区别 我认为 是当弹出窗口创建时addPolygons 可以单击多边形内的任意位置来触发弹出窗口 但是如果addPopups 被使用 单个lng and
  • linux下无法安装Cairo包

    我在本地下载该软件包并尝试安装它 但出现此错误 R CMD INSTALL l usr local lib64 R library Cairo 1 5 1 tar gz 我得到他的错误 checking for PNG support in
  • 使用 lpSolve 优化 R 团队名单

    我是 R 新手 有一个想要解决的特定幻想运动队优化问题 我见过其他帖子使用 lpSolve 来解决类似的问题 但我似乎无法理解代码 下面的示例数据表 每个球员都在一个球队中 扮演着特定的角色 有薪水 并且每场比赛都有平均得分 我需要的限制是
  • 通过 :: 调用包中的函数是一个好习惯吗

    我正在编写一些 R 函数 这些函数在其他包中使用一些有用的函数 例如stringr and base64enc 不打电话好不好library or require 首先加载这些包但要使用 直接引用我需要的功能 比如stringr str m
  • R 未获取用户库

    我有一个带 R 3 6 0 的 Fedora 30 系统 用户库设置在Renviron就像这个 R LIBS USER R LIBS USER R x86 64 redhat linux gnu library 3 6 事实上 它出现在交互
  • 如果指定了多个存储库,install.packages 的行为是什么?

    从文档中并不清楚如果在 install packages 中指定了多个存储库会出现什么行为 我的直觉告诉我 它将尝试第一个存储库 如果找不到包 它将尝试第二个存储库 依此类推 不幸的是 情况似乎并非如此 我看到的是 只尝试了第一个 并返回错
  • R:构建二阶转移矩阵和得分序列

    其他问题 有另一个问题 https stackoverflow com questions 29728436 fit and evaluate a second order transition matrix markov process
  • R(或替代方案?)中的高(或非常高)阶多项式回归

    我想对 R 中的一组数据进行 非常 高阶回归拟合 但是poly 函数的阶数极限为 25 对于此应用程序 我需要的订单范围为 100 到 120 model lt lm noisy y poly q 50 Error in poly q 50
  • R 中的聚类分析:确定最佳聚类数

    如何选择最佳的聚类数量来进行 k 均值分析 绘制以下数据的子集后 多少个簇比较合适 如何进行聚类树突分析 n 1000 kk 10 x1 runif kk y1 runif kk z1 runif kk x4 sample x1 lengt

随机推荐

  • Yeoman 无法识别全球安装的发电机

    I ran sudo npm install g generator flask它被保存了 我能够通过运行来确认npm list g 然后我跑yo flask 我以为这会起作用 但收到一条错误消息 Error flask You don t
  • Oracle在Java中的RETURNING INTO用法(JDBC、Prepared Statement)

    我正在使用 JDBC 执行 Oracle 语句 如下所示 INSERT INTO MYTABLE MYDATA VALUES RETURNING MY CALCULATED DATA INTO MYTABLE s def makes MY
  • Intellij 完成贡献者

    我正在为 intellij 开发一个插件 我想向基于 xsd 的 xml 编辑器添加自定义建议 到目前为止 我可以从 xsd 文件中获取所需的建议 我已经实现了 xml 的完成贡献者 如下所示 import com intellij cod
  • 将两个元素对齐在同一行

    我正在尝试对齐两个不同的 p 同一行上的元素 我让它工作了 但它完全弄乱了我的标志 他们俩 p p 元素是您在徽标两侧看到的 TEST 对齐的代码是这样的 HTML代码 p div class container div align cen
  • php 解析错误不会显示

    我正在运行 ubuntu 10 04 nginx php fpm 5 4 如果我设置display errors On在 php ini 中 所有错误都会被打印 如果相反 我将其设置为关闭 然后使用 ini set display erro
  • ggplotly 上的主标题和 legend.position 问题

    我在如何在 ggplotly 中定位主标题和图例时遇到问题 我希望我的主标题位于图表顶部并左对齐 我还希望我的图例位于图表的底部中心 这是我的代码 library ggplot2 library dplyr library tidyr li
  • 如何更改bookdown中的图形标题格式

    使用 bookdown 单个文档 时 图会自动编号为 图 1 图标题文本 在化学中 惯例是将主要数字标记为 图1 图标题的文本 对于支持信息文件 图S1 图标题的文本 另外 在文本中的图形参考中 我们需要 如图 1 所示 所以参考文本不应该
  • Windows8 中的首选字体大小需要计算器吗?

    在查看一些官方 Windows8 Metro 材料时 我看到了这行 xaml
  • Ken Burns 效果与 nivo 滑块

    有没有人设置一个尼沃滑块 http nivo dev7studios com 平移每个图像 又名肯伯恩斯效应 http en wikipedia org wiki Ken Burns effect 我正在尝试实现它 但有点棘手 事实上 我的
  • 需要对 Docpad 持久性进行解释

    我对 Docpad 中数据持久化背后的架构感到非常困惑 从博客和论坛中 我了解到内存中 和 或输出目录 用于生成的内容 但Docpad的卖点之一是 完全基于文件 从表面上看 将其托管在 Heroku 或任何临时文件系统上似乎不合逻辑 谁能给
  • JavaScript indexOf 忽略大小写

    我正在尝试查找图像的源名称中是否包含noPic可以是大写或小写 var noPic largeSrc indexOf nopic 我应该写 var noPic largeSrc toLowerCase indexOf nopic 但这个解决
  • Django-[Errno 111]使用 smtp 时连接被拒绝

    我正在开发一个 Django 应用程序 该应用程序具有向用户发送电子邮件的功能 在测试用例中 我有一个联系表单 它使用 smtp 通过 gmail 将表单数据作为电子邮件的一部分提交 我按照建议禁用了验证码该视频播放列表 https www
  • IIS 7.5 应用程序初始化(预热)和 HTTPS

    我们已经使用 IIS 7 5 的应用程序初始化模块有一段时间了 它总是工作得很好 然而 我们刚刚开始实施 SSL 这似乎与热身产生了冲突 我已经做了很多研究 但到目前为止还没有解决方案 基本上问题是初始化模块不遵循重定向 我们必须为网站的某
  • mod_wsgi - 致命 Python 错误:initfsencoding:无法加载文件系统编解码器

    使用 Red Hat apache 2 4 6 worker mpm mod wsgi 4 6 5 和 Python 3 7 当我启动 httpd 时 出现上述错误 ModuleNotFoundError No module named e
  • Webstorm 中的 Sails.js 智能感知

    Webstorm for Sails js 应用程序有可用的智能感知吗 在我的所有控制器中 我收到模型未定义的消息 即使它工作得很好 呼叫服务也是如此 我知道这有点旧 但我最终所做的是首先使用与文件相同的名称 如类名 命名所有 module
  • 返回标识值时的 ExecuteScalar 与 ExecuteNonQuery

    试图弄清楚是否最好使用ExecuteScalar or ExecuteNonQuery如果我想返回新插入行的标识列 我读过了这个问题 https stackoverflow com questions 2974154 what is the
  • 将照片保存到 iOS 8 中的自定义相册

    我在这里需要一点帮助 我有一个方法可以将 UIImage 保存到相机胶卷中 在 iOS 8 中没有问题 该方法如下 PHPhotoLibrary sharedPhotoLibrary performChanges PHAssetChange
  • 如何在 IntelliJ 中永久启用行号?

    如何在 IntelliJ IDEA 中永久启用行号 IntelliJ 14 X 及以上版本 从14 0版本开始 设置对话框的路径略有不同 General子菜单已添加到Editor and 外貌如下所示 IntelliJ 8 1 2 13 X
  • 背景附件:已修复在 iPad 上不起作用

    是否有 CSS Modernizr 方法来了解浏览器是否支持 background attachment fixed 我同时使用背景大小和背景附件 background size cover background attachment fi
  • 在传递给 R 中 Arima() 的 xreg 参数之前,我们是否需要对外生变量进行差分?

    我正在尝试在 R 中使用 ARIMAX 构建预测模型 并需要一些关于如何在 xreg 参数中处理协变量的指导 据我了解 auto arima 函数在拟合模型 来自训练期数据 时负责协变量的差异 并且我也不需要差异协变量来生成测试期 未来值