Я тестирую метод шага AdaptativeMetropolis
в PyMC (как задокументировано here), и хочу видеть его в действии. Такой ступенчатый метод состоит в блочном обновлении некоторых переменных с использованием многомерного распределения кривых, ковариантность которого настраивается во время выборки.Как контролировать ковариацию предложения в PyMC?
Можно распечатать матрицу ковариации предложения по времени? Мне кажется, что это не документировано.
Спасибо.
EDIT: как игрушечная модель, рассмотрим случай двух подобных кубиков (предположим, что они происходят с той же фабрики). Мы хотим оценить, являются ли они предвзятыми.
import pymc
n = 100
alpha = pymc.Gamma('alpha', alpha=1, beta=1)
P1 = pymc.Beta('p1', alpha=alpha, beta=2)
P2 = pymc.Beta('p2', alpha=alpha, beta=2)
Y1 = pymc.Binomial('y1', n=n, p=P1, value=70, observed=True)
Y2 = pymc.Binomial('y2', n=n, p=P2, value=50, observed=True)
model = pymc.Model([alpha, P1, P2, Y1, Y2])
MC = pymc.MCMC(model)
MC.use_step_method(pymc.AdaptiveMetropolis, [P1, P2])
теперь я ожидаю/думает, что P1
и P2
устанавливаются быть выбраны с помощью обычного двухмерного предложения с адаптивной covariace. Как я могу контролировать это? Отбор проб производится после вызова
MC.sample(iter=11000, burn=10000)
просто любопытно, как вы представляете визуализированную матрицу ковариации, особенно во времени? Невозможно ли построить визуал, который вы ищете, когда MCMC будет выполнен - как и с другими традиционными графиками. –
В качестве первого шага мне будет достаточно возможности распечатать его на терминале. – altroware
Переменные блока, которые вы обновляете, должны храниться в трассировке, поэтому вы можете комбинировать соответствующие трассы в матричной модели ковариации, чтобы увидеть матрицу ковариации на этапах MCMC. Возможно, создание модели, для которой мы можем запустить MCMC, сделает людей более желающими помочь –