작성자: admin 작성일시: 2016-10-01 21:26:32 조회수: 202 다운로드: 39
카테고리: 기초 수학 태그목록:

가우시안 정규 분포

가우시안 정규 분포(Gaussian normal distribution), 혹은 그냥 간단히 정규 분포라고 부르는 분포는 자연 현상에서 나타나는 숫자를 확률 모형으로 모형화할 때 가장 많이 사용되는 확률 모형이다.

정규 분포는 평균 $\mu$와 분산 $\sigma^2$ 이라는 두 개의 모수만으로 정의되며 확률 밀도 함수(pdf: probability density function)는 다음과 같은 수식을 가진다.

$$ \mathcal{N}(x; \mu, \sigma^2) = \dfrac{1}{\sqrt{2\pi\sigma^2}} \exp \left(-\dfrac{(x-\mu)^2}{2\sigma^2}\right) $$

정규 분포 중에서도 평균이 0 이고 분산이 1 인 ($\mu=0$, $\sigma^2=1$) 정규 분포를 표준 정규 분포(standard normal distribution)라고 한다.

정규 분포의 시뮬레이션

기댓값이 0이고 표준편차가 1인 표준 정규분포를 시뮬레이션한다. 각각 mean, sd 인수로 모수를 설정한다.

In [1]:
mu <- 0
std <- 1

dnorm 명령을 사용하면 확률 밀도 함수(pdf: probability density function)를 계산할 수 있다.

In [4]:
xx <- seq(-5, 5, length=100)
plot(xx, dnorm(xx, mean=mu, sd=std), type="l",
     xlab="x", ylab="p(x)", main="pdf of normal distribution")

시뮬레이션을 통해 샘플을 얻으려면 rnorm 메서드를 사용한다.

In [5]:
set.seed(0)
x <- rnorm(100, mean=mu, sd=std)
x
  1. 1.26295428488079
  2. -0.326233360705649
  3. 1.3297992629225
  4. 1.2724293214294
  5. 0.414641434456408
  6. -1.53995004190371
  7. -0.928567034713538
  8. -0.29472044679056
  9. -0.00576717274753696
  10. 2.40465338885795
  11. 0.76359346114046
  12. -0.799009248989368
  13. -1.14765700923635
  14. -0.289461573688223
  15. -0.299215117897316
  16. -0.411510832795067
  17. 0.252223448156132
  18. -0.891921127284569
  19. 0.435683299355719
  20. -1.23753842192996
  21. -0.224267885278309
  22. 0.377395645981701
  23. 0.133336360814841
  24. 0.804189509744908
  25. -0.0571067743838088
  26. 0.503607972233726
  27. 1.08576936214569
  28. -0.69095383969683
  29. -1.28459935387219
  30. 0.046726172188352
  31. -0.235706556439501
  32. -0.542888255010254
  33. -0.433310317456782
  34. -0.649471646796233
  35. 0.726750747385451
  36. 1.1519117540872
  37. 0.992160365445798
  38. -0.429513109491881
  39. 1.23830410085338
  40. -0.279346281854269
  41. 1.75790308981071
  42. 0.560746090888056
  43. -0.452783972553158
  44. -0.832043296117832
  45. -1.16657054708471
  46. -1.0655905803883
  47. -1.563782051071
  48. 1.15653699715018
  49. 0.83204712857239
  50. -0.227328691424755
  51. 0.266137361672105
  52. -0.376702718583628
  53. 2.44136462889459
  54. -0.795339117255372
  55. -0.0548774737115786
  56. 0.250141322854153
  57. 0.618243293566247
  58. -0.172623502645857
  59. -2.22390027400994
  60. -1.26361438497058
  61. 0.358728895971352
  62. -0.0110454784656636
  63. -0.940649162618608
  64. -0.115825322156954
  65. -0.814968708869917
  66. 0.242263480859686
  67. -1.4250983947325
  68. 0.36594112304922
  69. 0.248412648872596
  70. 0.0652881816716207
  71. 0.0191563916602738
  72. 0.257338377155533
  73. -0.649010077708898
  74. -0.119168762418038
  75. 0.66413569989411
  76. 1.10096910219409
  77. 0.14377148075807
  78. -0.117753598165951
  79. -0.912068366948338
  80. -1.43758624082998
  81. -0.797089525071965
  82. 1.25408310644997
  83. 0.77214218580453
  84. -0.21951562675344
  85. -0.424810283377287
  86. -0.418980099421959
  87. 0.996986860909106
  88. -0.275778029088027
  89. 1.2560188173061
  90. 0.646674390495345
  91. 1.29931230256343
  92. -0.873262111744435
  93. 0.00837095999603331
  94. -0.880871723252545
  95. 0.59625901661066
  96. 0.119717641289537
  97. -0.282173877322451
  98. 1.45598840106634
  99. 0.229019590694692
  100. 0.996543928544126
In [11]:
hist(x, freq=F)
lines(density(x))
rug(x)

Q-Q 플롯

정규 분포는 여러가지 연속 확률 분포 중에서도 가장 유용한 특성을 지니며 널리 사용되는 확률 분포이다. 따라서 어떤 확률 변수의 분포가 정규 분포인지 아닌지 확인하는 것은 정규 분포 검정(normality test)은 가장 중요한 통계적 분석 중의 하나이다. 그러나 구체적인 정규 분포 검정을 사용하기에 앞서 시작적으로 간단하게 정규 분포를 확인하는 Q-Q 플롯을 사용할 수 있다.

Q-Q(Quantile-Quantile) 플롯은 분석하고자 하는 샘플의 분포과 정규 분포의 분포 형태를 비교하는 시각적 도구이다. Q-Q 플롯은 동일 분위수에 해당하는 정상 분포의 값과 주어진 분포의 값을 한 쌍으로 만들어 스캐터 플롯(scatter plot)으로 그린 것이다. Q-Q 플롯을 그리는 구체적인 방법은 다음과 같다.

  1. 대상 샘플을 크기에 따라 정렬(sort)한다.
  2. 각 샘플의 분위수(quantile number)를 구한다.
  3. 각 샘플의 분위수와 일치하는 분위수를 가지는 정규 분포 값을 구한다.
  4. 대상 샘플과 정규 분포 값을 하나의 쌍으로 생각하여 2차원 공간에 하나의 점(point)으로 그린다.
  5. 모든 샘플에 대해 2부터 4까지의 과정을 반복하여 스캐터 플롯과 유사한 형태의 플롯을 완성한다.
  6. 비교를 위한 45도 직선을 그린다.

R은 Q-Q 플롯을 계산하고 그리기 위한 qqnorm 명령과 qqline 명령을 제공한다.

정규 분포를 따르는 데이터 샘플을 Q-Q 플롯으로 그리면 다음과 같이 직선의 형태로 나타난다.

In [12]:
qqnorm(x)
qqline(x)

정규 분포를 따르지 않는 데이터 샘플을 Q-Q 플롯으로 그리면 다음과 같이 직선이 아닌 휘어진 형태로 나타난다.

In [13]:
set.seed(0)
x <- runif(100)
qqnorm(x)
qqline(x)

중심 극한 정리

실세계에서 발생하는 현상 중 많은 것들이 정규 분포로 모형화 가능하다. 그 이유 중의 하나는 다음과 같은 중심 극한 정리(Central Limit Theorem)이다. 중심 극한 정리는 어떤 분포를 따르는 확류 변수든 간에 해당 확률 변수가 복수인 경우 그 합은 정규 분포와 비슥한 분포를 이루는 현상을 말한다.

좀 더 수학적인 용어로 쓰면 다음과 같다.

$X_1, X_2, \ldots, X_n$가 기댓값이 $\mu$이고 분산이 $\sigma^2$으로 동일한 분포이며 서로 독립인 확률 변수들이라고 하자.

이 값들의 합

$$ S_n = X_1+\cdots+X_n $$

도 마찬가지로 확률 변수이다. 이 확률 변수 $S_n$의 분포는 $n$이 증가할 수록 다음과 같은 정규 분포에 수렴한다.

$$ \dfrac{S_n}{\sqrt{n}} \xrightarrow{d}\ N(\mu,\;\sigma^2) $$

시뮬레이션을 사용하여 중심 극한 정리가 성립하는지 살펴보도록 하자.

In [18]:
xx <- seq(-2, 2, length=100)
N <- c(1, 2, 10)
layout(matrix(1:6, 3, 2, byrow=T))
for (i in 1:3) {
    X <- matrix(runif(1000 * N[[i]]) - 0.5, nrow=N[[i]])
    S <- colSums(X)/sqrt(N[[i]])
    hist(S)
    qqnorm(S)
}

질문/덧글

아직 질문이나 덧글이 없습니다. 첫번째 글을 남겨주세요!