Ошибка при использовании предиката () для объекта bsts в R: несовместимые ковариаты в GlmCoefs ::вести - PullRequest
0 голосов
/ 01 февраля 2020

Я тренирую модель прогнозирования с использованием пакета bsts в R. Независимо от того, какое число ковариат я включаю в модель, я получаю следующую ошибку:

У меня нет никаких других проблемы с моим объектом bsts. Вот как я тренирую модель:

# BSTS
train = train_all[1:train_length,]
y = train[,outcome]
X = train[,!(names(train) %in% c("Date", outcome))]

# remove input columns with NA
has_na <- colSums(is.na(X)) > 0
X <- X[,!has_na]
feats <- colnames(X)

ss = AddStudentLocalLinearTrend(list(), y)
b = bsts(y ~ .,
         state.specification = ss,
         data = X,
         niter = 1000,
         family = "student",
         expected.model.size = 8)


burn <- SuggestBurn(0.1, b)
newdata = as.data.frame(train_all[(train_length+1),feats])
predict(b, newdata = newdata, burn = burn, na.action = na.exclude)

В прогнозирующем вызове я использую следующую строку экзогенных переменных (аналогично первой строке набора 'test'), чтобы создать Прогноз на шаг впереди. Вот где я получаю следующую ошибку:

>   predict(b, newdata = newdata, burn = burn, na.action = na.exclude)
Error in predict.bsts(b, newdata = newdata, burn = burn, na.action = na.exclude) : 
  Caught exception with the following error message: 
incompatible covariates in GlmCoefs::predict
beta = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6.18227 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.22078 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.611854 0 0 0 0 0 0 0
x = 1 

Я искал все, что мог придумать, чтобы найти информацию об этой ошибке, но ничего не могу найти. Кто-нибудь знает, что означает эта ошибка или как я могу это исправить?

...