Я построил байесовскую модель регрессии в R, и я пытаюсь использовать ее, чтобы делать прогнозы из записи X, которой нет в обучающем наборе. Проблема в том, как бы я ни изменял значения одной из независимых переменных в X, прогноз остается прежним! Может ли кто-нибудь пролить свет на то, как делаются прогнозы с использованием байесовских моделей регрессии? Вот некоторый код, чтобы дать вам некоторое представление о том, что я делаю:
install.packages("BMA")
library(BMA)
D_for_Bayes_tweaked <- D_for_Bayes
bfit1 <- bic.glm(f = as.formula('freq_iso_chng2 ~ cpi_gasoline_proj + vhcl_age_proj + vhcl_sale_ltruck_proj',), data = D_for_Bayes[D_for_Bayes$year >= 2003 & D_for_Bayes$year <= 2019,], glm.family = Gamma(link = "log"))
(p1 <- predict(bfit1, newdata = D_for_Bayes[D_for_Bayes$year >= 2003 & D_for_Bayes$year <= 2020,], type = "response"))
cpi_gasoline_proj_change <- 0.025
new_gas_cpi <- D_for_Bayes[D_for_Bayes$year == 2020,]$cpi_gasoline_proj + cpi_gasoline_proj_change
D_for_Bayes_tweaked[D_for_Bayes_tweaked$year == 2020,]$cpi_gasoline_proj <- new_gas_cpi
bfit2 <- bic.glm(f = as.formula('freq_iso_chng2 ~ cpi_gasoline_proj + vhcl_age_proj + vhcl_sale_ltruck_proj',), data = D_for_Bayes_tweaked[D_for_Bayes_tweaked$year >= 2003 & D_for_Bayes_tweaked$year <= 2019,], glm.family = Gamma(link = "log"))
(p2 <- predict(bfit2, newdata = D_for_Bayes_tweaked[D_for_Bayes_tweaked$year >= 2003 & D_for_Bayes_tweaked$year <= 2020,], type = "response"))