前言
均值对比是数据分析中最重要的内容之一,应用广泛。
- 对比试验前后病人的症状,证明某种药是否有效;
- 对比某个班级两次语文成绩,验证是否有提高;
- 对比某个产品在投放广告前后的销量,看广告是否有效。
这些都属于两均值对比的应用。
均值对比的假设检验方法主要有 Z 检验和 T 检验,它们的区别在于 Z 检验面向总体数据和大样本数据,而 T 检验适用于小规模抽样样本。下面分别介绍 Z 检验和 T 检验。
Z 检验
需要事先知道总体方差,另外,如果总体不服从正态分布,那么样本量要大于等于 30 ;如果总体服从正态分布,那么对样本量没有要求。
Z 检验用于比较样本和总体的均值是否不同或者两个样本的均值是否不同。检验统计量 z 值的分布服从正态分布。
1. 单样本 Z 检验
使用单样本 Z 可以在知道总体的标准差时,估计总体的均值并将它与目标值或参考值进行比较。使用此分析,可以执行以下操作:确定总体均值是否不同于您指定的假设均值。计算可能包括总体均值的值范围。
例子:
质量分析员使用单样本 Z 检验来确定螺栓的平均螺纹长度是否不同于目标值 39 毫米。
如果均值不同于目标值,分析员将使用置信区间来确定差值有可能为多大以及差值是否有实际意义;
实现代码:
import statsmodels.stats.weightstats as sw
arr = [
23,36,42,34,39,34,35,42,53,28,
49,39,46,45,39,38,45,27,43,54,
36,34,48,36,47,44,48,45,44,33,
24,40,50,32,39,31
]
tstats, pvalue = sw.ztest(arr, value=39)
print(tstats, pvalue)
# 输出:0.3859224924939799 0.6995540720244979
# 假设置信度为 0.05 ,由于 p 值大于置信度,接受原假设。所以平均螺纹长度等于 39 。
2. 双样本 Z 检验
在两个总体标准差(s1 和 s2)已知的情况下,检验基于独立样本的两个总体平均值(m1 和 m2)是否相等(或大于/小于)。
实现代码:
import statsmodels.stats.weightstats as sw
arr1