我不知道为什么多变量统计.pdf不工作。 现在我有
from scipy import stats
stats.multivariate_normal.pdf(X, meanX, covX)
在哪里
^{pr2}$我得到的错误是:“新数组的总大小必须保持不变”
现在我试着回答:
meanL = np.float(np.mean(xL))
covL = np.cov(xL)
stats.multivariate_normal.pdf(xL.T, np.full((150,), meanL), covL)
我得到以下错误:
LinAlgError Traceback (most recent call last)
<ipython-input-77-4c0280512087> in <module>()
2 meanL = np.full((150,), meanL)
3 covL = np.cov(xL)
----> 4 stats.multivariate_normal.pdf(xL.T, meanL, covL)
5
/Users/laura/anaconda/lib/python3.5/site-packages/scipy/stats/_multivariate.py in pdf(self, x, mean, cov, allow_singular)
497 dim, mean, cov = self._process_parameters(None, mean, cov)
498 x = self._process_quantiles(x, dim)
--> 499 psd = _PSD(cov, allow_singular=allow_singular)
500 out = np.exp(self._logpdf(x, mean, psd.U, psd.log_pdet, psd.rank))
501 return _squeeze_output(out)
/Users/laura/anaconda/lib/python3.5/site-packages/scipy/stats/_multivariate.py in __init__(self, M, cond, rcond, lower, check_finite, allow_singular)
148 d = s[s > eps]
149 if len(d) < len(s) and not allow_singular:
--> 150 raise np.linalg.LinAlgError('singular matrix')
151 s_pinv = _pinv_1d(s, eps)
152 U = np.multiply(u, np.sqrt(s_pinv))
LinAlgError: singular matrix
我无法复制您得到的准确误差,但尺寸必须匹配: 平均值和协方差需要有形状(N,)和(N,N)。并且X必须有宽度N。这些要求中的一些(但不是全部)可以通过广播来减轻。不管怎样,以下几点对我有用:
更新从更新后的Q我怀疑你想要
^{pr2}$相关问题 更多 >
编程相关推荐