기억이 나지 않을 때 수리통계학 책을 찾아 페이지를 찾았던 확률분포들의 pmf, pdf 를 정리하고
이에 대한 R function 이 무엇인지 매칭시켜 정리해 보았다.

A) 이산형 확률변수 (pmf : probability mass function)

A-1) Bernoulli trial (베르누이 분포) : \(X \sim Bernoulli(p)\)


\[p(k) = p^k (1-p)^{1-k} ~,~ k = 0, 1\]

여러 실험에서 나타날 수 있는 결과가 이분류인 경우가 많은데
보통 이 결과를 성공(S)과 실패(F)로 나눌 수 있다. 두 사건 중 성공이 일어날 확률을 p라 하게 되면 실패확률은 1-p가 된다.
이러한 성질을 설명하는 확률분포라 할 수 있겠다.

A-2) Binomial distribution (이항분포) : \(X \sim B(n,p)\)


\[p(k) = \binom{n}{k}p^k(1-p)^{n-k} ~,~ k = 0, 1, \cdots , n\]

이항분포는 독립적이고 동일한 (성공확률이 p인)베르누이 실행을 n번 반복할 때 일어나는 성공사건의 개수를 k라고 하면
k를 확률변수로 둔 확률분포가 이항분포이다.

R function 으로는 “binom” 패밀리를 이용하면 된다.

dbinom(1, size = 3, prob = .5)
## [1] 0.375
pbinom(1, size = 3, prob = .5)
## [1] 0.5
qbinom(.5, size = 3, prob = .5)
## [1] 1
rbinom(10, size = 3, prob = .5)
##  [1] 1 2 2 0 0 1 1 1 0 1


A-3) Geometric distribution (기하분포) : \(X \sim Geometric(p)\)


\[p(k) = (1-p)^{k-1}p ~,~ k = 1, 2, 3, \cdots \cdots\]

독립적으로 시행되는 베르누이 시행 중 맨 처음 성공이 나올 때까지 반복하는 횟수를 확률변수로 둔 확률분포이다.
k번째 시행에서 첫 번째 성공이 나올 확률을 계산하기 위해선
처음부터 k-1 번째 시행까지 실패이고 k번째에 시행에서 성공인 확률과 같음을 생각하면 편할 것이다.
따라서 확률질량함수가 위와 같아진다.

R function 으로는 “geom” 패밀리를 이용하면 된다.

dgeom(1, prob = .5)
## [1] 0.25
pgeom(1, prob = .5)
## [1] 0.75
qgeom(.9375, prob = .5)
## [1] 3
rgeom(10, prob = .5)
##  [1] 1 1 0 0 0 1 0 0 0 0


A-4) Negative binomial distribution (음이항분포) : \(X \sim NB(r,p)\)


\[p(k) = \binom{k-1}{r-1}(1-p)^{k-r}p^r ~,~ k = r, r+1, r+2, \cdots \cdots\]

기하분포는 첫 번째 성공이 나올 때 까지의 시행횟수 k에 대한 확률분포라 하면,
음이항 분포는 r번째 성공이 나올 때 까지의 시행횟수 k에 대한 확률분포이다.
따라서 음이항분포는 기하분포의 내용을 조금 더 일반화시킨 것으로 보면 이해가 편하다.

R function 으로는 “nbinom” 패밀리를 이용하면 된다.

dnbinom(1, size = 1, prob = .5)     # the same as `dgeom(1, prob = .5)`
## [1] 0.25
pnbinom(1, size = 1, prob = .5)     # the same as `pgeom(1, prob = .5)`
## [1] 0.75
qnbinom(.9375, size = 1, prob = .5) # the same as `qgeom(.9375, prob = .5)`
## [1] 3
rnbinom(10, size = 1, prob = .5)    # the same as `rgeom(10, prob = .5)`
##  [1] 2 0 0 1 0 2 0 1 2 0


A-5) Hyper geometric distribution (초기하분포)


\[p(k) = \frac{\binom{M}{k} \binom{N-M}{K-k}}{\binom{N}{K}}\]

총 N개의 샘플은 M개의 원소로 이루어진 그룹1과
N-M개의 원소로 이루어진 그룹2로 구성되어 있다.
이때 N개 중 K개를 임의로 선택할 때 그룹1에서 나오는 원소의 수 k에 대한 확률분포를 의미한다.
설명의 이해가 쉽지 않을 수도 있을 것 같은데 이런 예제를 생각하면 편할 것 같다.

내 옷장에는 옷이 총 10개가 있는데 상의가 7벌, 하의가 3벌로 이루어져 있다.
이때 내 옷장에서 임의로(simple random sampling) 3개의 옷을 집었을 때 상의가 2벌일 확률을 구하고 싶다면 이때 바로 초기하분포의 확률질량함수를 이용하면 되는 것이다.

R function 으로는 “hyper” 패밀리를 이용하면 된다.

dhyper(2, m = 7, n = 3, k = 3)
## [1] 0.525
phyper(2, m = 7, n = 3, k = 3)
## [1] 0.7083333
qhyper(.7083, m = 7, n = 3, k = 3)
## [1] 2
rhyper(10, m = 7, n = 3, k = 3)
##  [1] 3 2 1 2 1 3 2 2 2 3


A-6) Poisson distribution (포아송분포) : \(X \sim Poisson(\lambda)\)


\[p(k) = \frac{e^{-\lambda}\lambda^k}{k!} ~,~ k = 0, 1, 2, \cdots \cdots\]

특정한 사건의 발생 수에 대한 확률분포로 흔히 쓰이는 포아송 분포는 평균적으로 \(\lambda\) 만큼의 사건이 발생할 때 k번 사건이 발생할 확률분포를 의미한다.

R function 으로는 “pois” 패밀리를 이용하면 된다.

dpois(5, lambda = 10)
## [1] 0.03783327
ppois(5, lambda = 10)
## [1] 0.06708596
qpois(.0671, lambda = 10)
## [1] 6
rpois(10, lambda = 10)
##  [1] 13 10 18  6 12  5 11 10  7 13


B) 연속형 확률변수 (pdf : probability density function)

B-1) Uniform distribution (균일분포) : \(X \sim Uniform(a,b)\)


\[f(x) = \frac{1}{b-a} ~,~ a \le x \le b\]

일정한 구간에 임의로 선택된 실수 x에 대한 확률분포를 의미한다.
구간 [a,b] 에서 임의로 선택된 수는 이 구간에 속하는 모든 값에 대해 가능성이 모두 균일함을 가정하므로 이름도 균일분포이다.

R function 으로는 “unif” 패밀리를 이용하면 된다.

dunif(.5)
## [1] 1
punif(.5)
## [1] 0.5
qunif(.5)
## [1] 0.5
runif(10)
##  [1] 0.35380564 0.70289261 0.92083010 0.35491995 0.74208699 0.55227524
##  [7] 0.28028373 0.01277089 0.34155552 0.76115553


B-2) Exponential distribution (지수분포) : \(X \sim Exp(\lambda)\)


\[f(x) = \lambda e^{-\lambda x} ~,~ x \ge 0\]

이산형 확률분포인 기하분포를 연속형에 적용한 것으로 볼 수 있다.
기하분포는 첫 번째 성공 사건이 일어날 때까지의 시행횟수에 대한 확률분포이면,
지수분포는 첫 번째 성공 사건이 일어날 때까지의 대기시간에 대한 확률분포로 볼 수 있다.

추가로 포아송 분포에서 평균 사건발생이 \(\lambda\) 일 때 시간 t동안이 곱해진다면 평균 사건 발생은 마찬가지로 t배만큼 늘어난다. \(Poisson(lambda \times t)\)
이러한 이유로 지수분포에서 대기시간 x동안에는 평균적으로 일어나야 할 \(\lambda \times t\)의 사건들이 전혀 일어나지 않고, x시간 직후 첫 번째 사건이 일어난 것으로 해석하면 확률밀도함수를 이해하는데 용이하다.

R function 으로는 “exp” 패밀리를 이용하면 된다.

dexp(1, rate = 3)
## [1] 0.1493612
pexp(1, rate = 3)
## [1] 0.9502129
qexp(.95, rate = 3)
## [1] 0.9985774
rexp(10, rate = 3)
##  [1] 0.34867653 0.36456731 0.02014339 0.10299843 0.10389987 0.04283067
##  [7] 0.31102006 0.57042995 0.18404054 0.27189499


B-3) Gamma distribution (감마분포) : \(X \sim Gamma(\alpha, \lambda)\)


\[f(x) = \frac{\lambda^{\alpha}}{\Gamma(\alpha)}x^{\alpha-1}e^{-\lambda x} ~,~ x \ge 0\]

(단 \(\Gamma(\alpha) = \int_{0}^{\infty}u^{\alpha-1}e^{-u}du\))

감마분포의 경우 pdf 표현방법이 다양한데, \(\beta = 1/\lambda\) 를 이용해 아래와 같이도 표현한다.


\[f(x) = \frac{1}{\Gamma(\alpha)\beta^{\alpha}}x^{\alpha-1}e^{-{x}/{\beta}} ~,~ x \ge 0\]

감마분포는 \(\alpha = 1\) 일 때 지수분포의 확률밀도함수가 된다.
즉 감마분포는 지수분포를 좀 더 일반화한 것으로 볼 수 있다.

R function 으로는 “gamma” 패밀리를 이용하면 된다.

dgamma(1, shape = 1, rate = 3)   # the same as `dexp(1, rate = 3)`
## [1] 0.1493612
pgamma(1, shape = 1, rate = 3)   # the same as `pexp(1, rate = 3)`
## [1] 0.9502129
qgamma(.95, shape = 1, rate = 3) # the same as `qexp(.95, rate = 3)`
## [1] 0.9985774
rgamma(10, shape = 1, rate = 3)  # the same as `rexp(10, rate = 3)`
##  [1] 0.11083455 0.52334825 0.10113643 0.88593443 0.03586136 0.03560678
##  [7] 0.58519453 0.16918073 0.35161446 0.05027697


B-4) Normal distribution (정규분포) : \(X \sim N(\mu, \sigma^2)\)


\[f(x) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}} ~,~ -\infty < x < \infty\]

확률분포 중 가장 중요하고 자주 활용되는 분포인 정규분포이다.
중심극한정리 때문에 정규분포는 다른 분포에 비해 권력이 세다(고 개인적으로 표현한다).
더해서 \(\mu = 0\), \(\sigma^2 = 1\) 인 정규분포는 표준정규분포라 한다.

R function 으로는 “norm” 패밀리를 이용하면 된다.

dnorm(0, mean = 0, sd = 1)
## [1] 0.3989423
pnorm(0, mean = 0, sd = 1)
## [1] 0.5
qnorm(.975, mean = 0, sd = 1)
## [1] 1.959964
rnorm(10, mean = 0, sd = 1)
##  [1] -1.52297255 -1.31370998  0.15620562  0.06490051  1.28796958
##  [6]  1.32511798  0.58785506 -2.01613823  0.82065361  1.30276365


B-5) Beta distribution (베타분포) : \(X \sim Beta(\alpha, \beta)\)


\[f(x) = \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha) \Gamma(\beta)}x^{\alpha-1}(1-x)^{\beta-1} ~,~ 0 \le x \le 1\]

R function 으로는 “beta” 패밀리를 이용하면 된다.

dbeta(.5, shape1 = 2, shape2 = 3)
## [1] 1.5
pbeta(.5, shape1 = 2, shape2 = 3)
## [1] 0.6875
qbeta(.6875, shape1 = 2, shape2 = 3)
## [1] 0.5
rbeta(10, shape1 = 2, shape2 = 3)
##  [1] 0.73091895 0.14342569 0.45113288 0.36957708 0.69915850 0.06585026
##  [7] 0.45103415 0.54803125 0.65516579 0.48420959