在统计学中,假设检验是用于判断样本数据是否支持某个关于总体的假设的过程。以下是一些常见的假设检验方法,结合案例和代码进行讲解。
Z检验
Z检验通常用于样本量较大(一般$n > 30$)且知道总体标准差的情况。其主要用于检验总体均值是否等于某个特定值。
案例
假设某公司声称其员工的平均工资为5000元,现随机选取了50名员工,计算出他们的平均工资为5200元,标准差为1000元。我们需要检验这个声称是否合理。
步骤
制定假设:
- 零假设$H_0$: $\mu = 5000$
- 备择假设$H_1$: $\mu \neq 5000$
计算Z值:
$$ Z = \frac{\bar{x} - \mu_0}{\sigma / \sqrt{n}} = \frac{5200 - 5000}{1000 / \sqrt{50}} $$
查找临界值:
通常选择显著性水平$\alpha = 0.05$,查找相应的Z临界值(两尾检验)。
决定:
比较计算得到的Z值与临界值,决定是否拒绝$H_0$。
Python代码示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import numpy as np import scipy.stats as stats
sample_mean = 5200 population_mean = 5000 std_dev = 1000 n = 50
z_value = (sample_mean - population_mean) / (std_dev / np.sqrt(n)) p_value = 2 * (1 - stats.norm.cdf(abs(z_value)))
print(f"Z值: {z_value}, P值: {p_value}")
|
t检验
t检验适用于样本量较小(一般$n \leq 30$)或不知道总体标准差的情况。它用于检验总体均值是否等于某个特定值。
案例
假设一所学校希望知道新教学法是否提高了学生的考试成绩。选取10名学生,成绩分别为85, 90, 88, 91, 92, 94, 89, 87, 93, 86,已知总体均值为80。
步骤
制定假设:
- 零假设$H_0$: $\mu = 80$
- 备择假设$H_1$: $\mu \neq 80$
计算t值:
$$ t = \frac{\bar{x} - \mu_0}{s / \sqrt{n}} $$
其中$s$为样本标准差。
查找t临界值:
根据自由度$n-1$查找对应的t临界值。
决定:
比较计算得到的t值与临界值,决定是否拒绝$H_0$。
Python代码示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import numpy as np import scipy.stats as stats
scores = np.array([85, 90, 88, 91, 92, 94, 89, 87, 93, 86]) sample_mean = np.mean(scores) population_mean = 80 n = len(scores) std_dev = np.std(scores, ddof=1)
t_value = (sample_mean - population_mean) / (std_dev / np.sqrt(n)) p_value = 2 * (1 - stats.t.cdf(abs(t_value), df=n-1))
print(f"t值: {t_value}, P值: {p_value}")
|
卡方检验
卡方检验用于检验分类数据的分布是否符合预期,或检验两个分类变量之间是否独立。
案例
假设我们想检验某种药物对患者回复状态的影响。我们有两个分类:药物组和对照组,观察到如下数据:
|
好转 |
不好转 |
药物组 |
30 |
10 |
对照组 |
20 |
20 |
步骤
制定假设:
- 零假设$H_0$: 药物组和对照组的好转率无显著差异。
- 备择假设$H_1$: 药物组和对照组的好转率有显著差异。
构造卡方统计量:
$$ \chi^2 = \sum \frac{(O_i - E_i)^2}{E_i} $$
其中$O_i$为观察频数,$E_i$为期望频数。
决定:
查找相应的卡方临界值,计算得到的卡方值与临界值进行比较。
Python代码示例
1 2 3 4 5 6 7 8 9
| import scipy.stats as stats
observed = np.array([[30, 10], [20, 20]])
chi2, p_value, dof, expected = stats.chi2_contingency(observed)
print(f"卡方值: {chi2}, P值: {p_value}, 期望频数: {expected}")
|
结论
假设检验是一种重要的统计工具,帮助我们根据样本数据评估总体特征。熟练掌握上述常见的假设检验方法,有助于在实际数据分析中做出合理的推论与决策。