web-dev-qa-db-fra.com

Quel est l’axe des ordonnées dans le distplot marin?

J'ai des données distribuées géométriquement. Quand je veux jeter un coup d'oeil, j'utilise

sns.distplot(data, kde=False, norm_hist=True, bins=100)

le résultat est une image:

Plot 1a

Cependant, la hauteur des bacs ne correspond pas à 1, ce qui signifie que l'axe des ordonnées ne montre pas la probabilité, c'est 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:

Plot 1b

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, leurs probabilités respectives sont donc 2/5, 2/5 et 1/5. Lorsque nous utilisons un histplot Seaborn avec 3 bacs:

sns.distplot(l, kde=False, norm_hist=True, bins=3)

on a:

Plot 2a

Comme vous pouvez le constater, le premier et le troisième bin totalisent 0,6 + 0,6 = 1,2, ce qui est déjà supérieur à 1; l'axe des ordonnées n'est donc pas une probabilité. Quand on utilise

weights = np.ones_like(np.array(l))/float(len(np.array(l)))
plt.hist(l, weights=weights, bins = 3)

on a:

enter image description here

et l’axe des y est la probabilité, comme 0,4 + 0,4 + 0,2 = 1 comme prévu.

La quantité de bacs dans ces 2 cas est la même pour les deux méthodes utilisées: 100 bacs pour les données distribuées géométriquement, 3 bacs pour un petit tableau l avec 3 valeurs possibles. Le montant des bacs n’est donc pas le problème.

Ma question est la suivante: dans le portage maritime appelé avec norm_hist = True, quelle est la signification de l’axe des y?

26
Mister Twister

De la documentation :

norm_hist : bool, optionnel

Si True, la hauteur de l'histogramme indique une densité plutôt qu'un nombre. Ceci est impliqué si une densité KDE ou ajustée est tracée.

Vous devez donc également prendre en compte la largeur de votre corbeille, c’est-à-dire calculer l’aire sous la courbe et pas seulement la somme de leurs hauteurs.

15
IonicSolutions

L'axe des x est la valeur de la variable, comme dans un histogramme, mais que représente exactement l'axe des y?

ANS -> L'axe des ordonnées dans un graphe de densité est la fonction de densité de probabilité pour l'estimation de la densité du noyau. Cependant, nous devons prendre soin de préciser qu'il s'agit d'une densité de probabilité et non d'une probabilité. La différence est la densité de probabilité est la probabilité par unité sur l'axe des x. Pour convertir en probabilité réelle, nous devons trouver l'aire sous la courbe pour un intervalle spécifique sur l'axe des x. De manière quelque peu déroutante, puisqu'il s'agit d'une densité de probabilité et non d'une probabilité, l'axe des ordonnées peut prendre des valeurs supérieures à un. La seule exigence du diagramme de densité est que l’aire totale sous la courbe s’intègre à un. J'ai généralement tendance à considérer l'axe des ordonnées sur un graphique de densité comme une valeur uniquement pour les comparaisons relatives entre différentes catégories.

à partir de la référence de https://towardsdatascience.com/histograms-and-density-plots-in-python-f6bda88f5ac

0
Prasann Barot