Matplotlib: Como converter um histograma em uma função de massa de probabilidade discreta?
Eu tenho uma pergunta sobre a função hist () com matplotlib.
Estou escrevendo um código para traçar um histograma de dados cujo valor varia de 0 a 1. Por exemplo:
values = [0.21, 0.51, 0.41, 0.21, 0.81, 0.99]
bins = np.arange(0, 1.1, 0.1)
a, b, c = plt.hist(values, bins=bins, normed=0)
plt.show()
O código acima gera um histograma correto (não consegui postar uma imagem, pois não tenho reputação suficiente). Em termos de frequências, parece que:
[0 0 2 0 1 1 0 0 1 1]
Eu gostaria de converter essa saída para uma função de massa de probabilidade discreta, ou seja, para o exemplo acima, eu gostaria de obter os seguintes valores de frequência:
[ 0. 0. 0.333333333 0. 0.166666667 0.166666667 0. 0. 0.166666667 0.166666667 ] # each item in the previous array divided by 6)
Eu pensei que eu simplesmente precisava mudar o parâmetro na função hist () para 'normalizado = 1'. No entanto, recebo as seguintes frequências do histograma:
[ 0. 0. 3.33333333 0. 1.66666667 1.66666667 0. 0. 1.66666667 1.66666667 ]
Isso não é o que eu espero e não sei como obter a função de massa de probabilidade discreta cuja soma deve ser 1.0. Uma pergunta semelhante foi feita no seguinte link (link para a pergunta), mas eu não acho que a questão foi resolvida.
Agradeço por sua ajuda antecipadamente.