SciPy scipy.stats.norm

Bhuwan Bhatt 30 janvier 2023
  1. Syntaxe de scipy.stats.norm() pour calculer la distribution binomiale :
  2. Exemples de codes : Calcul des valeurs de la fonction de distribution de probabilité (PDF) de valeurs données à l’aide de scipy.stats.norm
  3. Exemple de code : Calcul de la fonction de distribution cumulative (CDF) de la distribution à l’aide de scipy.stats.norm()
  4. Exemples de codes : Calcul des variables aléatoires (rv) de la distribution à l’aide de scipy.stats.norm()
SciPy scipy.stats.norm

L’objet Python Scipy scipy.stats.norm est utilisé pour analyser la distribution normale et calculer ses différentes valeurs de fonction de distribution en utilisant les différentes méthodes disponibles.

Syntaxe de scipy.stats.norm() pour calculer la distribution binomiale :

Sur la base des différentes méthodes utilisées, certains paramètres optimaux communs sont présentés ci-dessous :

scipy.stats.norm.method(x, loc, scale, size, moments)

Méthodes disponibles dans l’objet scipy.stats.norm()

norm.pdf() Renvoie un tableau à n dimensions. Il s’agit de la fonction de densité de probabilité calculée en x.
norm.cdf() Renvoie la probabilité cumulative pour chaque valeur de x.
norm.rvs() Renvoie les variables aléatoires.
norm.stats() Renvoie la moyenne, la variance, l’écart-type ou le kurtosis selon la définition de mvsk.
norm.logpdf() Retourne le log de la fonction de distribution de probabilité.
norm.median() Renvoie la médiane de la distribution normale.

Paramètres

x Comme un tableau. C’est l’ensemble des valeurs qui représentent l’échantillon de taille égale.
loc Paramètre d’emplacement. loc représente la valeur moyenne. Sa valeur par défaut est 0.
scale Paramètre d’échelle. scale représente l’écart type. Sa valeur par défaut est 1.
moments Il est utilisé pour calculer les statistiques, c’est-à-dire la moyenne, la variance, l’écart type et l’aplatissement. Sa valeur par défaut est mv.

Retourner

Il renvoie des valeurs selon les méthodes utilisées.

Exemples de codes : Calcul des valeurs de la fonction de distribution de probabilité (PDF) de valeurs données à l’aide de scipy.stats.norm

Nous pouvons utiliser la méthode scipy.stats.norm.pdf() pour générer la valeur de la fonction de distribution de probabilité (PDF) des observations données.

import numpy as np
import matplotlib.pyplot as plt
import scipy
from scipy import stats

x = np.linspace(-3, 3, 100)
pdf_result = stats.norm.pdf(x, loc=0, scale=1)

plt.plot(x, pdf_result)
plt.xlabel("x-data")
plt.ylabel("pdf_value")
plt.title("PDF of a Normal Distribution with mean=0 and sigma=1")
plt.show()

Production :

PDF d’une distribution normale avec moyenne=0 et sigma=1

Supposons que x représente les valeurs d’observation dont le PDF est à déterminer. Maintenant, nous calculons la fonction de distribution de probabilité (PDF) de chaque valeur dans le x et traçons la fonction de distribution à l’aide de Matplotlib.

Pour calculer la valeur de la fonction de densité de probabilité, nous devons connaître la moyenne et l’écart type de la distribution normale sous-jacente. Les valeurs de la moyenne et de l’écart type sont transmises comme paramètres loc et scale dans la méthode pdf, respectivement.

Dans l’exemple ci-dessus, nous calculons les valeurs pdf en supposant que la distribution sous-jacente a une valeur moyenne de 0 et une valeur d’écart-type de 1. Les observations proches de la moyenne ont une probabilité plus élevée. D’autre part, les valeurs éloignées de la moyenne ont moins de probabilité, comme le montre le graphique ci-dessus.

Exemples de codes : Définir les valeurs moyennes et d’écart type dans scipy.stats.norm

import numpy as np
import matplotlib.pyplot as plt
import scipy
from scipy import stats

x = np.linspace(-10, 10, 100)
pdf_result = stats.norm.pdf(x, loc=3, scale=2)

plt.plot(x, pdf_result)
plt.xlabel("x-data")
plt.ylabel("pdf_value")
plt.title("PDF of a Normal Distribution with mean=3 and sigma=2")
plt.show()

Production :

PDF d’une distribution normale avec moyenne=3 et sigma=2

C’est le tracé PDF d’une distribution normale avec une valeur moyenne 3 et une valeur sigma 2. Ainsi, les observations proches de 3 ont une probabilité plus élevée, tandis que celles éloignées de 3 ont une probabilité moindre.

Exemple de code : Calcul de la fonction de distribution cumulative (CDF) de la distribution à l’aide de scipy.stats.norm()

import numpy as np
import matplotlib.pyplot as plt
import scipy
from scipy import stats

x = np.linspace(-3, 3, 100)
cdf_values = stats.norm.cdf(x, loc=0, scale=1)

plt.plot(x, cdf_values)
plt.xlabel("x-data")
plt.ylabel("pdf_value")
plt.title("CDF of a Normal Distribution with mean=0 and sigma=1")
plt.show()

Production :

CDF d’une distribution normale avec mean = 3 et sigma = 2

C’est l’intégrale de pdf. Nous pouvons voir que le CDF de la distribution donnée est croissant. CDF nous montre que toute valeur tirée de la population aura une valeur de probabilité inférieure ou égale à une certaine valeur.

Exemple de code : Calcul de la valeur de la fonction de distribution cumulative (CDF) en un point à l’aide de scipy.stats.norm()

import numpy as np
import matplotlib.pyplot as plt
import scipy
from scipy import stats

x = 2
cdf_value = stats.norm.cdf(x, loc=0, scale=1)
print(
    "CDF Value of x=2 in normal distribution with mean 0 and standard deviation 1 is :"
    + str(cdf_value)
)

Production :

CDF Value of x=2 in normal distribution with mean 0 and standard deviation 1 is :0.9772498680518208.

Cela implique la probabilité d’occurrence d’une valeur inférieure ou égale à 2 alors que l’échantillonnage à partir d’une distribution normale avec mean = 0 et écart type 1 est : 0,977.

Exemples de codes : Calcul des variables aléatoires (rv) de la distribution à l’aide de scipy.stats.norm()

import numpy as np
import matplotlib.pyplot as plt
import scipy
from scipy.stats import norm

rvs_values = stats.norm.rvs(loc=5, scale=10, size=(5, 2))
print("The random generated value are\n", rvs_values)

Production :

The random generated value are
 [[ -8.38511257  16.81403567]
 [ 15.78217954  -8.92401338]
 [ 14.55202276  -0.6388562 ]
 [  2.19024898   3.75648045]
 [-10.95451165  -3.98232268]]

Ici, les valeurs rvs sont les variables générées aléatoirement échantillonnées à partir de la distribution normale avec une moyenne 5 et un écart-type 10. La taille spécifie la taille de la sortie du tableau.