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 ()

Gere uma distribuição normal em Python

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.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *