Transclude of 例-7.3.1-(滚珠直径-期望的区间估计)#setting
若 未知, 试求 的置信度为 0.95 的区间估计.
解
由 和
,查表或用 软件计算的 , 用
Transclude of 2.-期望的区间估计-(未知方差)#eq-7-3-6得到 的置信度为 0.95 的置信区间 [14.713, 15.187].
代码
import numpy as np
from scipy.stats import t
# 定义数据向量 x
x = np.array([14.6, 15.1, 14.9, 14.8, 15.2, 15.1])
print(f"样本数据 (x): {x}")
# 计算样本标准差 sigma (注意:这里使用了样本标准差)
sigma = np.std(x, ddof=1) # ddof=1 表示计算样本标准差
print(f"样本标准差 (s): {sigma:.4f}")
# 定义显著性水平 alpha
alpha = 0.05
print(f"显著性水平 (alpha): {alpha}")
# 计算样本大小 n
n = len(x)
print(f"样本大小 (n): {n}")
# 计算样本均值 mean_x
mean_x = np.mean(x)
print(f"样本均值 (mean of x): {mean_x:.4f}")
# 计算 t 分布的临界值 t_critical
degrees_of_freedom = n - 1
t_critical = t.ppf(1 - alpha / 2, degrees_of_freedom)
print(f"t 分布临界值 (t with alpha/2, n-1): {t_critical:.4f}")
# 计算标准误差 standard_error
standard_error = sigma / np.sqrt(n)
print(f"标准误差 (s / sqrt(n)): {standard_error:.4f}")
# 计算置信区间的边界值 margin_of_error
margin_of_error = t_critical * standard_error
print(f"边际误差: {margin_of_error:.4f}")
# 计算置信区间
lower_bound = mean_x - margin_of_error
upper_bound = mean_x + margin_of_error
confidence_interval = [lower_bound, upper_bound]
# 输出置信区间
print("\n置信区间 (95%):")
print(f" 下界: {confidence_interval[0]:.4f}")
print(f" 上界: {confidence_interval[1]:.4f}")
print(f" 表示为区间: [{confidence_interval[0]:.4f}, {confidence_interval[1]:.4f}]")
样本数据 (x): [14.6 15.1 14.9 14.8 15.2 15.1]
样本标准差 (s): 0.2258
显著性水平 (alpha): 0.05
样本大小 (n): 6
样本均值 (mean of x): 14.9500
t 分布临界值 (t with alpha/2, n-1): 2.5706
标准误差 (s / sqrt(n)): 0.0922
边际误差: 0.2370
置信区间 (95%):
下界: 14.7130
上界: 15.1870
表示为区间: [14.7130, 15.1870]