代码之家  ›  专栏  ›  技术社区  ›  Max Ghenis shoyer

如何从BSTSR包中提取包含概率

  •  1
  • Max Ghenis shoyer  · 技术社区  · 6 年前

    这个 bsts R包(贝叶斯结构时间序列)计算模型中每个预测因子的包含概率,可通过 PlotBstsPredictors 功能。如何提取这些值作为给定 BSTS 模型?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Max Ghenis shoyer    6 年前
    GetInclusionProbabilities <- function(bsts.object) {
      # Pulls code from
      # - BoomSpikeSlab::PlotMarginalInclusionProbabilities
      # - bsts::PlotBstsCoefficients
      burn <- SuggestBurn(0.1, bsts.object)
      beta <- bsts.object$coefficients
      beta <- beta[-(1:burn), , drop = FALSE]
      inclusion.prob <- colMeans(beta != 0)
      index <- order(inclusion.prob)
      inclusion.prob <- inclusion.prob[index]
      # End from BoomSpikeSlab/bsts.
      return(data.frame(predictor = names(inclusion.prob),
                        inclusion.prob = inclusion.prob))
    }
    

    这也可以用于 CausalImpact 通过 impact$model$bsts.model .