统计学 - 均值的假设检验
总体 均值 是总体中所有值的平均值。
假设检验用于检查关于总体均值大小的断言。
均值的假设检验
以下步骤用于进行假设检验
- 检查条件
- 定义断言
- 确定显著性水平
- 计算检验统计量
- 结论
例如
- 总体:诺贝尔奖获得者
- 类别:获奖时的年龄。
我们想检查以下断言
"诺贝尔奖获得者获奖时的平均年龄大于55岁"
通过随机抽取30位诺贝尔奖获得者的样本,我们可以发现
样本的平均年龄(\(\bar{x}\))为62.1岁
样本中年龄的标准差(\(s\))为13.46岁
根据这些样本数据,我们使用以下步骤来检验断言。
1. 检查条件
计算比例的置信区间时的条件是
- 样本是 随机抽取的
- 并且要么
- 总体数据呈正态分布
- 样本量足够大
中等大小的样本量,例如30,通常足够大。
在本例中,样本量为30,并且是随机抽取的,因此满足条件。
注意:可以使用专门的统计检验来检查数据是否呈正态分布。
2. 定义断言
我们需要根据要检查的断言定义一个零假设(\(H_{0}\))和一个备择假设(\(H_{1}\))。
断言是
"诺贝尔奖获得者获奖时的平均年龄大于55岁"
在这种情况下,参数是诺贝尔奖获得者获奖时的平均年龄(\(\mu\))。
然后,零假设和备择假设为
零假设:平均年龄为55岁。
备择假设:平均年龄大于55岁。
可以用符号表示为
\(H_{0}\):\(\mu = 55 \)
\(H_{1}\):\(\mu > 55 \)
这是一个'右尾'检验,因为备择假设断言比例大于零假设中的比例。
如果数据支持备择假设,我们拒绝零假设并接受备择假设。
3. 确定显著性水平
显著性水平(\(\alpha\))是在假设检验中拒绝零假设时我们接受的不确定性。
显著性水平是意外得出错误结论的百分比概率。
典型的显著性水平是
- \(\alpha = 0.1\) (10%)
- \(\alpha = 0.05\) (5%)
- \(\alpha = 0.01\) (1%)
较低的显著性水平意味着数据中的证据需要更强才能拒绝零假设。
没有“正确”的显著性水平 - 它只说明结论的不确定性。
注意:5%的显著性水平意味着当我们拒绝零假设时
我们预计会拒绝真实的零假设100次中的5次。
4. 计算检验统计量
检验统计量用于决定假设检验的结果。
检验统计量是从样本中计算出的一个标准化值。
总体均值的检验统计量(TS)公式为
\(\displaystyle \frac{\bar{x} - \mu}{s} \cdot \sqrt{n} \)
\(\bar{x}-\mu\)是样本均值(\(\bar{x}\))和断言的总体均值(\(\mu\))之间的差值。
\(s\)是样本标准差。
\(n\)是样本量。
在我们的例子中
断言的(\(H_{0}\))总体均值(\(\mu\))为\( 55 \)
样本均值(\(\bar{x}\))为\(62.1\)
样本标准差(\(s\))为\(13.46\)
样本量(\(n\))为\(30\)
因此,检验统计量(TS)为
\(\displaystyle \frac{62.1-55}{13.46} \cdot \sqrt{30} = \frac{7.1}{13.46} \cdot \sqrt{30} \approx 0.528 \cdot 5.477 = \underline{2.889}\)
您也可以使用编程语言函数来计算检验统计量
示例
使用 Python 中的 scipy 和 math 库来计算检验统计量。
import scipy.stats as stats
import math
# 指定样本均值 (x_bar)、样本标准差 (s)、零假设中断言的均值 (mu_null) 和样本量 (n)
x_bar = 62.1
s = 13.46
mu_null = 55
n = 30
# 计算并打印检验统计量
print((x_bar - mu_null)/(s/math.sqrt(n)))
自己尝试 »
示例
使用 R 中的内置数学和统计函数来计算检验统计量。
# 指定样本均值 (x_bar)、样本标准差 (s)、零假设中断言的均值 (mu_null) 和样本量 (n)
x_bar <- 62.1
s <- 13.46
mu_null <- 55
n <- 30
# 输出检验统计量
(x_bar - mu_null)/(s/sqrt(n))
自己尝试 »
5. 得出结论
得出假设检验结论主要有两种方法
- 临界值方法将检验统计量与显著性水平的临界值进行比较。
- P值方法将检验统计量的P值与显著性水平进行比较。
注意:这两种方法只是在结论的呈现方式上有所不同。
临界值方法
对于临界值方法,我们需要找到显著性水平(\(\alpha\))的临界值(CV)。
对于总体均值检验,临界值(CV)是来自学生t分布的T值。
这个临界T值(CV)定义了检验的拒绝域。
拒绝域是标准正态分布尾部中的一个概率区域。
因为断言是总体均值大于55,所以拒绝域位于右尾
拒绝域的大小由显著性水平(\(\alpha\))决定。
学生t分布会根据较小样本的不确定性进行调整。
这种调整称为自由度 (df),它等于样本量 \((n) - 1\)
在本例中,自由度 (df) 为:\(30 - 1 = \underline{29} \)
选择 0.01 或 1% 的显著性水平(\(\alpha\)),我们可以从T表中找到临界T值,或者使用编程语言函数找到。
示例
使用 Python 中的 Scipy Stats 库 t.ppf()
函数找到 29 个自由度 (df) 下 \(\alpha\) = 0.01 的 T 值。
import scipy.stats as stats
print(stats.t.ppf(1-0.01, 29))
自己尝试 »
使用任何一种方法,我们都可以发现临界T值为 \(\approx \underline{2.462}\)
对于右尾检验,我们需要检查检验统计量(TS)是否大于临界值(CV)。
如果检验统计量大于临界值,则检验统计量位于拒绝域中。
当检验统计量位于拒绝域中时,我们拒绝零假设(\(H_{0}\))。
这里,检验统计量 (TS) 为 \(\approx \underline{2.889}\),临界值为 \(\approx \underline{2.462}\)
以下是该检验的图形说明。
由于检验统计量大于临界值,因此我们拒绝原假设。
这意味着样本数据支持备择假设。
我们可以总结结论,指出
样本数据支持“诺贝尔奖获得者获奖时的平均年龄超过 55 岁”这一说法,显著性水平为 1%。
P 值方法
对于 P 值方法,我们需要找到检验统计量 (TS) 的P 值。
如果 P 值小于显著性水平 (\(\alpha\)),则拒绝原假设 (\(H_{0}\))。
检验统计量被发现为 \( \approx \underline{2.889} \)
对于总体比例检验,检验统计量是来自学生 t 分布的 T 值。
因为这是一个右尾检验,我们需要找到大于 2.889 的 t 值的 P 值。
学生 t 分布根据自由度 (df) 进行调整,自由度为样本量 \((30) - 1 = \underline{29}\)
我们可以使用T 表或编程语言函数找到 P 值。
示例
使用 Python 的 Scipy Stats 库中的 t.cdf()
函数找到 29 个自由度 (df) 下大于 2.889 的 T 值的 P 值。
import scipy.stats as stats
print(1-stats.t.cdf(2.889, 29))
自己尝试 »
使用任何一种方法,我们都可以发现 P 值为 \(\approx \underline{0.0036}\)
这告诉我们,显著性水平 (\(\alpha\)) 需要大于 0.0036 或 0.36%,才能拒绝原假设。
以下是该检验的图形说明。
这个 P 值小于所有常见的显著性水平 (10%、5%、1%)。
因此,在所有这些显著性水平下,原假设都会被拒绝。
我们可以总结结论,指出
样本数据支持“诺贝尔奖获得者获奖时的平均年龄超过 55 岁”这一说法,显著性水平为 10%、5% 或 1%。
注意:假设检验结果以 0.36% 的 p 值拒绝原假设意味着
对于这个 p 值,我们预计只会在 10000 次中拒绝 36 次真原假设。
使用编程计算假设检验的 P 值
许多编程语言可以计算 P 值,以决定假设检验的结果。
对于较大的数据集,使用软件和编程来计算统计数据更为常见,因为手动计算变得很困难。
这里计算的 P 值将告诉我们可能的最低显著性水平,在该水平下可以拒绝原假设。
示例
使用 Python 的 scipy 和 math 库计算均值右尾假设检验的 P 值。
这里,样本量为 30,样本均值为 62.1,样本标准差为 13.46,检验是针对大于 55 的均值。
import scipy.stats as stats
import math
# 指定样本均值 (x_bar)、样本标准差 (s)、零假设中断言的均值 (mu_null) 和样本量 (n)
x_bar = 62.1
s = 13.46
mu_null = 55
n = 30
# 计算检验统计量
test_stat = (x_bar - mu_null)/(s/math.sqrt(n))
# 输出检验统计量的 p 值(右尾检验)
print(1-stats.t.cdf(test_stat, n-1))
自己尝试 »
示例
使用 R 的内置数学和统计函数找到均值右尾假设检验的 P 值。
这里,样本量为 30,样本均值为 62.1,样本标准差为 13.46,检验是针对大于 55 的均值。
# 指定样本均值 (x_bar)、样本标准差 (s)、零假设中断言的均值 (mu_null) 和样本量 (n)
x_bar <- 62.1
s <- 13.46
mu_null <- 55
n <- 30
# 计算检验统计量
test_stat = (x_bar - mu_null)/(s/sqrt(n))
# P 值是检验统计量的 p 值(右尾检验)
1-pt(test_stat, n-1)
自己尝试 »
左尾检验和双尾检验
这是一个右尾检验的示例,其中备择假设声称参数大于原假设的声明。
你可以在这里查看其他类型的等效逐步指南