Найти нормальное стандартное отклонение от cdf в определенной точке и среднее значение распределения - PullRequest
0 голосов
/ 06 октября 2018

У меня есть три точки данных:

  1. Мое распределение нормальное
  2. Распределение имеет среднее значение, которое я знаю (м), и
  3. Я знаюcdf (p) распределения в другой точке (x).

Исходя из этого, я хочу найти стандартное отклонение (стандартное отклонение) функции.Я пытаюсь решить эту проблему, используя интеграцию и 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))

У меня такое чувство, что яЯ неправильно подхожу к этой проблеме.Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 06 октября 2018

Я делал это совершенно неправильно, должно быть:

def func(std, x, m, p):
    return (norm.cdf(x, m, std) - p)

fsolve(func, 3, args=(0, -5, 0.8))
...