Python全系列 教程
3567个小节阅读:5931.5k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
import numpy as np
from scipy.stats import norm, t, chi2
# 两个正态总体均值差的置信区间
def mean_diff_ci_t_est(data1, data2, alpha, equal=True):
n1 = len(data1) # 样本1的样本容量
n2 = len(data2) # 样本2的样本容量
mean_diff = np.mean(data1) - np.mean(data2) # 两个样本的均值差
sample1_var = np.var(data1) # 样本1的样本方差
sample2_var = np.var(data2) # 样本2的样本方差
if equal: # 方差未知且相等
sw = np.sqrt(((n1-1)*sample1_var + (n2-1)*sample2_var)/(n1 + n2 - 2))
t_value = np.abs(t.ppf(alpha/2, n1+n2-2))
return mean_diff - sw*np.sqrt(1/n1 + 1/n2)*t_value, \
mean_diff + sw*np.sqrt(1/n1 + 1/n2)*t_value
else: # 方差未知且不等
df_numerator = (sample1_var/n1 + sample2_var/n2)**2 # 自由度分子
# 自由度分母
df_denominator = (sample1_var/n1)**2/(n1-1) + (sample2_var/n2)**2/(n2-1)
df = df_numerator / df_denominator # 自由度
t_value = np.abs(t.ppf(alpha/2, df))
return mean_diff - np.sqrt(sample1_var/n1 + sample2_var/n2)*t_value, \
mean_diff + np.sqrt(sample1_var/n1 + sample2_var/n2)*t_value
salary_18 = [1484, 785, 1598, 1366, 1716, 1020, 1716, 785, 3113, 1601]
salary_35 = [902, 4508, 3809, 3923, 4276, 2065, 1601, 553, 3345, 2182]
print(mean_diff_ci_t_est(salary_18, salary_35, 0.05, equal=True))
print(mean_diff_ci_t_est(salary_18, salary_35, 0.05, equal=False))
1. 求均值差的置信区间(两个总体方差未知且不等),关于t值的自由度,下列说法正确的是,:
A 自由度是n1
B 自由度是n2
C 自由度是n1+n2-2
D 以上说法均不正确
1=>D