본문 바로가기

3. FAQ (지식in, 엑셀위키)

[함수] 특정 평균/표준편차 값을 만족하는 정규분포 난수 목록을 만들기

난수를 생성하고 싶은데, 특정 평균과 표준편차를 만족하는 정규분포 형태로 난수를 만들려면 어떻게 하면 좋을까요?

 - 만들어진 난수의 평균이 6이고 표준편차가 2이고 싶을때입니다.

 - 어렵습니다!

정규분포는 이런거(라고한)다. 필자도 통계를 잘 몰라 자세한 설명은 패스.

 

특정 평균/표준편차를 만족하는 난수의 목록

1. 우선 정규분포에 (평균0, 분산1) 해당하는 난수목록은 RAND() 함수를 통해 만들 수 있습니다.

2. 이 값이 특정 정규분포에서 가질 확률은 NORM.INV() 함수를 통해 구할 수 있습니다.

3. 이를 이용하여 아래와 같은 난수 목록을 만듭니다.

=NORM.INV(RAND(),$B$1,$B$2)
[수식 설명]
NORM.INV(RAND(),8,3) = 평균이 8이고 표준편차가 3인 정규분포에서 RAND()의 하위분포에 속할 확률

 

4. 난수를 만들고 나면, 이 난수의 평균과 표준편차를 구합니다.

=AVERAGE($A$5:$A$21)
=STDEV.P($A$5:$A$21)
[수식 설명]
AVERAGE($A$5:$A$21) = 해당 범위의 평균
STDEV.P($A$5:$A$21) = 해당 범위의 표준편차 (STDEV.P냐 S냐는 본 포스트에서는 중요하지 않습니다)

 

5. 이제 생성된 난수들에 대해서, 아래의 수식을 적용합니다.

=$B$1+(A5-$B$23)*$B$2/$B$24
[수식 설명]
$B$1+(A5-$B$23)*$B$2/$B$24 = 평균 + (결과값 - 결과평균) * 표준편차 / 결과표준편차

 

6. 변환된 난수의 평균과 표준편차를 구하면 목표한 값으로 나온것을 확인할 수 있습니다.

 

특정 평균,표준편차 값을 만족하는 정규분포 난수 목록을 만들기.xlsx
0.01MB

참고: ExtendOffice, Generate Random Number By Given Certain Mean And Standard Deviation In Excel