Пакет CRAN с байесовской логистической регрессией по схеме Поля-Гамма - PullRequest
0 голосов
/ 13 февраля 2019

Я поддерживаю пакет, который использует BayesLogit для байесовской логистической регрессии с использованием метода скрытой переменной Поля-Гамма и возвращаю выборки из цепочки Маркова-Монте-Карло (MCMC).BayesLogit больше не работает в CRAN, и я могу установить предыдущую версию с

install_version("BayesLogit", version = "0.6")

Но этот хак предотвратит отправку моего пакета в CRAN. исходный код последний раз обновлялся год назад, поэтому я не думаю, что он вернется в CRAN.

Я нашел другой пакет , который делает то же самое спохожий синтаксис.Но этот пакет также не входит в CRAN и устанавливается с

devtools::install_github("kasparmartens/PolyaGamma")

Реализует ли пакет CRAN байесовскую логистическую регрессию с использованием схемы Поля-Гамма и возвращает образцы MCMC?

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Мы решили использовать RStan, потому что он уже был на CRAN, и мы использовали его в другой части пакета.У нас было более сильное предпочтение чему-то на CRAN, который реализовал байесовскую регрессию, чем схема Поля-Гамма.

Файл Stan содержит:

// Code for 0-1 loss Bayes Logistic Regression model
data {
  int<lower=0> n; // number of observations
  int<lower=0> p; // number of covariates
  matrix[n,p] x; // Matrix of covariates
  int<lower=0,upper=1> y[n]; // Responses
  real<lower=0> beta_sd; // Stdev of beta
}
parameters {
  vector[p] beta;
}
model {
  beta ~ normal(0,beta_sd);
  y ~ bernoulli_logit(x * beta); // Logistic regression
}

И мы называем это с помощью:

bayes_log_reg <- rstan::stan(stan_file, data = data, seed = seed,
                      iter = n_bootstrap * 2, chains = 1)
stan_bayes_sample <- rstan::extract(bayes_log_reg)$beta

См. виньетка пакета для получения полной информации.

Я понимаю, что многие другие пакеты реализуют байесовскую логистическую регрессию в общем случае.

0 голосов
/ 02 апреля 2019

Я и коллега находились в аналогичной ситуации (пакет, который мы зависели от BayesLogit и в конечном итоге были заархивированы), поэтому мы решили упаковать нашу реализацию сэмплера C ++ Polya-Gamma, которую мы разработали для MATLAB, в пакет R,В настоящее время он работает на CRAN как пакет pgdraw .По результатам нашего тестирования он даже немного быстрее, чем оригинальный пакет BayesLogit.

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