Желаемое распределение вероятностей

#python #statistics #cdf #probability-density

#python #Статистика #cdf #вероятность-плотность

Вопрос:

У меня есть данные «zcosmo», которые соответствуют определенному распределению. Он имеет много колебаний (т.Е. В какой-то момент он немного увеличивается, а затем выравнивается и т.д., Но в целом он увеличивается с 0 до 0,5). Поэтому я подгоняю данные, используя функцию, которая следует за распределением данных.

This function is the probability distribution lets say of the data . Здесь, на этом изображении, подгонка дает мне синюю линию, которую я хочу использовать в качестве функции распределения вероятностей.

введите описание изображения здесь

 def fit(x,p1,p2):
    return (p1*x) (p2*(x**2))
  

Теперь я теоретически знаю, как создавать данные, которые следуют этой функции!

  • 1) вычислите функцию выбора в красном смещении из распределения красных смещений кластера (подобранная функция) и нормализуйте ее до единицы, чтобы получить распределение вероятностей, скажем, p (y)

  • 2) вычислите неопределенный интеграл распределения вероятностей F (y) = сумма (от 0 до y) p(y) dy

  • 3) выбросить случайное число, равномерно отклоняющее x от 0 до 1

  • 4) вычислить y = F-1 (x)

тогда «y» будет иметь желаемое распределение вероятностей p (y)

I am struggling to find a way to do it in Python. Is there a package that does the above??

Комментарии:

1. Какую часть вы не можете сделать? По большей части это просто математика.

2. @Veedrac Я выполнил только 1), то есть нашел функцию, которая, как я предполагаю, является моим распределением вероятностей. Я не знаю, как сделать 2,3,4!!

3. Вы не знаете, как интегрировать?

4. да, в основном точки 2,3 и 4!

5. Тогда я предлагаю курс исчисления … (?)

Ответ №1:

Вам следует взглянуть на стек SciPy. Он включает в себя отличные библиотеки для теории вероятностей и статистики, численного интегрирования и построения графиков.