Ниже приведены данные, для которых я хочу построить PDF. https://gist.github.com/ecenm/cbbdcea724e199dc60fe4a38b7791eb8#file-64_general-outФункция плотности вероятности для набора значений с использованием numpy
Ниже приведен сценарий
import numpy as np
import matplotlib.pyplot as plt
import pylab
data = np.loadtxt('64_general.out')
H,X1 = np.histogram(data, bins = 10, normed = True, density = True) # Is this the right way to get the PDF ?
plt.xlabel('Latency')
plt.ylabel('PDF')
plt.title('PDF of latency values')
plt.plot(X1[1:], H)
plt.show()
Когда я сюжет выше, я получаю следующее.
- ли выше правильный способ расчета PDF из диапазона значений
- Есть ли другой способ, чтобы подтвердить, что результаты, которые я получаю фактический PDF. Например, как показать область в формате pdf = 1 для моего случая.
Ваши данные сделаны только с целыми числами. Является ли это дискретной или непрерывной переменной? Также учтите, что PDF является «функцией плотности вероятности». Это означает, что для разреженных данных вы интерпретируете «PDF», а не получаете их. Таким образом, в зависимости от ваших данных, 100 бинов будут бить 10 с точки зрения аппроксимации (это пример, не принимайте цифры буквально). – armatita
Спасибо за информацию, мои данные дискретные. Я не понял твое последнее предложение. Не могли бы вы объяснить больше? – user2532296
Если это дискретная переменная, вы, вероятно, ищете [PMF] (https://en.wikipedia.org/wiki/Probability_mass_function), и мой последний комментарий не будет применяться. Вы все равно можете использовать функцию гистограммы, но вам нужно учитывать, что каждый бит должен соответствовать уникальному значению. Посмотрите, поможет ли вам ответ в этом вопросе (http://stackoverflow.com/questions/30889444/python-matplotlib-probability-mass-function-as-histogram). – armatita