Pymc3: построить матрицу со случайными переменными в качестве элементов - PullRequest
1 голос
/ 08 апреля 2020

Я пытаюсь создать наблюдаемую переменную в PyMC3, которая имеет многомерное нормальное распределение. Мне нужна ковариационная матрица, элементами которой являются другие случайные величины. В качестве примера рассмотрим следующий код:

import pymc3 as pm

with pm.Model() as model:
  a = pm.Normal('a', mu=0, sigma=10)
  b = pm.Normal('a', mu=0, sigma=10)
  c = pm.Normal('a', mu=0, sigma=10)

  # I recognize that the matrix is not positive definite
  # with this parameterization. This is just a toy example.
  # The main point is that I want the elements of the matrix
  # to be random variables.
  cov = [[a, b]
         [b, c]]

  data = pm.MvNormal('data', mu=[0, 0],
                       cov=cov, observed=obs)

Это не работает. Ни один из них не использует np.array(cov). Я полагаю, что решение состоит в том, чтобы как-то использовать тензоры Теано. Я не могу понять, как их использовать.

Буду признателен за любую помощь в этом. Спасибо.

...