Python中的向量正态分布

3
也许这是个愚蠢的问题,请见谅,但是从这里来看:
N = 10000
x = 10 + 2*np.random.randn(N)
y = 5 + x + np.random.randn(N)

def neg_loglike(const,coef,std):
    mu = const + coef*x
    print(mu.shape)
    return -1*stats.norm(mu, std).logpdf(y).sum()

seed = np.array([1,1,1])
res = minimize(neg_loglike, seed, method = 'Nelder-Mead', 
            options={'disp': True})

在这种情况下,mu是一个数组/向量,而stats.norm是否为每个x值生成正态分布?正态分布具有多个均值意味着什么...(显然我没有理解这一点)

最后,对res.x中最优值的正确解释是这些参数生成一组正态分布,最大化在分布中看到y的概率吗?

1个回答

3

是的,norm 接受 locscale 参数的向量,并将每个输入视为其自己的分布。请注意,对于一个参数输入向量,另一个参数输入标量也可以,就像您引用的链接中一样(其中scale1loc 是向量 x)。

例如:

from scipy.stats import norm

norm(loc=[1,2,3], scale=1).logpdf([4,5,6])

输出:

array([-5.41893853, -5.41893853, -5.41893853])

{btsdaf} - RSHAP
{btsdaf} - andrew_reece
{btsdaf} - andrew_reece

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接