Comment générer une distribution normale en Python (avec exemples)



Vous pouvez générer rapidement unedistribution normale en Python en utilisant la fonction numpy.random.normal() , qui utilise la syntaxe suivante :

numpy.random.normal(loc=0.0, scale=1.0, size=None)

où:

  • loc : Moyenne de la distribution. La valeur par défaut est 0.
  • échelle : Écart type de la distribution. La valeur par défaut est 1.
  • taille : taille de l’échantillon.

Ce didacticiel montre un exemple d’utilisation de cette fonction pour générer une distribution normale en Python.

Connexe :Comment créer une courbe en cloche en Python

Exemple : générer une distribution normale en Python

Le code suivant montre comment générer une distribution normale en Python :

from numpy.random import seed
from numpy.random import normal

#make this example reproducible
seed(1)

#generate sample of 200 values that follow a normal distribution 
data = normal(loc=0, scale=1, size=200)

#view first six values
data[0:5]

array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862,  0.86540763])

On peut trouver rapidement la moyenne et l’écart type de cette distribution :

import numpy as np

#find mean of sample
np.mean(data)

0.1066888148479486

#find standard deviation of sample
np.std(data, ddof=1)

0.9123296653173484

Nous pouvons également créer un histogramme rapide pour visualiser la distribution des valeurs des données :

import matplotlib.pyplot as plt
count, bins, ignored = plt.hist(data, 30)
plt.show()

Générer une distribution normale en Python

Nous pouvons même effectuer un test de Shapiro-Wilk pour voir si l’ensemble de données provient d’une population normale :

from scipy.stats import shapiro

#perform Shapiro-Wilk test
shapiro(data)

ShapiroResult(statistic=0.9958659410, pvalue=0.8669294714)

La valeur p du test s’avère être de 0,8669 . Puisque cette valeur n’est pas inférieure à 0,05, nous pouvons supposer que les données de l’échantillon proviennent d’une population normalement distribuée.

Ce résultat ne devrait pas être surprenant puisque nous avons généré les données à l’aide de la fonction numpy.random.normal() , qui génère un échantillon aléatoire de données provenant d’une distribution normale.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *