05. 포아송분포, 균등분포

Statistics
교재 5장
교재 6장
Author

Kim Jae Sook

Published

January 27, 2024

[엑셀] 실습하기

[R기초] 실습하기

포아송분포

R명령어 설명

  • 포아송분포(Poisson Distribution)에 관련된 R 명령어 설명
    위에 링크로 달아놓았지만, ChatGPT에게 포아송분포에 관련된 r명령어를 묻고, 명령어는 알지만 더 자세한 사용법을 알고 싶을때는 프로그램에서 명령어에 커서를 두고 F1을 누르면 설명이 나옵니다.
# 시간당 평균 3건의 사건이 발생하는 시스템
# 확률밀도함수: 특정 시간에 5건의 사건이 발생할 확률 계산
dpois(5, 3)
[1] 0.1008188
# 누적분포함수: 특정 시간에 최대 2건의 사건이 발생할 확률 계산
ppois(2, 3)
[1] 0.4231901
# 분위수 함수: 90%의 확률로 발생할 수 있는 최대 사건 수
qpois(0.90, 3)
[1] 5
# 랜덤 샘플링: 5개의 무작위 시간에 발생할 사건 수를 시뮬레이션
rpois(5, 3)
[1] 3 6 1 2 2
# 포아송분포의 확률질량함수 그리기
lambda <- 3  # 매개변수(평균 발생 횟수) 설정
x_values <- 0:10  # 확률을 계산할 이벤트 수의 범위
probabilities <- dpois(x_values, lambda)  # 확률 질량 함수 계산
plot(x_values, probabilities, type = "h", lwd = 2, col = "blue",
     main = "Poisson Distribution",
     xlab = "Number of Events", ylab = "Probability")  # 확률 분포 그래프 그리기

포아송분포 관련 문제

  • 전국 고속도로에 버려진 자동차는 매주 평균 2.2대의 포아송 분포를 따른다고 알려져 있다. 이때 다음 확률을 구하시오.
    1. 다음 주에 버려진 차가 한 대도 없을 확률
    2. 다음 주에 적어도 2대의 자동차가 버려져 있을 확률
ppois(0, 2.2) # (1)번 풀이
[1] 0.1108032
1-ppois(1, 2.2) # (2)번 풀이
[1] 0.6454299
  • 삼삼 생명보험에 든 계약자 중에서 1년 동안 사망하는 사망자 수는 모수가 \(\lambda\)인 포아송 분포를 따른다고 한다. \(\lambda =5\)일 때 사망자 수가 적어도 3명 이상일 확률을 구하시오.
1-ppois(2, 5)
[1] 0.875348

포아송분포와 체비세프 부등식

체비세프 부등식

  • \(P(|X-\mu| \ge k) \leq \dfrac{\sigma^2}{k^2}\)

  • \(P(|X-\mu| \leq k ) \geq 1- \dfrac{\sigma^2}{k^2}\)

  • \(P(|X-\mu| \leq k \sigma ) \geq 1- \dfrac{1}{k^2}\)

  • 포아송분포에서 부등식 \(P(|X-\mu| \leq 1.5 \sigma ) \geq 0.55\)가 성립하는지 확률을 계산해보자.

# 시간당 평균 4건이 사건의 발생하는 포아송분포 상황에서, X가 평균으로부터 1.5 sigma를 빼고 더한 1~7사이에 발생할 확률이 0.55보다 큰지 확인해보자.
ppois(7, 4)-ppois(0, 4)
[1] 0.9305507

균등분포

R명령어 설명

dunif(0.5, 0, 1)  # 0과 1 사이의 균등분포에서 0.5의 밀도 계산
[1] 1
punif(0.5, 0, 1)  # 0과 1 사이의 균등분포에서 0.5 이하의 값이 나올 누적 확률 계산
[1] 0.5
qunif(0.5, 0, 1)  # 0과 1 사이의 균등분포에서 중앙값(50% 분위수) 계산
[1] 0.5
runif(5, 0, 1)  # 0과 1 사이에서 균등분포를 따르는 5개의 랜덤 숫자를 생성
[1] 0.65771692 0.45292753 0.06555175 0.35949814 0.27536441
# curve 함수를 이용한 확률밀도함수 그리기
min_val <- 0  # 균등 분포의 최소값과 최대값 설정
max_val <- 1
curve(dunif(x, min_val, max_val), from = min_val, to = max_val, # 균등분포의 확률밀도함수 그래프 그리기
      xlab = "x", ylab = "Density", 
      main = "Uniform Distribution Density", col = "blue")

# plot 함수를 이용한 확률밀도함수 그리기
x_values <- seq(min_val, max_val, by = 0.01)  # 균등분포의 확률밀도함수를 계산할 값의 범위
densities <- dunif(x_values, min_val, max_val)  # 확률밀도 계산
plot(x_values, densities, type = "l", col = "red",  # 확률밀도 그래프 그리기
     main = "Uniform Distribution Density", 
     xlab = "x", ylab = "Density")

# 균등분포의 누적분포함수 그리기
min_val <- 0  # 균등 분포의 최소값과 최대값 설정
max_val <- 1
curve(punif(x, min_val, max_val), from = min_val, to = max_val, # 균등분포의 누적분포함수 그래프 그리기
      xlab = "x", ylab = "Cumulative Probability", 
      main = "Uniform Distribution CDF", col = "purple")

균등분포 관련 문제

  • 신나은행 콜센터에 있는 직원은 10통의 전화에 응답하는데 걸리는 시간(단위: 분)이 \((8, 15)\)에서 균등분포를 한다. \(X\)를 1통의 전화에 응답하는데 소요되는 시간이라 할때, \(X\)의 평균을 구하시오.
min_val <- 0.8  # 최솟값과 최댓값 설정
max_val <- 1.5
mean_val <- (min_val + max_val) / 2  # 균등 분포의 평균 계산
mean_val  # 평균 값 출력
[1] 1.15