Python 找到特定点cdf的正态标准偏差和分布平均值

Python 找到特定点cdf的正态标准偏差和分布平均值,python,scipy,normal-distribution,cdf,Python,Scipy,Normal Distribution,Cdf,我有三点数据: 我的分布是正常的 分布有一个我知道的平均值(m),并且 我知道分布在另一点(x)的cdf(p) 从这里,我想找到函数的标准偏差(std)。我正在尝试使用scipy的integrate和fsolve解决这个问题,但到目前为止还不起作用 具体而言,我尝试过: def func(std, x, m, p): return integrate.quad(np.exp(-(t-m)**2/std**2), -10000, x) - p x0 = fsolve(func, 2 a

我有三点数据:

  • 我的分布是正常的
  • 分布有一个我知道的平均值(m),并且
  • 我知道分布在另一点(x)的cdf(p) 从这里,我想找到函数的标准偏差(std)。我正在尝试使用scipy的integrate和fsolve解决这个问题,但到目前为止还不起作用

    具体而言,我尝试过:

    def func(std, x, m, p):
         return integrate.quad(np.exp(-(t-m)**2/std**2), -10000, x) - p
    
    x0 = fsolve(func, 2 args=(3, 0, 0.96))
    

    我觉得我处理这个问题的方法不对。有人能帮忙吗?

    我完全错了,应该是:

    def func(std, x, m, p):
        return (norm.cdf(x, m, std) - p)
    
    fsolve(func, 3, args=(0, -5, 0.8))