Come generare una distribuzione normale in python (con esempi)
Puoi generare rapidamente una distribuzione normale in Python utilizzando la funzione numpy.random.normal() , che utilizza la seguente sintassi:
numpy. random . normal (loc=0.0, scale=1.0, size=None)
Oro:
- loc: Media della distribuzione. Il valore predefinito è 0.
- scala: deviazione standard della distribuzione. Il valore predefinito è 1.
- dimensione: dimensione del campione.
Questo tutorial mostra un esempio di utilizzo di questa funzione per generare una distribuzione normale in Python.
Correlati: Come creare una curva a campana in Python
Esempio: generazione di una distribuzione normale in Python
Il codice seguente mostra come generare una distribuzione normale in 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])
Possiamo trovare rapidamente la media e la deviazione standard di questa distribuzione:
import numpy as np
#find mean of sample
n.p. mean (data)
0.1066888148479486
#find standard deviation of sample
n.p. std (data, ddof= 1 )
0.9123296653173484
Possiamo anche creare un rapido istogramma per visualizzare la distribuzione dei valori dei dati:
import matplotlib. pyplot as plt
count, bins, ignored = plt. hist (data, 30)
plt. show ()
Possiamo anche eseguire un test di Shapiro-Wilk per vedere se il set di dati proviene da una popolazione normale:
from scipy. stats import shapiro
#perform Shapiro-Wilk test
shapiro(data)
ShapiroResult(statistic=0.9958659410, pvalue=0.8669294714)
Il valore p del test risulta essere 0,8669 . Poiché questo valore non è inferiore a 0,05, possiamo supporre che i dati del campione provengano da una popolazione distribuita normalmente.
Questo risultato non dovrebbe sorprendere poiché abbiamo generato i dati utilizzando la funzione numpy.random.normal() , che genera un campione casuale di dati da una distribuzione normale.