J'ai des données distribuées géométriquement. Quand je veux y jeter un coup d'oeil, j'utilise
sns.distplot(data, kde=False, norm_hist=True, bins=100)
qui résulte est une image :
Cependant, la hauteur des bacs n'est pas égale à 1, ce qui signifie que l'axe des ordonnées ne montre pas la probabilité, mais quelque chose de différent. Si à la place nous utilisons
weights = np.ones_like(np.array(data))/float(len(np.array(data)))
plt.hist(data, weights=weights, bins = 100)
l'axe des y indique la probabilité, la somme des hauteurs des bacs étant égale à 1 :
On peut le voir plus clairement ici : supposons que nous ayons une liste
l = [1, 3, 2, 1, 3]
Nous avons deux 1, deux 3 et un 2, donc leurs probabilités respectives sont 2/5, 2/5 et 1/5. Lorsque nous utilisons le histplot de Seaborn avec 3 bins :
sns.distplot(l, kde=False, norm_hist=True, bins=3)
on obtient :
Comme vous pouvez le voir, la somme de la première et de la troisième case est de 0,6+0,6=1,2, ce qui est déjà supérieur à 1. L'axe des y n'est donc pas une probabilité. Lorsque nous utilisons
weights = np.ones_like(np.array(l))/float(len(np.array(l)))
plt.hist(l, weights=weights, bins = 3)
on obtient :
et l'axe des y est la probabilité, puisque 0,4+0,4+0,2=1 comme prévu.
Le nombre de bacs dans ces deux cas est le même pour les deux méthodes utilisées dans chaque cas : 100 bins pour des données géométriquement distribuées, 3 bins pour un petit tableau l avec 3 valeurs possibles. La quantité de bins n'est donc pas le problème.
Ma question est la suivante : Dans le distplot de Seaborn appelé avec norm_hist=True, quelle est la signification de l'axe y ?