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