일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 데이터 과학
- 산점도
- 오블완
- 티스토리챌린지
- 인공지능
- 통계학
- 가설검정
- css
- 경제학
- 혼합효과모형
- 고정효과모형
- 회귀분석
- r
- 두 평균의 비교
- 확률
- 변량효과모형
- 모평균에 대한 통계적추론
- 반복없음
- 변동분해
- 반복있음
- html
- version 1
- 정규분포
- 이원배치 분산분석
- 추정
- 분산분석
- 이항분포
- 글쓰기
- 에세이
- JavaScript
- Today
- Total
생각 작업실 The atelier of thinking
43. R을 이용한 확률분포 - 이항분포 구하기 본문
Chapter 43. R을 이용한 확률분포 - 이항분포 구하기
1. R에서의 확률분포
R에서는 이산확률분포와 연속확률분포 모두 다 제공합니다.분포별 확률질량(밀도)함수와 누적함수,분위수 및 랜덤 작업 등을 실행할 수 있습니다.
각 분포의 코드는 아래와 같습니다.
이산확률분포 | 연속확률분포 | ||
이항분포 | binom | 정규분포 | norm |
초기하분포 | hyper | T분포 | t |
포아송분포 | pois | F분포 | f |
기하분포 | geom | 카이분포 | chisq |
음이항분포 | nbionom | 균등분포 | unif |
다항분포 | multinom | 지수분포 | exp |
구하고자 하는 함수에 따라 아래의 접두사를 붙여 사용하면 됩니다.
- d : probability mass/density function - 확률 질량/밀도 함수
- p : cumulative distribution function - 누적함수
- q : quantile function - 분위수
- r : random number generator - 램덤 생성 작업
2. 이항분포(Binomial Distribution)
이항분포는 연속된 n번의 독립적 시행에서 각 시행이 확률 p를 가질 때의 이산확률분포입니다.
이항분포의 확률질량함수는 아래와 같습니다.
$$ f(x) = \dbinom{n}{x} p^x(1-p)^{n-x} , x = 0,1,2,...,n $$
R에서 이항분포의 확률질량함수를 구하는 함수는 "dbinom" 입니다.
dbinom(x,n,p)
x : 성공횟수
n : 전체시도 횟수
p : 각 시행에서 성공할 확률
◈ 예제 : 주사위 세 번 던지기
주사위를 세 번 던지기를 해서 1이 나오면 성공, 1이 나오지 않으면 실패라고 했을 때,
성공횟수는 0,1,2,3 이 됩니다. 이를 구하는 확률질량함수는 아래와 같이 표현할 수 있습니다.
$$ f(x) = \dbinom{3}{x} (\frac{1}{6})^x(\frac{5}{6})^{3-x} , x = 0,1,2,3 $$
R 코드는,
x <- 0:3
n <- 3
p <- 1/6
dbinom(x,n,p)
[1] 0.57870370 0.34722222 0.06944444 0.00462963
성공횟수 별 확률로 나타내는 코드입니다.
binom <- dbinom(x,n,p)
names(binom) <- x
binom
0 1 2 3
0.57870370 0.34722222 0.06944444 0.00462963
시각화 코드
barplot(binom, space = 2, col='skyblue',xlab = '성공횟수')
abline(h=0)
◈ 예제 : 항암제 완치율
어느 제약회사에서 새로운 항암제를 개발하여 항암제의 효과를 확인하기 위해 거의 같은 상태의 환자 15명을 대상으로 임상시험을 실시하였습니다.
환자 중 12명의 환자가 완치되었다고 합니다.
(1) 해당 상태의 환자에 대한 실제 완치 확률이 0.55 였다면, 해당 결과를 얻을 확률을 구한다면?
이 경우 성공횟수 X = 12 , n=15, p=0.55 인 확률질량함수를 이용하여 구할 수 있습니다.
x <- 12
n <- 15
p <- 0.55
dbinom(x,n,p)
[1] 0.03176883
(2) 완치 확률이 0.1,0.2,...,0.9 일 때 해당 결과의 확률을 구하고, 가장 높은 확률일 때의 완치확률을 구한다면?
이 경우는 p 를 0.1 부터 0.9 일 때의 확률질량함수를 구하면 됩니다.
x <- 12
n <- 15
p <- c(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9)
cancer <- dbinom(x,n,p)
names(cancer) <- p
cancer
barplot(cancer, col='skyblue', xlab = '완치확률')
abline(h=0)
0.1 0.2 0.3 0.4 0.5 0.6
3.316950e-10 9.542042e-07 8.293934e-05 1.648865e-03 1.388550e-02 6.338790e-02
0.7 0.8 0.9
1.700402e-01 2.501389e-01 1.285054e-01
그래프에서 완치확률이 0.8일 때 가장 높은 확률을 나타나는 것을 확인할 수 있습니다.
(3) 기존 항암제의 완치율이 0.5 일 때, 10명이상의 환자가 치료될 확률을 구한다면?
10명 이상이라 함은 10,11,12,13,14,15 일 때의 확률을 다 더한 값을 말합니다.
이 경우는 누적함수를 사용해야 합니다. 이항분포의 누적함수는 "pbinom" 을 이용하여 구할 수 있습니다.
pbinom(x,n,p,lower.tail = TRUE)
x : 성공횟수
n : 시행횟수
p : 각 시행의 확률
lower.tail : 누적분포함수 값 계산 방법을 지정하는 논리값
TRUE x보다 작거나 같은 확률을 계산
FALSE x보다 큰 확률을 계산
10명이상이므로 코드의 x 값은 9를 넣어야 합니다.
x <- 9
n <- 15
p <- 0.5
pbinom(x,n,p,lower.tail = FALSE)
# 1 - pbinom(x,n,p)
[1] 0.1508789
(4) 만약 12명의 환자가 치유되었다면, 새로운 항암제의 효과가 기존의 것보다 높다고 할 수 있는가?
이 경우는 x 에 11을 넣고 누적함수를 산출하면 됩니다.
x <- 11
n <- 15
p <- 0.5
pbinom(x,n,p,lower.tail = FALSE)
# 1 - pbinom(x,n,p)
[1] 0.01757813
약 1.76%의 확률을 확인할 수 있습니다. 통계적 추론에서 유의수준을 어떻게 정하느냐에 따라 기존의 것보다 높은지 같은지를 판단하게 됩니다.
'통계학 이야기' 카테고리의 다른 글
45. R을 이용한 확률분포 - 초기하분포 구하기 (1) | 2023.10.26 |
---|---|
44. 초기하 분포(Hypergeometric Distribution) - 이산확률분포 (1) | 2023.10.26 |
42. 베르누이분포 & 이항분포 (이산확률분포) (0) | 2023.10.24 |
41. 확률분포의 분류 (1) | 2023.10.23 |
40. 확률변수의 공분산과 상관계수 (1) | 2023.10.22 |