Numpy 如何拟合正态分布,其中μ;函数是p(d)吗?

Numpy 如何拟合正态分布,其中μ;函数是p(d)吗?,numpy,scipy,curve-fitting,normal-distribution,scipy-optimize,Numpy,Scipy,Curve Fitting,Normal Distribution,Scipy Optimize,我定义了以下正态分布N。这里,r是随机变量(你可以把r看作“年龄”),而N的平均值由函数p(d)给出,它(作为一个参数)每次固定N(你可以把d看作“高度”): 换言之,对于不同的d(高度)值,N成为描述随机变量r(年龄)的不同PDF(由a、b和s形成) 我有很多(1800万)个d,r对,我想根据这些数据拟合PDF,找到最佳的a,b和s 我该怎么做呢?那么您想找到使数据可能性最大化的参数a、b和s?所以我可以假设损失函数是N(r,d,a,b,s)的乘积,给定数据上的r和d。有许多优化方法,假设这些

我定义了以下正态分布N。这里,r是随机变量(你可以把r看作“年龄”),而N的平均值由函数p(d)给出,它(作为一个参数)每次固定N(你可以把d看作“高度”):

换言之,对于不同的d(高度)值,N成为描述随机变量r(年龄)的不同PDF(由a、b和s形成)

我有很多(1800万)个d,r对,我想根据这些数据拟合PDF,找到最佳的a,b和s


我该怎么做呢?

那么您想找到使数据可能性最大化的参数a、b和s?所以我可以假设损失函数是N(r,d,a,b,s)的乘积,给定数据上的r和d。有许多优化方法,假设这些函数是可微的,您甚至可以使用像Tensorflow或PyTorch这样的autograd框架。但为了简单起见,我将在标记它时使用scipy,如果您的数据很小的话,这应该很好(那么您想找到使数据可能性最大化的参数a、b和s?因此我可以假设您的损失函数是N(r、d、a、b、s)的乘积)考虑到数据的r和d。有很多优化方法,考虑到这些函数是可微的,你甚至可以使用像Tensorflow或PyTorch这样的autograd框架。但是为了简单起见,我会在你标记它时使用scipy,如果你的数据很小的话,应该可以(听起来更像是一个贝叶斯优化问题而不是编程问题听起来更像是一个贝叶斯优化问题而不是编程问题对于我有1800万对的情况有什么建议吗?:STensorflow或PyTorchAnyways,因为你只有很少的参数,你也应该尝试一下代码。它找到了好的答案吗?你可以调整一下最小化函数的一些参数,如方法、初始值……我使用了它们的边界,它收敛得很好。但是,我现在尝试绘制函数(N)除了数据,看看拟合对我有18密耳对的情况是否有意义的建议?:STensorflow或PyTorchAnyways,因为你只有很少的参数,你也应该尝试一下代码。它找到了好的答案吗?你可以调整最小化函数的一些参数,比如方法、初始值……我使用了界限f但是,我现在试着把函数(N)和数据一起画出来,看看拟合是否有意义
def p(d, a, b):
    return a-b*d

def N(r, d, a, b, s):
    return (1/(s*sqrt(2*pi)))*exp(-(1/2)*((r-p(d, a, b))/s)**2)