Python'da normal dağılım nasıl oluşturulur (örneklerle)


Aşağıdaki sözdizimini kullanan numpy.random.normal() işlevini kullanarak Python’da hızlı bir şekilde normal dağılım oluşturabilirsiniz:

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

Altın:

  • loc: Dağılımın ortalaması. Varsayılan değer 0’dır.
  • ölçek: Dağılımın standart sapması. Varsayılan değer 1’dir.
  • boyut: örnek boyutu.

Bu eğitimde Python’da normal bir dağılım oluşturmak için bu işlevin kullanımına ilişkin bir örnek gösterilmektedir.

İlgili: Python’da Çan Eğrisi Nasıl Oluşturulur

Örnek: Python’da Normal Dağılım Oluşturma

Aşağıdaki kod Python’da normal dağılımın nasıl oluşturulacağını gösterir:

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

Bu dağılımın ortalamasını ve standart sapmasını hızlı bir şekilde bulabiliriz:

 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

Veri değerlerinin dağılımını görselleştirmek için hızlı bir histogram da oluşturabiliriz:

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

Python'da Normal Dağılım Oluşturma

Veri setinin normal bir popülasyondan gelip gelmediğini görmek için Shapiro-Wilk testi bile yapabiliriz:

 from scipy. stats import shapiro

#perform Shapiro-Wilk test
shapiro(data)

ShapiroResult(statistic=0.9958659410, pvalue=0.8669294714)

Testin p değeri 0,8669 olarak çıkıyor. Bu değer 0,05’ten küçük olmadığından örnek verilerin normal dağılıma sahip bir evrenden geldiğini varsayabiliriz.

Verileri normal dağılımdan rastgele bir veri örneği üreten numpy.random.normal() işlevini kullanarak oluşturduğumuz için bu sonuç şaşırtıcı olmamalıdır.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir