Transclude of 例-7.3.4-两类滚珠直径-(未知方差-相同)#table

试求这两台机床生产的滚珠直径方差比的区间估计, 置信度为 0.90.

  1. 已知甲、乙机床生产的滚珠直径的均值分别为 = 15.0 mm 及 14.90 mm.
  2. 未知.

(1)

沿用例 7.3.4 的记号, 经计算得

, 查表或用 软件计算的 . 用

Transclude of 3.-方差比值的区间估计-(已知期望)#eq-7-3-11
得到 的置信度为 0.90 的区间估计 .

(2)

经计算得

,查表或用 软件计算的 . 用 ^eq-7-3-12 得到 的置信度为 0.90 的区间估计 .

代码

import numpy as np
from scipy.stats import f
 
# 定义数据向量 x
x = np.array([15.0, 14.8, 15.2, 15.4, 14.9, 15.1, 15.2, 14.8])
print(f"样本数据 x: {x}")
 
# 定义数据向量 y
y = np.array([15.2, 15.0, 14.8, 15.1, 15.0, 14.6, 14.8, 15.1, 14.5])
print(f"样本数据 y: {y}")
 
# 定义假设均值 mu1 和 mu2 (用于第一种置信区间的计算)
mu1 = 15.0
mu2 = 14.9
print(f"假设均值 mu1: {mu1}")
print(f"假设均值 mu2: {mu2}")
 
# 定义显著性水平 alpha
alpha = 0.10
print(f"显著性水平 alpha: {alpha}")
 
# 计算样本大小 n1 和 n2
n1 = len(x)
n2 = len(y)
print(f"样本大小 n1: {n1}")
print(f"样本大小 n2: {n2}")
 
# --- 第一种方差比率的置信区间计算 ---
# 计算平方和 z1 和 z2 (围绕假设均值)
z1 = np.sum((x - mu1)**2)
z2 = np.sum((y - mu2)**2)
print(f"平方和 z1 (sum((x - mu1)^2)): {z1:.4f}")
print(f"平方和 z2 (sum((y - mu2)^2)): {z2:.4f}")
 
# 计算 F 分布的临界值
f_lower_critical_1 = f.ppf(1 - alpha / 2, n1, n2)
f_upper_critical_1 = f.ppf(alpha / 2, n1, n2)
print(f"F 分布下临界值 (F(1 - alpha/2, n1, n2)): {f_lower_critical_1:.4f}")
print(f"F 分布上临界值 (F(alpha/2, n1, n2)): {f_upper_critical_1:.4f}")
 
# 计算第一种方差比率的置信区间
lower_bound_ratio1 = (n2 * z1) / (n1 * z2 * f_lower_critical_1)
upper_bound_ratio1 = (n2 * z1) / (n1 * z2 * f_upper_critical_1)
confidence_interval_ratio1 = [lower_bound_ratio1, upper_bound_ratio1]
 
# 输出第一种方差比率的置信区间
print("\n第一种方差比率的置信区间 (90%):")
print(f"  下界: {confidence_interval_ratio1[0]:.4f}")
print(f"  上界: {confidence_interval_ratio1[1]:.4f}")
print(f"  表示为区间: [{confidence_interval_ratio1[0]:.4f}, {confidence_interval_ratio1[1]:.4f}]")
 
# --- 第二种方差比率的置信区间计算 ---
# 计算样本方差的比率 z3
var_x = np.var(x, ddof=1)  # 使用样本方差 (除以 n-1)
var_y = np.var(y, ddof=1)
z3 = var_x / var_y
print(f"\n样本方差比率 (var(x) / var(y)): {z3:.4f}")
 
# 计算 F 分布的临界值 (自由度为 n1-1 和 n2-1)
f_lower_critical_2 = f.ppf(1 - alpha / 2, n1 - 1, n2 - 1)
f_upper_critical_2 = f.ppf(alpha / 2, n1 - 1, n2 - 1)
print(f"F 分布下临界值 (F(1 - alpha/2, n1-1, n2-1)): {f_lower_critical_2:.4f}")
print(f"F 分布上临界值 (F(alpha/2, n1-1, n2-1)): {f_upper_critical_2:.4f}")
 
# 计算第二种方差比率的置信区间
lower_bound_ratio2 = z3 / f_lower_critical_2
upper_bound_ratio2 = z3 / f_upper_critical_2
confidence_interval_ratio2 = [lower_bound_ratio2, upper_bound_ratio2]
 
# 输出第二种方差比率的置信区间
print("\n第二种方差比率的置信区间 (90%):")
print(f"  下界: {confidence_interval_ratio2[0]:.4f}")
print(f"  上界: {confidence_interval_ratio2[1]:.4f}")
print(f"  表示为区间: [{confidence_interval_ratio2[0]:.4f}, {confidence_interval_ratio2[1]:.4f}]")
样本数据 x: [15.  14.8 15.2 15.4 14.9 15.1 15.2 14.8]  
样本数据 y: [15.2 15.  14.8 15.1 15.  14.6 14.8 15.1 14.5]  
假设均值 mu1: 15.0  
假设均值 mu2: 14.9  
显著性水平 alpha: 0.1  
样本大小 n1: 8  
样本大小 n2: 9  
平方和 z1 (sum((x - mu1)^2)): 0.3400  
平方和 z2 (sum((y - mu2)^2)): 0.4600  
F 分布下临界值 (F(1 - alpha/2, n1, n2)): 3.2296  
F 分布上临界值 (F(alpha/2, n1, n2)): 0.2951  
  
第一种方差比率的置信区间 (90%):  
 下界: 0.2575  
 上界: 2.8173  
 表示为区间: [0.2575, 2.8173]  
  
样本方差比率 (var(x) / var(y)): 0.7950  
F 分布下临界值 (F(1 - alpha/2, n1-1, n2-1)): 3.5005  
F 分布上临界值 (F(alpha/2, n1-1, n2-1)): 0.2684  
  
第二种方差比率的置信区间 (90%):  
 下界: 0.2271  
 上界: 2.9621  
 表示为区间: [0.2271, 2.9621]