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

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() 함수를 사용하여 데이터를 생성했기 때문에 이 결과는 놀라운 일이 아닙니다.