Python에서 정규 분포를 생성하는 방법(예제 포함)


다음 구문을 사용하는 numpy.random.normal() 함수를 사용하면 Python에서 정규 분포를 빠르게 생성할 수 있습니다.

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

금:

  • loc: 분포의 평균입니다. 기본값은 0입니다.
  • 규모: 분포의 표준 편차. 기본값은 1입니다.
  • 크기: 샘플 크기.

이 튜토리얼에서는 이 함수를 사용하여 Python에서 정규 분포를 생성하는 예를 보여줍니다.

관련 항목: Python에서 종형 곡선을 만드는 방법

예: Python에서 정규분포 생성

다음 코드는 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])

이 분포의 평균과 표준편차를 빠르게 찾을 수 있습니다.

 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

데이터 값의 분포를 시각화하기 위해 빠른 히스토그램을 만들 수도 있습니다.

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

Python에서 정규분포 생성

Shapiro-Wilk 테스트를 수행하여 데이터 세트가 정규 모집단에서 나온 것인지 확인할 수도 있습니다.

 from scipy. stats import shapiro

#perform Shapiro-Wilk test
shapiro(data)

ShapiroResult(statistic=0.9958659410, pvalue=0.8669294714)

테스트의 p-값은 0.8669 로 나타났습니다. 이 값은 0.05 이상이므로 표본 데이터가 정규 분포 모집단에서 나온 것이라고 가정할 수 있습니다.

정규 분포에서 무작위 데이터 샘플을 생성하는 numpy.random.normal() 함수를 사용하여 데이터를 생성했기 때문에 이 결과는 놀라운 일이 아닙니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다