수리통계학

일반분포에서 신뢰구간 구하는 두가지 방법(근사와 정확한신뢰구간)

JSMATH 2024. 10. 15. 19:35

set.seed(1015)

theta_true <- 2  
n <- 100  
alpha <- 0.10  
data <- rexp(n, rate = theta_true)  

# sol 1. CLT Method
x_bar <- mean(data)
s <- sd(data) 
t <- qt(1 - alpha/2, df = n - 1) 

clt_lower <- 1 / (x_bar + t * s / sqrt(n))
clt_upper <- 1 / (x_bar - t* s / sqrt(n))

# sol2. Gamma and Chi-square Method
sum_x <- sum(data)
chi_alpha_low <- qchisq(alpha/2, df = 2 * n)
chi_alpha_high <- qchisq(1 - alpha/2, df = 2 * n)


chi_lower <- chi_alpha_low / (2 * sum_x)
chi_upper <- chi_alpha_high / (2 * sum_x)

# 비교
cat("CLT Method 90% CI for theta: [", ci_clt_lower, ",", ci_clt_upper, "]")
cat("Gamma and Chi-square Method 90% CI for theta: [", ci_gamma_lower, ",", ci_gamma_upper, "]")

> cat("CLT Method 90% CI for theta: [", clt_lower, ",", clt_upper, "]")
CLT Method 90% CI for theta: [ 1.641807 , 2.290249 ]
> cat("Chi-square Method 90% CI for theta: [", chi_lower, ",", chi_upper, "]")
Chi-square Method 90% CI for theta: [ 1.609214 , 2.237641 ]