I. 구간추정
구간추정이란 표본에서 얻어지는 정보를 이용하여 미지의 모수의 참값이 속할 것으로 기대되는 범위를 특정한 방법을 이용해 선택하는 과정입니다. 모수 \(\theta\)에 의해 특정지어지는 모집단으로부터의 확률표본을 \(X_1\), \(X_2\), .. , \(X_n\) 이라 합시다. 확률표본에 대해 관측값인 \(x_1\), \(x_2\), .. , \(x_n\) 이 얻어지면 특정한 방법 \(L\), \(U\) 에 의하여 \(L(x_1, x_2, ... , x_n)\), \(U(x_1, x_2, ... , x_n)\)을 계산하고 \(\theta\)의 참값이 해당 구간에 속할 것으로 추측하게 됩니다.
이 때 \(L(X_1, X_2, ... , X_n)\), \(U(X_1, X_2, ... , X_n)\) 은 통계량으로서 \(\theta\)의 구간추정에 사용됨을 명시하기 위해 일반적으로 \( \hat{\theta_L} (X_1, X_2, ... , X_n) \) 과 \( \hat{\theta_U} (X_1, X_2, ... , X_n) \) 또는 \( \hat{\theta_L} \), \( \hat{\theta_U} \) 로 나타내고, 구간 \( ( \hat{\theta_L} (X_1,\cdots, X_n), \hat{\theta_U} (X_1,\cdots, X_n) ) \) 을 구간추정량 (interval estimator) 또는 신뢰구간 (confidence interval) 이라고 합니다.
한편 특정한 관측값 \( x_1, \, x_2, \, \cdots, \, x_3\) 에 대한 구간추정량의 관측값 \((\hat{\theta_L} (x_1,\cdots, x_n), \hat{\theta_U} (x_1,\cdots, x_n) ) \) 을 \(\theta\)의 구간추정값 (interval estimate)라 하고, 구간추정량과 혼동 되지 않을 때에는 이 역시 신뢰구간이라고도 하며, \( (\hat{\theta_L},\, \hat{\theta_U}) \) 로 나타냅니다.
점추정과 마찬가지로 구간추정의 좋고 나쁨을 하나의 관측값에 따른 하나의 신뢰구간을 기준으로 판단할 수는 없습니다. 동일한 구간추정법을 반복적으로 사용할 때 얻어지는 신뢰구간들이 참값을 포함하는지가 중요하며, 통계학에서는 신뢰구간들이 참값을 포함하는 확률을 일정 수준 이상이 되도록 합니다. 즉 미리 지정한 확률\( 1-\alpha\) 에 대하여
\[ \text{P} \{ \theta \in ( \hat{\theta_L}(X_1,\, \cdots,\, X_n),\, \hat{\theta_U}(X_1,\, \cdots,\, X_n)) \} \geq 1-\alpha \]
가 성립하도록 신뢰구간을 정합니다. 이 때 \( 1-\alpha\)를 신뢰수준(confidence level) 이라 하며 신뢰구간 \( (\hat{\theta_L},\, \hat{\theta_U}) \) 을 \(\theta\)에 대한 \( 100(1-\alpha)\% \) 신뢰구간이라 합니다.
II. 모평균의 구간추정
1. 모분산을 아는경우
우선 모분산이 알려진 정규모집단 \( N(\mu, \sigma^2) \)의 모평균에 대한 구간 추정에 대해 생각해봅시다. 크기 \( n\)인 확률표본의 평균 \( \overline{X}\)에 대하여 아래의 식이 성립합니다.
\[ \overline{X} ~ N(\mu, \,\sigma^2 / n) \quad or \quad \frac{\overline{X}-\mu}{\sigma/\sqrt{n}}~N(0,1) \]
그리고 표준정규분포에 대한 구간 확률을 수식으로 표현하면 다음과 같이 정리할 수 있습니다.
\[ \text{P} \{ -z_{\alpha/2} \geq \frac{ \overline{X} - \mu}{\sigma / \sqrt{n}} \leq z_{\alpha/2} \} = 1-\alpha \]
이 식을 평균에 대해 정리하면 다음과 같습니다.
\[ \text{P} \{ \mu \in (\overline{X}-z_{\alpha/2} \frac{\sigma}{\sqrt{n}}, \quad \overline{X}+z_{\alpha/2} \frac{\sigma}{\sqrt{n}} ) \} = 1-\alpha \]
따라서 모평균의 신뢰구간은 다음과 같이 정의할 수 있습니다.
\[ (\overline{X}-z_{\alpha/2} \frac{\sigma}{\sqrt{n}}, \quad \overline{X}+z_{\alpha/2} \frac{\sigma}{\sqrt{n}} ) \]
모분산이 10이고, 실제 평균이 100인 정규 모집단으로 부터 크기가 7인 확률 표본을 선택하여 90% 신뢰구간을 그려봅시다. 신뢰구간이 90% 이므로, \( z_{0.05} =1.645 \) 이며, 신뢰구간은 아래와 같이 형성됨을 알 수 있습니다.
\[ ( \overline{X} - 1.645 \frac{10}{\sqrt{7}}, \quad \overline{X} + 1.645 \frac{10}{\sqrt{7}} ) \]
만약 이 시행을 10번 한다고 하면 어떻게 될까요? 해당 조건을 파이썬을 이용해 구현하고 그림으로 그려 봅시다. 아래 그림에서 막대기는 관측된 신뢰구간을, 점은 관측값 ( \( \overline{x} \) )을 나타냅니다. 주황색과 빨간색 선은 신뢰구간에 평균(=100)이 포함되지 않는 경우로, 10번의 시행 중 한번 발생한 것을 알 수 있습니다. 즉, 신뢰구간 90% 의미는 신뢰구간을 사용하여 반복적으로 평균에 대한 구간추정을한다면, 대략 90%에 해당하는 신뢰구간들이 참값 \( \mu\) 를 포함한다는 뜻입니다.
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# Parameters
population_mean = 100
population_variance = 10
sample_size = 7
confidence_level = 0.90
num_trials = 10
# Z-value for 90% confidence
z = norm.ppf(1 - (1 - confidence_level) / 2)
print(z)
# Plot settings
plt.figure(figsize=(10, 6))
plt.title('90% Confidence Intervals for Each Trial')
plt.xlabel('Trial Number')
plt.ylabel('Sample Mean with Confidence Interval')
# Simulation
for trial in range(num_trials):
# Draw a sample and calculate the sample mean
sample = np.random.normal(loc=population_mean, scale=np.sqrt(population_variance), size=sample_size)
sample_mean = np.mean(sample)
# Standard error
standard_error = np.sqrt(population_variance / sample_size)
# Confidence interval calculation
margin_of_error = z * standard_error
lower_bound = sample_mean - margin_of_error
upper_bound = sample_mean + margin_of_error
# Plot confidence interval as a horizontal line
if lower_bound < 100:
plt.plot([trial, trial], [lower_bound, upper_bound], color='gray', lw=2)
plt.scatter(trial, sample_mean, color='black', zorder=5)
else:
plt.plot([trial, trial], [lower_bound, upper_bound], color='orange', lw=2)
plt.scatter(trial, sample_mean, color='red', zorder=5)
# Display the plot
plt.grid(True)
plt.xticks([0,1,2,3,4,5,6,7,8,9])
plt.savefig('confidenceintervalmeaning.png', dpi=300)
plt.show()
2. 모분산을 모르는 경우
모분산이 알려져 있지 않은 경우에는 표본분산을 이용할 수 있습니다. 모분산이알려져 있지 않은 정규모집단 \(N(\mu, \sigma^2)\)의 모평균 \(\mu\)에 대해, 크기 \(n\)인 확률표본으로부터 표본평균은 \(\overline{X}\), 표본분산을 \( S^2\) 이라 하면 다음의 식이 성립함을 배웠습니다.
\[ \frac{\overline{X} - \mu }{ S /\sqrt{n}} \sim t(n-1) \]
표준정규분포 대신 t분포를 사용하는 것만 빼면, 모분산을 아는 경우와 똑같이 식을 유도할 수 있고, 따라서 모분산 \(\sigma^2\)를 모르는 정규모집단의 모평균 \(\mu\)에 대한 \( 100(1-\alpha)\%\) 의 신뢰구간은 다음과 같이 정의할 수 있습니다.
\[ (\overline{X}-t(n-1, \frac{\alpha}{2}) \frac{\sigma}{\sqrt{n}}, \quad \overline{X}+t(n-1, \frac{\alpha}{2}) \frac{\sigma}{\sqrt{n}} ) \]
3. 모집단이 정규분포가 아닌 경우
모집단의 분포가 정규분포인 경우에 대해서는 모분산을 아는지, 모르는지에 따라 그에 맞는 적절한 분포를 이용해 구간추정을함을 배웠습니다. 이와 반대로 모집단의 분포가 정규분포가 아닌 경우라면 표본의 크기가 중요합니다. 표본의 크기가 충분히 크다면 근사적으로 신뢰구간을 구할 수 있습니다.
우선 모분산이 알려진 임의의 모집단의 모평균의 경우, 표본이 큰 경우에는 중심극한정리에 의해 표본평균의 분포는 근사적으로 정규분포임을 배웠습니다. 즉, 아래의 식으로 표현이 가능합니다.
\[ \overline{X} \sim \text{N}(\mu, \sigma^2 / n) \quad (n\rightarrow \infty) \]
따라서 정규모집단의 평균에 대한 신뢰구간의 유도과정을 근사적으로 사용할 수 있습니다.
\[\lim_{n\rightarrow \infty} \text{P} \{ \mu \in (\overline{X}-z_{\alpha/2} \frac{\sigma}{\sqrt{n}}, \quad \overline{X}+z_{\alpha/2} \frac{\sigma}{\sqrt{n}} ) \} = 1-\alpha \]
그 다음 표본표준편차가 모표준편차의 일치 추정량이므로, 표본크기가 클 때는 두 값이 매우 가까운 것을 알 수 있습니다. 따라서 위 식에서 \(\sigma\) 대신 \(S\)를 넣어도 식은 성립합니다.
\[\lim_{n\rightarrow \infty} \text{P} \{ \mu \in (\overline{X}-z_{\alpha/2} \frac{S}{\sqrt{n}}, \quad \overline{X}+z_{\alpha/2} \frac{S}{\sqrt{n}} ) \} = 1-\alpha \]
표본의 크기가 어느 정도가 적당한지는 모집단의 분포의 형태에 따라 달라집니다. 모집단의 분포가 정규분포에 가까울 수록 표본평균의 분포도 정규분포에 빠르게 가까워 집니다. 통상적으로는 n이 30보다 크면 표본의 크기가 충분하다고 생각합니다.
III. 모비율의 구간추정
모비율 p를 모수로 하는베르누이시행을 독립적으로 n번 시행했을 때 성공횟수를 \(X\) 라고 하면 \(X\)는 이항분포 \(B(n,p)\)를 따르고, \(p\)의 점추정량으로 표본비율 \( \hat{p} = X/n\) 을 사용함을 점추정 글에서 설명한 적이 있습니다. 이제 표본크기 \(n\)에 대해 \(p\)의 구간 추정에 대해 생각해 봅시다.
표본크기가 큰 경우에는 \(X\)의 분포가 근사적으로 \(N(np, npq)\) 이므로 표본비율의 분포는 근사적으로 \(N(p,pq/n)\) 입니다. 한편 표본비율 \(\hat{p}\)는 모비율의 일치추정량이므로, 표본의 크기가 클 때는 두 값이 매우 가까울 것이고, 따라서
\[ \lim_{n\rightarrow\infty} P\{ -z_{\alpha/2} \geq \frac{\hat{p}-p}{\sqrt{\hat{p}\hat{q}/n}} \leq z_{\alpha/2} \} =1-\alpha \]
이므로, 신뢰구간은 다음과 같이 나타낼 수 있습니다.이 결과는 n이 클 때를 가정한 근사적인 결과이므로, \( n\hat{p} \geq 5\), \( n\hat{q} \geq 5\) 인 경우에 사용하는 것이 적당한 것으로 알려져 있습니다.
\[\lim_{n\rightarrow\infty} P\{ \mu \in \left( \hat{p}-z_{\alpha/2} \sqrt{\frac{\hat{p}\hat{q}}{n}}, \quad \hat{p}+z_{\alpha/2} \sqrt{\frac{\hat{p}\hat{q}}{n}} \right) \} =1-\alpha \]
IV. 모분산의 구간추정
모평균이 \(\mu\) 이고, 모분산 \(\sigma^2\)을 모르는 정규모집단 \(N(\mu, \sigma^2)\)의 분산에 대한 구간 추정은, 모분산의 추정량인 표본분산 \(S^2\)을 이용합니다. 정규모집단에서의 표본분산의 분포는
\[ \frac{(n-1)S^2}{\sigma^2} \sim \chi^2(n-1) \]
로 정의됨을 설명한 적이 있습니다. 따라서, 신뢰구간은 다음과 같은 식을 통해 구할 수 있습니다.
\[ P\{ \chi^2(n-1, 1-\frac{\alpha}{2}) \leq (n-1)S^2 /\sigma^2 \leq \chi^2(n-1, \frac{\alpha}{2})\} = 1-\alpha \]
\[P\left\{ \sigma^2 \in \left( \frac{(n-1)S^2}{\chi^2 \left(n-1, \frac{\alpha}{2} \right)}, \frac{(n-1)S^2}{\chi^2 \left(n-1, 1-\frac{\alpha}{2} \right)} \right) \right\} = 1-\alpha \]