Построение апостериорных оценок параметров от нескольких моделей с байесплотом - PullRequest
0 голосов
/ 18 октября 2018

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

Представьте, например, что у меня есть 1000 ничьих сзади для трех параметров beta1, beta2, beta3 для двух разных моделей:

# load the plotting library
library(bayesplot)
#> This is bayesplot version 1.6.0
#> - Online documentation and vignettes at mc-stan.org/bayesplot
#> - bayesplot theme set to bayesplot::theme_default()
#>    * Does _not_ affect other ggplot2 plots
#>    * See ?bayesplot_theme_set for details on theme setting
library(ggplot2)

# generate fake posterior draws from model1
fdata <- matrix(rnorm(1000 * 3), ncol = 3)
colnames(fdata) <- c('beta1', 'beta2', 'beta3')

# fake posterior draws from model 2
fdata2 <- matrix(rnorm(1000 * 3, 1, 2), ncol = 3)
colnames(fdata2) <- c('beta1', 'beta2', 'beta3')

Bayesplot делает фантастические визуализации для отдельных рисунков модели, и это ggplot2 «под капотом», поэтому я могу настроить, как мне будет угодно:

# a nice plot of 1
color_scheme_set("orange")
mcmc_intervals(fdata) + theme_minimal() + ggtitle("Model 1")

# a nice plot of 2
color_scheme_set("blue")
mcmc_intervals(fdata2) + ggtitle("Model 2")

Но чего я хотел бы добиться, так это построить эти две модели вместе на одном и том же графике, чтобы для каждого коэффициента у меня было два интервала и я мог различить, какой интервал равенкоторый путем сопоставления цвета с моделью.Однако я не могу понять, как это сделать.Некоторые вещи, которые не работают:

# doesnt work
mcmc_intervals(fdata) + mcmc_intervals(fdata2)
#> Error: Don't know how to add mcmc_intervals(fdata2) to a plot

# appears to pool
mcmc_intervals(list(fdata, fdata2))

Есть идеи о том, как я могу это сделать?Или как сделать это вручную, учитывая матрицы задних розыгрышей?

Создано в 2018-10-18 пакетом Представить (v0.2.1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...