Représentation graphique des distributions de probabilité

9.3 Représentation graphique des distributions de probabilité

Objectifs d'apprentissage

À la fin de cette section, vous devriez être en mesure de :

  • 9.3.1 Créer des graphiques pour visualiser la forme de divers types de distributions de probabilité.
  • 9.3.2 Interpréter les probabilités comme des aires sous les distributions de probabilité.
  • 9.3.3 Utiliser Python pour générer diverses visualisations de données pour les distributions de probabilité

Nous avons présenté les distributions de probabilité dans Distributions de probabilité discrètes et continues. Rappelez-vous que la loi binomiale et la loi de Poisson sont des exemples de distributions de probabilité discrètes, et que la loi normale est un exemple de distribution de probabilité continue. De plus, une variable aléatoire discrète (discrete random variable) est une variable aléatoire qui ne peut prendre qu'un nombre fini ou infini dénombrable de valeurs. Une variable aléatoire continue est une variable aléatoire qui peut prendre un nombre infini de valeurs.

Très souvent, un scientifique des données ou un chercheur s'intéresse à la représentation graphique de ces distributions de probabilité afin de visualiser la forme de la distribution et de mieux comprendre son comportement pour différentes valeurs de la variable aléatoire. Pour les distributions de probabilité continues, l'aire sous la fonction de densité de probabilité (PDF) (probability density function (PDF)) équivaut aux probabilités associées à la distribution de probabilité normale. La détermination des probabilités associées à une distribution de probabilité permet aux scientifiques des données de mesurer et de prédire des probabilités, ainsi que d'estimer la vraisemblance d'obtenir certains résultats. Ces probabilités constituent également la base d'analyses statistiques plus avancées, telles que la détermination d'intervalles de confiance et les tests d'hypothèses.

Représentation graphique de la loi binomiale

La loi binomiale (binomial distribution) est utilisée dans les applications où il existe deux issues possibles pour chaque épreuve d'une expérience, ces deux issues pouvant être considérées comme un succès ou un échec.

Les conditions nécessaires pour identifier une expérience binomiale et appliquer la loi binomiale comprennent les éléments suivants :

  • L'expérience d'intérêt est répétée pour un nombre fixe d'épreuves, et chaque épreuve est indépendante des autres épreuves.
  • Il n'y a que deux issues possibles pour chaque épreuve, qui peuvent être qualifiées de « succès » ou d'« échec ».
  • La probabilité de succès reste la même pour chaque épreuve de l'expérience.
  • La variable aléatoire x compte le nombre de succès dans l'expérience. Notez que puisque x compte le nombre de succès, cela implique que x est une variable aléatoire discrète.

Lorsqu'on travaille avec une expérience binomiale, il est utile d'identifier deux paramètres spécifiques dans une expérience binomiale :

  1. Le nombre d'épreuves dans l'expérience. Noté n.
  2. La probabilité de succès pour chaque épreuve (qui est une valeur constante). Notée p.

Nous comptons ensuite le nombre de succès d'intérêt comme la valeur de la variable aléatoire discrète. Noté x.

Distributions de probabilité discrètes et continues a présenté la formule de probabilité binomiale utilisée pour calculer les probabilités binomiales. Cependant, la plupart des scientifiques des données et des chercheurs utilisent des technologies telles que Python pour calculer les probabilités associées aux distributions de probabilité discrètes et continues, comme la loi binomiale et la loi normale.

Python fournit un certain nombre de fonctions intégrées pour calculer ces probabilités au sein de la bibliothèque scipy.stats.

La fonction binom() est la fonction de masse de probabilité utilisée pour calculer les probabilités associées à la loi binomiale. La syntaxe pour utiliser cette fonction est

binom.pmf(x, n, p)

Où :

n est le nombre d'épreuves dans l'expérience,

p est la probabilité de succès,

x est le nombre de succès dans l'expérience.

Les scientifiques des données s'intéressent à la représentation graphique des distributions discrètes telles que la loi binomiale afin d'aider à prédire la probabilité d'obtenir un certain nombre de succès pour un nombre donné d'épreuves avec une probabilité de succès spécifiée. Cela permet également de visualiser la forme de la loi binomiale lorsque des paramètres tels que n et p varient. Les variations de la valeur de la probabilité de succès peuvent modifier la forme de la distribution, comme le montre l'Exemple 9.7.

Exemple 9.7

Problème

Utilisez la fonction Python binom pour représenter graphiquement la loi binomiale pour n=20n=20 et trois valeurs différentes de pp, à savoir p=0.10,0.50p=0.10,0.50 et 0.850.85, et commentez les formes obtenues pour les distributions.

Solution

Pour créer un graphique de la loi binomiale, nous allons importer la fonction binom de la bibliothèque scipy.stats. Nous utiliserons ensuite la fonction bar pour créer un diagramme à barres des probabilités binomiales.

Voici le code Python et le graphique pour n=20n=20 et p=0.10p=0.10.

Remarque : Pour générer les graphiques pour p=0.5p=0.5 et p=0.85p=0.85, modifiez la ligne de code Python p=0.1p=0.1 selon les besoins.

Code Python

    import matplotlib.pyplot as plt
    import numpy as np
    from scipy.stats import binom
    
    # Define parameters for the binomial distribution where:
    # n is number of trials
    # p is the probability of success 
    n = 20   
    p = 0.1   
    
    # Generate values for x, which is the number of successes
    # Note that x can take on the value of zero since there can be
    # zero successes in a typical binomial experiment
    x = np.arange(0, n+1)
    
    # Calculate the probability mass function (PMF) for the binomial distribution
    probabilities = binom.pmf(x, n, p)
    
    # Plot the binomial distribution
    plt.bar(x, probabilities)
    
    # Add labels and title
    plt.xlabel('Number of Successes')
    plt.ylabel('Probability')
    plt.title('Binomial Distribution ($n = 20$, $p = 0.1$)')
    
    # Show the plot
    plt.show()
    

Le résultat obtenu ressemble à ceci :

Un diagramme à barres de la loi binomiale pour n = 20, p = 0,1. L'axe des X est étiqueté nombre de succès et s'étend de 0 à 20. L'axe des Y est étiqueté probabilité et s'étend de 0,00 à 0,25. Le graphique est asymétrique à droite.

Voici le graphique pour n=20n=20 et p=0.50p=0.50.

Un diagramme à barres de la loi binomiale pour n = 20, p = 0,5. L'axe des X est étiqueté nombre de succès et s'étend de 0 à 20. L'axe des Y est étiqueté probabilité et s'étend de 0,00 à 0,175. Le graphique est en forme de cloche, représentant une loi normale.

Voici le graphique pour n=20n=20 et p=0.85p=0.85.

Un diagramme à barres de la loi binomiale pour n = 20, p = 0,85. L'axe des X est étiqueté nombre de succès et s'étend de 0 à 20. L'axe des Y est étiqueté probabilité et s'étend de 0,00 à 0,25. Le graphique est asymétrique à gauche.

Remarquez l'impact de p sur la forme du graphique : pour p=0.1p=0.1, le graphique est asymétrique à droite, pour p=0.5p=0.5, le graphique ressemble à une distribution en cloche, et pour p=0.85p=0.85, le graphique est asymétrique à gauche.

Représentation graphique de la loi de Poisson

La loi de Poisson (Poisson distribution) est utilisée lorsque l'on compte le nombre d'occurrences dans un certain intervalle. La variable aléatoire compte alors le nombre d'occurrences dans cet intervalle.

La loi de Poisson est utilisée dans les situations où l'on s'intéresse à un certain nombre spécifique d'occurrences d'une variable aléatoire dans un intervalle donné, comme une durée ou une surface.

Rappelez-vous, d'après Distributions de probabilité discrètes et continues, que la loi de Poisson est utilisée lorsque les conditions suivantes sont remplies :

  • L'expérience repose sur le décompte du nombre d'occurrences dans un intervalle spécifique, où l'intervalle peut représenter le temps, une surface, un volume, etc.
  • Le nombre d'occurrences dans un intervalle spécifique est indépendant du nombre d'occurrences dans un intervalle différent.

Notez que lorsque nous comptons le nombre d'occurrences d'une variable aléatoire x dans un intervalle spécifique, celle-ci représente une variable aléatoire discrète.

À l'instar de la fonction binom() de la bibliothèque scipy.stats, Python fournit également la fonction poisson() pour calculer les probabilités associées à la loi de Poisson.

La syntaxe pour utiliser cette fonction est :

poisson.pmf(x, mu)

Où :

mu est la moyenne de la loi de Poisson (mu fait référence à la lettre grecque μμ).

x est le nombre de succès dans l'intervalle d'intérêt spécifique.

Exemple 9.8

Problème

Le port de Miami accueille de nombreuses compagnies de croisière et est généralement très encombré par les navires de croisière à l'arrivée. Les retards sont fréquents car les postes d'amarrage ne sont généralement pas en nombre suffisant pour accueillir tous les navires arrivants. Un scientifique des données s'intéresse à cette situation et constate qu'en moyenne, 3 navires arrivent chaque heure au port. Supposons que les heures d'arrivée soient indépendantes les unes des autres.

Utilisez la fonction Python poisson pour représenter graphiquement la loi de Poisson pour n=12n=12 heures et une moyenne μμ de 3 navires par heure.

En vous basant sur le graphique, tirez une conclusion concernant le nombre de navires arrivant par heure.

Solution

Pour créer un graphique de la loi de Poisson, nous allons importer la fonction poisson de la bibliothèque scipy.stats. Nous utiliserons ensuite la fonction bar pour créer un diagramme à barres des probabilités de Poisson correspondantes.

Voici le code Python et le graphique pour n=12n=12 et une moyenne (μμ) de 3.

Code Python

    import matplotlib.pyplot as plt
    from scipy.stats import poisson
    
    # Define the mean for the Poisson distribution 
    # this is the average number of ships arriving per hour
    mu = 3   
    
    # Generate x values (number of ships arriving per hour)
    x = np.arange(0, 12)
    
    # Calculate the probability mass function (PMF) for the Poisson distribution
    probabilities = poisson.pmf(x, mu)
    
    # Plot the Poisson distribution
    plt.bar(x, probabilities)
    
    # Add labels and title
    plt.xlabel('Number of Occurrences')
    plt.ylabel('Probability')
    plt.title('Poisson Distribution ($\mu$ = 3)')
    
    # Show the plot
    plt.show()
    

Le résultat obtenu ressemble à ceci :

Un diagramme à barres de la loi de Poisson pour une moyenne de 3. L'axe des X est étiqueté nombre d'occurrences et s'étend de 0 à 10. L'axe des Y est étiqueté probabilité et s'étend de 0,00 à 0,20. Le graphique est asymétrique à droite.

D'après le graphique, les probabilités sont plus faibles pour x=7x=7 et au-delà. Il y a donc peu de chances que 7 navires ou plus arrivent au cours d'une période d'une heure. Les administrateurs du port de Miami devraient prévoir 6 navires ou moins par heure afin de couvrir les scénarios les plus probables.

Représentation graphique de la loi normale

La loi normale abordée dans Distributions de probabilité discrètes et continues est l'une des distributions les plus importantes en science des données et en analyse statistique. Cette distribution continue est particulièrement importante en analyse statistique dans la mesure où de nombreuses mesures dans la nature, les sciences, l'ingénierie, la médecine et les affaires suivent une loi normale. La loi normale constitue également la base d'analyses statistiques plus avancées telles que les intervalles de confiance et les tests d'hypothèses abordés dans Test d'hypothèses.

La loi normale est en forme de cloche et possède deux paramètres : la moyenne, μμ, et l'écart type, σσ. La moyenne représente le centre de la distribution, et l'écart type mesure l'étalement ou la dispersion de la distribution. La variable x représente la réalisation ou la valeur observée de la variable aléatoire X qui suit une loi normale.

Le graphique de la courbe normale est symétrique par rapport à la moyenne μμ. La forme du graphique de la loi normale dépend uniquement de la moyenne et de l'écart type. Comme l'aire sous la courbe doit être égale à 1, une modification de l'écart type, σσ, entraîne une modification de la forme de la courbe normale ; la courbe devient plus aplatie et plus large ou plus étroite et plus haute selon l'écart type μμ. Une modification de la moyenne σσ déplace le graphique vers la gauche ou vers la droite. Pour déterminer les probabilités associées à la loi normale, nous calculons des aires spécifiques sous la courbe normale dans certains intervalles de la variable aléatoire.

Pour générer un graphique de la loi normale, nous pouvons tracer de nombreux points situés sur la courbe normale conformément à la définition formelle de la fonction de densité de probabilité (PDF) (probability density function (PDF)) de la loi normale, comme suit :

f(x)=1σ√2πe−(x−μ)22σ2f(x)=1σ√2πe−(x−μ)22σ2

Bien entendu, c'est une tâche confiée à Python, et le code Python permettant de générer un graphique de la loi normale est présenté dans l'Exemple 9.9.

Exemple 9.9

Problème

Un chercheur en médecine étudie des médicaments antihypertenseurs et souhaite créer un graphique des pressions artérielles systoliques. Supposons que la pression artérielle suive une loi normale de moyenne 120 et d'écart type 20. Utilisez Python pour créer un graphique de cette loi normale.

Solution

Pour créer un graphique de la loi normale, nous allons tracer un grand nombre de points de données (par exemple 1 000 points), et les valeurs de x iront de μ−3σμ−3σ à μ+3σμ+3σ. Rappelez-vous la discussion dans Distributions de probabilité discrètes et continues concernant la règle empirique selon laquelle environ 99,7 % des valeurs de x se situent entre −3σ−3σ et +3σ+3σ unités de la moyenne μμ (c'est-à-dire à moins de trois écarts types de la moyenne). En Python, nous pouvons utiliser la fonction np.linspace pour créer des points régulièrement espacés entre une borne inférieure et une borne supérieure. Nous pouvons ensuite utiliser la fonction plot pour tracer les points (x,y)(x,y) correspondant à la fonction de densité normale. Remarque : Nous avons également besoin de la bibliothèque numpy pour calculer des fonctions numériques telles que la racine carrée.

Code Python

    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.stats import norm
    
    # Define mean mu and standard deviation sigma for the normal distribution
    mu = 120    
    sigma = 20   
    
    # Generate data points from the normal distribution
    
    # Use np.linspace to generate 1,000 evenly spaced points 
    # These points will extend from mu - 3sigma to mu+3sigma bounds
    x = np.linspace(mu - 3*sigma, mu + 3*sigma, 1000)  
    
    # Calculate values of the normal density function using norm.pdf function
    y = norm.pdf(x,mu,sigma)
    
    # Plot the normal distribution
    plt.plot(x, y)
    
    # Add labels and title
    plt.xlabel('Blood Pressure')
    plt.ylabel('Probability Density')
    plt.title('Normal Distribution for Blood Pressure')
    
    # Show the plot
    plt.show()
    

Le résultat obtenu ressemble à ceci :

Un graphique linéaire de la loi normale pour la pression artérielle. L'axe des X est étiqueté pression artérielle et s'étend de 60 à 180. L'axe des Y est étiqueté densité de probabilité et s'étend de 0,0000 à 0,0200. Le graphique est en forme de cloche, représentant une loi normale avec un pic de densité de probabilité de 0,0200 à 120.