bsts
R包(贝叶斯结构时间序列)计算模型中每个预测变量的包含概率,可以通过PlotBstsPredictors
函数对其进行绘制。如何提取这些作为给定bsts
模型的值?
答案 0 :(得分:1)
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
一起使用。