【问题标题】:ARIMA forecasting with auto.Arima() and xreg problem使用 auto.Arima() 和 xreg 问题进行 ARIMA 预测
【发布时间】:2019-03-19 20:18:42
【问题描述】:

我正在使用 auto.arima 处理大型数据集。数据集富含零。 排名不足的大多数问题都可以,但是我仍然不知道如何处理“NN 类型”的数据。它与“PP 类型”非常相似(它计算得很好)。 NN 类型在我的数据中非常少见。任何想法如何解决这个问题,或者至少如何快速检测 NN 类型?

library(forecast)
NN<-matrix(c(2, 2,2, 1, 1,1   ,
       0, 0,0,0,0,1 ,
       0, 0,0,1,1,0),
       nrow=6)
PP<-matrix(c(2, 2,2, 1, 1,1   ,
         0, 0,0,0,0,1 ,
         0, 0,1,1,1,0),
       nrow=6)
qty<-rpois(6,3000)
auto.arima(qty)
auto.arima(qty, xreg=PP)
auto.arima(qty, xreg=NN)

【问题讨论】:

    标签: r forecasting forecast


    【解决方案1】:

    分析auto.arima函数的代码,很容易找到用于检查矩阵秩不足的代码。我建议以下功能:

    is.rankdeficient <- function(xregg) {
      constant_columns <- apply(xregg, 2, is.constant)
      if (any(constant_columns)) {
        xregg <- xregg[, -which(constant_columns)[1]]
      }
      sv <- svd(na.omit(cbind(rep(1, NROW(xregg)), xregg)))$d
      min(sv)/sum(sv) < .Machine$double.eps
    }
    
    
    is.rankdeficient(PP)
    # [1] FALSE
    
    is.rankdeficient(NN)
    # [1] TRUE
    

    【讨论】:

      猜你喜欢
      • 2021-10-18
      • 2018-09-08
      • 2017-06-26
      • 2013-02-09
      • 2014-04-18
      • 1970-01-01
      • 2019-05-06
      • 1970-01-01
      相关资源
      最近更新 更多