Я хотел бы получить значения из однородного распределения, которое наклонено вместо стандартного равномерного распределения, которое выдает значения из прямой плоской линии наклона = 0. Чтобы быть более конкретным, я бы хотел для получения значений из функции распределения наклона, РИСУНОК 2 НИЖЕ. Я знаю, что для первого, я мог бы использовать numpy.random.uniform (начальный, окончательный). Как я могу сделать это для наклонного распространения? Я знаю, что умножение «наклона» или коэффициента масштабирования на значения из numpy.random.uniform не математически означает, что значения вытягиваются из наклонного распределения. Я понимаю, что это могло бы иметь какое-то отношение к изменению способа взвешивания каждого выведенного значения. источник: http://www.itl.nist.gov/div898/handbook/eda/section3/eda3662.htm Пожалуйста, помогите! Наклонное равномерное распределение python
0
A
ответ
0
Вы могли бы попробовать создать свой собственный PDF с stats.rv_continuous
.
Here это ответ, который может вам помочь.
Некоторый код:
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import scipy.stats
class linear(scipy.stats.rv_continuous):
def _cdf(self, x):
return x**2
distrib = linear(a=0, b=1.0)
d = distrib.rvs(size=10000)
fig, ax = plt.subplots(1, 1)
ax.hist(d, normed=True, histtype='stepfilled', alpha=0.2, bins=100)
plt.show()
Гистограмма случайных выборок распределения:
1
Вы можете использовать inverse transform sampling для этой проблемы.
Посмотрим на простое распределение склонов, которое будет генерировать [0; 1] числа s.t. f(0) = 0
и f(1) = 2
, 2
происходит от нормализации F(x)
, то есть F(1) = P(x <= 1) = 1
по определению вероятности.
Согласно обратному преобразованию метод выборки, чтобы получить случайную величину необходимого распределения вам необходимо подключить равномерно распределенную случайную величину вместо Y в последнее уравнение. Давайте проверим, что:
In [61]: y = np.random.rand(10000)
In [62]: x = np.sqrt(y)
In [63]: plt.hist(x, bins=100)
Вы искажая эти графики. Они имеют одинаковое равномерное распределение. Последний график - это просто кумулятивная функция распределения однородного распределения, которая является интегралом функции распределения вероятности. –
@ RobertKern верен. Нет такого понятия, как наклонное равномерное распределение. Существуют треугольные распределения (которые immerrr дал ответ для) и трапециевидные распределения, является одним из тех, что вы хотите? – pjs