Я новичок в 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])
- это скаляр вместо вектора.