Определение априора для комбинации непрерывных и бинарных предикторов для запуска байесовской линейной регрессии с использованием цепочки Маркова Монте-Карло - PullRequest
1 голос
/ 24 марта 2019

Я пытаюсь запустить байесовскую линейную регрессию, используя цепочку Маркова Монте-Карло в PyMC3.Я пытаюсь установить приоритет для моей проблемы, где мой ответ является непрерывной переменной, и у меня есть 12 предикторов (8 двоичных и 4 непрерывных).Как определить априор для этой проблемы?

Я попытался установить априор как 8 биномиальных распределений и 4 непрерывных переменных, но я не могу правильно сформулировать уравнение.

Я проверил следующий код из pymc3

# Context for the model
with pm.Model() as normal_model:

   # The prior for the model parameters will be a normal distribution
   family = pm.glm.families.Normal()

   # Creating the model requires a formula and data (and optionally a family)
   pm.GLM.from_formula(formula, data = X_train, family = family)

   # Perform Markov Chain Monte Carlo sampling
   normal_trace = pm.sample(draws=2000, chains = 2, tune = 500, njobs=-1)

В вышеприведенном коде 'family = pm.glm.families.Normal ()' устанавливает приоритет для всех параметров как нормальное распределение среднего нуля и sd = 1?Как мы изменим этот код, чтобы объявить ранее для 8 биномиальных и 4 непрерывных переменных?

...