Как рассчитать многовариантную функцию нормального распределения вероятностей со средним значением и значением cov, сохраненным в матрице - PullRequest
1 голос
/ 13 марта 2019

Я новичок в Python.Было бы полезно, если бы кто-нибудь мог мне помочь.

У меня есть массив O, в котором первый и второй столбцы соответствуют среднему значению и полному трех (по одному для каждой строки) многомерных нормальных случайных величин соответственно.

Я бы хотел вычислить функцию распределения вероятностей, используя SciPy's multivariate_normal.pdf() для заданного числа (например, x = 2.5) с этими тремя средними и значениями.Результат должен быть сохранен в массиве alpha в форме 1 * 3.

Мне нужно использовать multivariate_normal.pdf(x, mean=m, cov=co).Мой код:

import numpy as np
from scipy.stats import multivariate_normal

alpha = np.zeros((1, 3))
O = np.array([[3.8, 0.01], [1, 1], [2, 0.5]])

def c_emission(x, m, co):
    return multivariate_normal.pdf(x, mean=m, cov=co)

alpha[0, :] = c_emission(2.5, O[:, 0], O[:, 1])

Моя проблема в том, что c_emission(2.5, O[:, 0], O[:, 1]) - это скаляр вместо вектора.

...