Накопительная функция распределения через plt.hist () - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть данные, и я хочу построить эмпирическую интегральную функцию распределения.Я взял код с официального сайта matplotlib .Они используют гистограмму для построения пошаговой функции.

data = np.array([5, 8, 5, 9, 10, 15, 7, 12, 19, 21, 7, 10, 11,
    13, 18, 20, 20, 14, 15, 15, 21, 3, 8, 13, 14, 14, 15,
    14, 17, 24, 22, 28, 24, 22, 25, 16, 21, 24, 18, 20])

hist_cum, bin_edges, patches = plt.hist(data, bins='sturges', density=True,
                                         histtype='step',cumulative=True)

Вывод: гистограмма

Проблема в том, что в данных есть один «28».Формула говорит F (x) = P {X

Я не могу понять, как это исправить.

1 Ответ

0 голосов
/ 14 декабря 2018

Пара вещей.Во-первых, я думаю, что ваше понимание CDF шатко.График CDF равен 1,0 для всех X> max (ваши данные) для эмпирического распределения.Правильно?Вероятность того, что случайная выборка из этого распределения, X меньше, чем конкретная точка, x, находящаяся в стороне от верхней части графика, равна 1,0.

Тем не менее, я думаю, что вы хотите сделать, этоконтролировать пределы оси вашего графика.Попробуйте поработать с этими командами перед рендерингом графика:

plt.xlim(0, 28)
plt.xticks(np.arange(0,30,2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...