Como gerar uma distribuição normal em python (com exemplos)
Você pode gerar rapidamente uma distribuição normal em Python usando a função numpy.random.normal() , que usa a seguinte sintaxe:
numpy. random . normal (loc=0.0, scale=1.0, size=None)
Ouro:
- loc: Média da distribuição. O valor padrão é 0.
- escala: Desvio padrão da distribuição. O valor padrão é 1.
- tamanho: tamanho da amostra.
Este tutorial mostra um exemplo de uso desta função para gerar uma distribuição normal em Python.
Relacionado:Como criar uma curva em forma de sino em Python
Exemplo: Gerando uma Distribuição Normal em Python
O código a seguir mostra como gerar uma distribuição normal em 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])
Podemos encontrar rapidamente a média e o desvio padrão desta distribuição:
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
Também podemos criar um histograma rápido para visualizar a distribuição dos valores dos dados:
import matplotlib. pyplot as plt
count, bins, ignored = plt. hist (data, 30)
plt. show ()
Podemos até realizar um teste de Shapiro-Wilk para ver se o conjunto de dados vem de uma população normal:
from scipy. stats import shapiro
#perform Shapiro-Wilk test
shapiro(data)
ShapiroResult(statistic=0.9958659410, pvalue=0.8669294714)
O valor p do teste acabou sendo 0,8669 . Como este valor não é inferior a 0,05, podemos assumir que os dados amostrais provêm de uma população normalmente distribuída.
Este resultado não deve ser surpreendente, pois geramos os dados usando a função numpy.random.normal() , que gera uma amostra aleatória de dados de uma distribuição normal.