python эквивалентно Matlab Mvnrnd? - PullRequest
       59

python эквивалентно Matlab Mvnrnd?

1 голос
/ 12 апреля 2020

Мне было просто интересно, как go с mvnrnd([4 3], [.4 1.2], 300); в коде MATLAB до np.random.multivariate_normal([4,3], [[x_1 x_2],[x_3 x_4]], 300) в Python.

Мои сомнения заключаются именно в параметре sigma, поскольку в MATLAB для задания ковариации используется 2D-вектор; тогда как в Python должна использоваться матрица. Каково теоретическое значение этого и каков практический подход к go от одного к другому, например, в этом случае? Кроме того, есть ли быстрый, механический способ?

Спасибо за чтение.

1 Ответ

0 голосов
/ 12 апреля 2020

Хотя python ожидает матрицу, это по существу симметричная c ковариационная матрица. Так что это должна быть квадратная матрица. В случае 2x2 матрица симметрии c будет иметь зеркальные недиагональные элементы.

Я верю в python, она должна выглядеть как [[.4 1.2], [1.2 .4]]

...