母平均の区間推定
母平均の推定は統計学における基本的な問題です。多くの場合、大きな母集団から収集されたデータのサンプルがあり、平均のような母集団パラメータについて推論を行いたいと考えています。
この記事では、母平均を推定するための手順を紹介します。
信頼区間の構築手順
サンプル統計量の特定
母平均を推定するため、サンプル平均(
信頼水準の選択
信頼水準を定義します。一般的な選択肢は、90%、95%、または99%の信頼水準です。
標準誤差の求め方
標準誤差(SE)は統計的な正確さの尺度です。これは、統計量(例えば平均)が実際の(しかし通常は未知の)母集団パラメータからどれだけズレるかを示すものです。標準誤差は信頼区間の構築において重要な役割を果たします。
もし母集団標準偏差(
しかし、ほとんどの実践的な場合では、
サンプル標準偏差を使用する場合、サンプル平均の標本分布は正規分布に従いません。代わりに、t分布に従います。t分布は正規分布に似ていますが、裾が重くなっています。そのため、サンプルサイズが小さい場合にはより保守的な(幅の広い)信頼区間を与えます。サンプルサイズが大きくなると、t分布は正規分布に近づいていきます。
信頼区間の構築
標準誤差を計算したら、信頼区間を構築することができます。信頼区間は、与えられたサンプルデータセットから計算される、未知の母集団パラメータを含む可能性のある値の推定範囲を提供します。
信頼区間は次のように表されます。
Pythonによる実装
以下は、scipy.stats
を使用して母平均の区間推定を行う簡単な例です。正規分布からサンプルサイズ100のサンプルを生成し、平均の95%信頼区間を構築します。
import numpy as np
import scipy.stats as stats
# Generate a sample from a normal distribution
np.random.seed(0) # for reproducibility
sample = np.random.normal(loc=50, scale=5, size=100) # mean = 50, std_dev = 5, sample size = 100
# Calculate the sample mean and standard deviation
sample_mean = np.mean(sample)
sample_std_dev = np.std(sample, ddof=1) # ddof=1 to use the unbiased estimator
# Choose the desired confidence level
confidence_level = 0.95
# Find the standard error
standard_error = sample_std_dev / np.sqrt(len(sample))
# Calculate the margin of error. Here we use t-distribution
degree_of_freedom = len(sample) - 1
t_score = stats.t.ppf((1 + confidence_level) / 2, degree_of_freedom)
margin_of_error = t_score * standard_error
# Construct the confidence interval
confidence_interval = (sample_mean - margin_of_error, sample_mean + margin_of_error)
print(f"The {confidence_level*100}% Confidence Interval for the population mean is: {confidence_interval}")
The 95.0% Confidence Interval for the population mean is: (49.294074104983, 51.30400605036188)
これは基本的な例です。データと問題の具体的な内容に応じて、このコードを調整する必要があります。例えば、サンプルサイズが十分に大きい場合は、t分布ではなく正規分布を使用することが望ましい場合があります。