#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. Он включает в себя отличные библиотеки для теории вероятностей и статистики, численного интегрирования и построения графиков.