Допустим, у меня есть датафрейм с 4 переменными. Я хочу посмотреть, смогу ли я сгенерировать апостериорные гамма-смеси по всем переменным с целью найти кластеры для каждого наблюдения. Я предполагаю, что мне понадобится какое-то многомерное гамма-распределение? Но как бы я go об этом?
Вот пример кода pymc3 с одним параметром, который ищет смесь двух гамм (я выбрал произвольные параметры):
with pm.Model() as m:
p = pm.Dirichlet('p', a = np.ones(2))
alpha = pm.Gamma('means',alpha = 1, beta = 1, shape = 2)
beta = pm.Gamma('means',alpha = 1, beta = 1, shape = 2)
x = pm.Gammma('x', alpha, beta)
comp_dist = pm.Gamma.dist(means, scale, shape = (2,))
like = pm.Mixture('y', w = p,comp_dists = comp_dist, observed = data)
trace = pm.sample(1000)
Итак, мой вопрос, как бы я расширить этот базовый c пример для нескольких переменных? Я предполагаю, что мне нужно определить отношения между переменными, чтобы как-то кодировать их в модели? Я чувствую, что понимаю основы моделирования смесей, но в то же время чувствую, что мне не хватает чего-то довольно фундаментального.