第4课_单样本和双样本分析
热度🔥:19 免费课程
授课语音
单样本分析和双样本分析
1. 单样本分析
单样本分析用于比较一个样本的均值与某个已知值是否存在显著差异。通常应用于当我们有一个样本数据集,并且想验证其均值是否符合某个理论值或假设值。
1.1 单样本 t 检验
- 目的:检验样本的均值是否与已知的总体均值相等。
- 假设:
- 原假设(H₀):样本均值等于已知值。
- 备择假设(H₁):样本均值不等于已知值。
1.2 单样本 t 检验步骤
- 提出原假设和备择假设。
- 选择显著性水平(通常为 0.05)。
- 计算 t 统计量:
- t 统计量的计算公式为:
t = (样本均值 - 总体均值) / (样本标准差 / √样本容量) - 其中:
- 样本均值是样本数据的平均值
- 总体均值是已知的假设值
- 样本标准差是样本数据的标准差
- 样本容量是样本数据的数量
- t 统计量的计算公式为:
- 根据 t 统计量和自由度(自由度 = 样本容量 - 1)查找 t 分布表,得到 p 值。
- 根据 p 值与显著性水平比较,得出结论。
1.3 单样本 t 检验实例
假设我们要检验某公司员工的平均工资是否为 5000 元。
from scipy import stats
import numpy as np
# 假设数据:100名员工工资数据(样本数据)
sample_data = np.random.normal(5100, 500, 100) # 均值5000,标准差500的正态分布样本
# 单样本 t 检验,假设原假设为工资均值为5000
t_stat, p_value = stats.ttest_1samp(sample_data, 5000)
print(f"t-statistic: {t_stat}, p-value: {p_value}")
# 判断 p 值是否小于显著性水平 0.05
if p_value < 0.05:
print("拒绝原假设,平均工资与5000元有显著差异")
else:
print("无法拒绝原假设,平均工资与5000元没有显著差异")
2. 双样本分析
双样本分析用于比较两个独立样本的均值是否存在显著差异。常用于比较两个不同群体(如男生和女生、两种产品、两种治疗方法等)之间的差异。
2.1 独立样本 t 检验
- 目的:检验两个独立样本的均值是否相等。
- 假设:
- 原假设(H₀):两组数据的均值相等(即没有显著差异)。
- 备择假设(H₁):两组数据的均值不相等(即有显著差异)。
2.2 独立样本 t 检验公式
t 统计量的计算公式为:
- t = (样本1均值 - 样本2均值) / √((样本1方差 / 样本1容量) + (样本2方差 / 样本2容量))
其中:
- 样本1均值和样本2均值分别是两个样本的平均值
- 样本1方差和样本2方差分别是两个样本的方差
- 样本1容量和样本2容量分别是两个样本的容量
2.3 独立样本 t 检验实例
假设我们有两个样本,分别是两组产品的评分数据,想要比较它们的平均分是否有显著差异。
from scipy import stats
import numpy as np
# 假设数据:两个样本的评分数据
sample_data_1 = np.random.normal(80, 5, 50) # 样本1,均值80,标准差5
sample_data_2 = np.random.normal(85, 5, 50) # 样本2,均值85,标准差5
# 独立样本 t 检验,假设原假设为两组均值相等
t_stat, p_value = stats.ttest_ind(sample_data_1, sample_data_2)
print(f"t-statistic: {t_stat}, p-value: {p_value}")
# 判断 p 值是否小于显著性水平 0.05
if p_value < 0.05:
print("拒绝原假设,两组均值存在显著差异")
else:
print("无法拒绝原假设,两组均值没有显著差异")
3. 样本差异比较
当我们要比较多个样本或群体之间的差异时,可能会使用 方差分析(ANOVA) 方法。方差分析用于检验三个及以上样本均值是否相等。
3.1 方差分析(ANOVA)
- 目的:检验多个样本的均值是否存在显著差异。
- 假设:
- 原假设(H₀):所有组的均值相等。
- 备择假设(H₁):至少有两组的均值不同。
3.2 方差分析的 F 统计量
方差分析的 F 统计量计算公式为:
- F = 组间方差 / 组内方差
其中:
- 组间方差是不同组之间的差异,反映了各组均值之间的离散程度
- 组内方差是组内数据点之间的差异,反映了每组内部的离散程度
3.3 方差分析(ANOVA)实例
假设我们有三个不同产品的评分数据,想要比较这三款产品的评分是否存在显著差异。
from scipy import stats
import numpy as np
# 假设数据:三组产品评分
sample_data_1 = np.random.normal(80, 5, 50) # 产品1评分
sample_data_2 = np.random.normal(85, 5, 50) # 产品2评分
sample_data_3 = np.random.normal(90, 5, 50) # 产品3评分
# 方差分析(ANOVA),假设原假设为三组均值相等
f_stat, p_value = stats.f_oneway(sample_data_1, sample_data_2, sample_data_3)
print(f"F-statistic: {f_stat}, p-value: {p_value}")
# 判断 p 值是否小于显著性水平 0.05
if p_value < 0.05:
print("拒绝原假设,三组均值存在显著差异")
else:
print("无法拒绝原假设,三组均值没有显著差异")
总结
- 单样本分析:用于检验一个样本的均值是否与某个已知的总体均值相等,常用单样本 t 检验。
- 双样本分析:用于比较两个独立样本的均值是否存在显著差异,常用独立样本 t 检验。
- 样本差异比较:用于比较多个样本之间的均值差异,常用方差分析(ANOVA)。