R - 확률분포

R - 확률분포


1. 기본 커맨드
nCk : choose(n, k)
combn (1:5, 3): 조합 생성
diff( A, B ): 벡터의 순차적인 원소들 차이를 계산한다.

2.  난수 생성
runif( 1, min = -3, max = 3 )
rnorm( 10, mean = 10, sd = 5 )
rbinom( 3, size = 10, prob = 0.5 )
rpois( 1, lambda = 10 )
rexp( 1, rate = 0.1 )
rgamma( 1, shape = 2, rate = 0.1 )
rhyper( n, m, n, k )

재현시키려면 set.seed( ~ )

sample ( c(F,T), 20, replace = TRUE, prob = c(0.8, 0.2) )


3. 이산분포 - 밀도함수, 분포함수, 분위수 함수

1) 이항분포 (Binominal Distribution)
dbinom (x, size, prob) 
pbinom (x, size, prob) 
qbinom (p, size, prob)

2) 초기하분포 (Hypergeometric Distribution)
x = 실제로 이만큼은 m에서 뽑아내야 함
m = 뽑아야 할 대상이 있는 집단의 개체 수
n = 뽑지 말아야 할 대상이 있는 집단의 개체 수
k = 추출 수

[모집단이 m과 n의 개체로 구성되어 있는데 k개의 표본을 추출]

[예시]
"콜롬비아 원두"로 만든 아메리카노 5잔 (m=5), 
콜롬비아 원두 말고 다른 지역 원두로 만든 아메리카노 20잔 (n=20)을 만들어 놓고 
바리스타에게 "콜롬비아 원두"로 만든 아메리카노 5잔을 골라내 보라고 시킴.

이때 "콜롬비아 원두"로 만든 아메리카노를 4잔 골라낼 확률은?


> dhyper(x=4, m=5, n=20, k=5)
[1] 0.001882176
dhyper (x, m, n, k)
phyper (q, m, n, k, lower.tail = TRUE/FALSE)
qhyper (p, m, n, k, lower.tail = TRUE/FALSE)



3) 기하분포 (Geometric Distribution ) 
dgeom (x, prob)
pgeom (x, prob)
qgeom (p, prob)



4) 포아송분포 (Poisson Distribution)
확률변수 X가 이항분포 B(n, p)를 따를 때
np = λ 로 일정하게 두고, n이 충분히 크고 p가 0에 가까울 때 
이항분포에 근사하는 포아송 분포

일정한 단위 시간, 단위 공간에서 어떤 사건이 랜덤하게 발생하는 경우에 사용할 수 있는 
이산형 확률분포


모수 λ는 일정한 단위 시간 또는 단위 공간에서 랜덤하게 발생하는 사건의 평균 횟수

[예시]
1시간 동안 은행에 방문하는 고객의 수

dpois (x, lambda)
ppois (x, lambda)
qpois (p, lambda)


4. 연속분포 - 밀도함수 = 분포함수, 분위수함수
1) 정규분포 (Normal Distribution)
pnorm(x, mean, sd)
qnorm(p, size, prob)

2) T분포
dt(x, df)
pt(q, df, lower.tail = TRUE/FALSE)
qt(p, df, lower.tail = TRUE/FALSE)
rt(n, df)

3) 지수분포 (Exponential Distribution)
어떤 특정 사건이 발생하기 전까지 걸리는 시간을 나타내기 위해 많이 사용하는 확률분포

[예시]
전자레인지의 수명 시간

콜센터에서 전화가 걸려 올 때까지 걸리는 시간

dexp(x, rate)
pexp(q, rate, lower.tail=TRUE/FALSE)
qexp(p, rate, lower.tail=TRUE/FALSE)

rexp(n, rate)

* rate = 1/40 = 평균이 40

4) 감마분포 (Gamma Distribution)
pgamma(x, shape, rate)
qgamma(p, shape, rate=rate) or qgamma(p, shape, scale=scale)

5) 카이제곱분포 (Chisq Distribution)
k개의 서로 독립적이고 표준정규분포를 따르는 확률변수 X 를 제곱한 값들을 
합하였을 때의 분포이며, 
이때 k 는 자유도 (degrees of freedom) 로서 카이제곱 분포의 parameter

확률변수 Xi를 제곱한 값을 summation 한 값의 분포이므로
모두 양(+) 값만을 가지게 되어 0 보다 오른쪽에 있음.
왼쪽으로 심하게 치우쳐 있고, 오른쪽으로 꼬리가 길게 늘어서 있습니다.  
오른쪽으로 갈 수록 값이 큰 경우의 도수가 현저하게 줄어드고, 
0 에 가까운 왼쪽으로 갈 수록 도수가 급격하게 증가하는, 
심하게 왼쪽으로 쏠린 분포임


dchisq(df)
pchisq(df, lower.tail=TRUE/FALSE)
qchisq(df, lower.tail=TRUE/FALSE)
rchisq(n, df)


6) 균등분포 (Uniform Distribution)
dunif(x, min, max)
punif(q, min, max, lower.tail=TRUE/FALSE)
qunif(p, min, max, lower.tail=TRUE/FALSE)

runif(n, min, max)

7) F분포
F-검정과 분산분석에 사용되며, 
(카이제곱 분포처럼) 분산을 제곱한 값만을 사용하므로 양(+)의 값만을 가지고 되고, 
왼쪽으로 치우치고 오른쪽으로 꼬리가 긴 비대칭형 형태를 띠고 있다.

df(df1, df2)
pf(df1, df2, lower.tail=TRUE/FALSE)
qf(df1, df2, lower.tail=TRUE/FALSE)

rf(n, df1, df2)




5. 음영이 있는 밀도함수 그리기




댓글

가장 많이 본 글