Я использовал PYMC3 для выполнения вывода по байесовской модели логистической регрессии. Я хочу найти апостериор над весами $ \ beta \ in \ mathbb {R} ^ K $ с учетом гауссовского априорного $ \ mathcal {N} \ sim (0, I) $.
Для этого используются реальные, не смоделированные данные, представленные матрицей проекта $ X \ in \ mathbb {R} ^ {N \ times K} $ и вектором двоичного результата $ y \ in \ mathbb {R} ^ N $.
Мой код Python выглядит следующим образом:
with pm.Model() as logistic_model:
# 14 dimensional Gaussian prior
beta = pm.Normal('beta', mu = 0, sd = 10, shape = X.shape[1])
# Expected value of outcome with sigmoid link
logit_p = t.dot(X, beta)
pm.Bernoulli('likelihood', logit_p=logit_p, observed=y)
with logistic_model:
# Inference
trace = pm.sample(2000)
Затем я перехожу к использованию
pm.traceplot(trace)
чтобы получить визуализацию постеров. Это выводит следующее:
Мне любопытно; как бы я описал каждое измерение апостериора на отдельных участках? Это выглядит довольно грязно, когда они все на одном!
Извинения за знаки доллара - я новичок в этом и не знаю, как правильно отображать математику.
Спасибо