Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

统计 - 比例假设检验(双尾)


总体比例是指属于特定类别的总体中的一部分。

假设检验用于检验关于该总体比例大小的声明。


比例假设检验

以下步骤用于假设检验

  1. 检查条件
  2. 定义声明
  3. 确定显著性水平
  4. 计算检验统计量
  5. 结论

例如

  • 总体:诺贝尔奖获得者
  • 类别:女性

我们想检验以下声明

"诺贝尔奖获得者中女性的比例是 50%"

通过随机抽取 100 名诺贝尔奖获得者的样本,我们发现

样本中 100 名诺贝尔奖获得者中有 10 名女性

样本比例为:\(\displaystyle \frac{10}{100} = 0.1\),或 10%。

根据此样本数据,我们通过以下步骤检验该声明。


1. 检查条件

计算比例置信区间的条件是

  • 样本是随机抽取的
  • 只有两种选择
    • 属于该类别
    • 不属于该类别
  • 样本至少需要
    • 5 个属于该类别的成员
    • 5 个不属于该类别的成员

在我们这个例子中,我们随机抽取了 10 名女性。

其余不是女性,所以另一类有 90 个。

在这种情况下,条件满足。

注意:即使没有 5 个类别,也可以进行假设检验。但是需要进行特殊调整。


2. 定义声明

我们需要根据要检验的声明定义零假设(\(H_{0}\))和备择假设(\(H_{1}\))。

该声明是

"诺贝尔奖获得者中女性的比例是 50%"

在这种情况下,参数是女性诺贝尔奖获得者所占比例(\(p\))。

然后,零假设和备择假设为

零假设:50% 的诺贝尔奖获得者是女性。

备择假设:女性诺贝尔奖获得者所占比例是 50%

可以用符号表示为

\(H_{0}\):\(p = 0.50 \)

\(H_{1}\):\(p \neq 0.50 \)

这是一个“双尾”检验,因为备择假设声称比例不同(大于或小于)于零假设中的比例。

如果数据支持备择假设,我们拒绝零假设并接受备择假设。



3. 确定显著性水平

显著性水平(\(\alpha\))是我们在假设检验中拒绝零假设时接受的不确定性

显著性水平是偶然得出错误结论的百分比概率。

典型的显著性水平为

  • \(\alpha = 0.1\) (10%)
  • \(\alpha = 0.05\) (5%)
  • \(\alpha = 0.01\) (1%)

较低的显著性水平意味着数据中的证据需要更强才能拒绝零假设。

没有“正确”的显著性水平 - 它只说明结论的不确定性。

注意:5% 的显著性水平意味着当我们拒绝零假设时

我们预计会拒绝一个真实的零假设 5 次中的 1 次。


4. 计算检验统计量

检验统计量用于决定假设检验的结果。

检验统计量是根据样本计算的标准化值。

总体比例的检验统计量 (TS) 公式为

\(\displaystyle \frac{\hat{p} - p}{\sqrt{p(1-p)}} \cdot \sqrt{n} \)

\(\hat{p}-p\) 是样本比例(\(\hat{p}\))与声称的总体比例(\(p\))之间的差值

\(n\) 是样本量。

在我们这个例子中

声称的(\(H_{0}\))总体比例(\(p\))为 \( 0.50 \)

样本比例(\(\hat{p}\))为 100 中的 10 个,或:\(\displaystyle \frac{10}{100} = 0.10\)

样本量(\(n\))为 \(100\)

所以检验统计量 (TS) 为

\(\displaystyle \frac{0.1-0.5}{\sqrt{0.5(1-0.5)}} \cdot \sqrt{100} = \frac{-0.4}{\sqrt{0.5(0.5)}} \cdot \sqrt{100} = \frac{-0.4}{\sqrt{0.25}} \cdot \sqrt{100} = \frac{-0.4}{0.5} \cdot 10 = \underline{-8}\)

您还可以使用编程语言函数计算检验统计量

示例

使用 Python 的 scipy 和 math 库计算比例的检验统计量。

import scipy.stats as stats
import math

# 指定发生次数 (x)、样本量 (n) 和零假设中声称的比例 (p)
x = 10
n = 100
p = 0.5

# 计算样本比例
p_hat = x/n

# 计算并打印检验统计量
print((p_hat-p)/(math.sqrt((p*(1-p))/(n))))
自己试试 »

示例

使用 R 的内置数学函数计算比例的检验统计量。

# 指定样本发生次数 (x)、样本量 (n) 和零假设声明 (p)
x <- 10
n <- 100
p <- 0.5

# 计算样本比例
p_hat = x/n

# 计算并输出检验统计量
(p_hat-p)/(sqrt((p*(1-p))/(n)))
自己试试 »

5. 结论

得出假设检验结论的主要方法有两种

  • 临界值方法将检验统计量与显著性水平的临界值进行比较。
  • P 值方法将检验统计量的 P 值与显著性水平进行比较。

注意:这两种方法只是在呈现结论的方式上有所不同。

临界值方法

对于临界值方法,我们需要找到显著性水平(\(\alpha\))的临界值(CV)。

对于总体比例检验,临界值 (CV) 是标准正态分布中的Z 值

此临界 Z 值 (CV) 定义了检验的拒绝域

拒绝域是标准正态分布尾部中的一个概率区域。

由于该声明是总体比例不同于 50%,因此拒绝域被分成左尾和右尾

Standard Normal Distribution with a left and right tail area (rejection region) denoted as the greek symbol alpha

拒绝域的大小由显著性水平(\(\alpha\))决定。

选择 0.01 或 1% 的显著性水平(\(\alpha\)),我们可以从Z 表或使用编程语言函数找到临界 Z 值

注意:由于这是一个双尾检验,因此尾部区域(\(\alpha\))需要分成两半(除以 2)。

示例

使用 Python 的 Scipy Stats 库 norm.ppf() 函数找到左尾中 \(\alpha\)/2 = 0.005 的 Z 值。

import scipy.stats as stats
print(stats.norm.ppf(0.005))
自己试试 »

示例

使用 R 的内置 qnorm() 函数找到左尾中 \(\alpha\) = 0.005 的 Z 值。

qnorm(0.005)
自己试试 »

使用任一方法,我们可以发现左侧尾部的临界 Z 值约为 \(\approx \underline{-2.5758}\)

由于正态分布是对称的,我们知道右侧尾部的临界 Z 值将是相同的数字,只是为正:\(\underline{2.5758}\)

对于**双尾**检验,我们需要检查检验统计量 (TS) 是否**小于**负临界值 (-CV),**或大于**正临界值 (CV)。

如果检验统计量小于**负**临界值,则检验统计量位于**拒绝域**。

如果检验统计量大于**正**临界值,则检验统计量位于**拒绝域**。

当检验统计量位于拒绝域时,我们**拒绝**原假设 (\(H_{0}\))。

这里,检验统计量 (TS) 约为 \(\approx \underline{-8}\),而临界值约为 \(\approx \underline{-2.5758}\)

以下是该检验在图表中的说明

Standard Normal Distribution with a left tail area (rejection region) equal to 0.01, a critical value of -2.3263, and a test statistic of -2.543

由于检验统计量**小于**负临界值,我们**拒绝**原假设。

这意味着样本数据支持备择假设。

我们可以总结结论,指出

样本数据**支持**这样的说法:“诺贝尔奖获得者中女性的比例**不**是 50%”,置信水平为**1%**。

P 值方法

对于 P 值方法,我们需要找到检验统计量 (TS) 的**P 值**。

如果 P 值**小于**显著性水平 (\(\alpha\)),我们**拒绝**原假设 (\(H_{0}\))。

检验统计量被发现为 \( \approx \underline{-8} \)

对于总体比例检验,检验统计量是来自标准正态分布的 Z 值。

因为这是一个**双尾**检验,我们需要找到小于 -8 的 Z 值的 P 值,并**乘以 2**。

我们可以使用Z 表或编程语言函数找到 P 值

示例

使用 Python,使用 Scipy Stats 库中的 norm.cdf() 函数找到小于 -8 的 Z 值的 P 值,用于双尾检验

import scipy.stats as stats
print(2*stats.norm.cdf(-8))
自己试试 »

示例

使用 R,使用内置的 pnorm() 函数找到小于 -8 的 Z 值的 P 值,用于双尾检验

2*pnorm(-8)
自己试试 »

使用任一方法,我们可以发现 P 值约为 \(\approx \underline{1.25 \cdot 10^{-15}}\) 或 \(0.00000000000000125\)

这告诉我们,显著性水平 (\(\alpha\)) 需要大于 0.000000000000125%,才能**拒绝**原假设。

以下是该检验在图表中的说明

这个 P 值**小于**所有常见的显著性水平 (10%,5%,1%)。

因此,在所有这些显著性水平上,原假设都被**拒绝**。

我们可以总结结论,指出

样本数据**支持**这样的说法:“诺贝尔奖获得者中女性的比例不为 50%”,置信水平为**10%,5% 和 1%**。


使用编程计算假设检验的 P 值

许多编程语言可以计算 P 值以确定假设检验的结果。

对于更大的数据集,使用软件和编程来计算统计数据更为常见,因为手动计算会变得很困难。

这里计算的 P 值将告诉我们**最低可能的显著性水平**,在这个水平上可以拒绝原假设。

示例

使用 Python,使用 scipy 和 math 库来计算比例的双尾假设检验的 P 值。

这里,样本量为 100,出现次数为 10,检验是针对不同于 0.50 的比例。

import scipy.stats as stats
import math

# 指定发生次数 (x)、样本量 (n) 和零假设中声称的比例 (p)
x = 10
n = 100
p = 0.5

# 计算样本比例
p_hat = x/n

# 计算检验统计量
test_stat = (p_hat-p)/(math.sqrt((p*(1-p))/(n)))

# 输出检验统计量的 P 值(双尾检验)
print(2*stats.norm.cdf(test_stat))
自己试试 »

示例

使用 R,使用内置的 prop.test() 函数找到比例的左尾假设检验的 P 值。

这里,样本量为 100,出现次数为 10,检验是针对不同于 0.50 的比例。

# 指定样本发生次数 (x)、样本量 (n) 和零假设声明 (p)
x <- 10
n <- 100
p <- 0.5

# 在 0.01 显著性水平下的左尾比例检验的 P 值
prop.test(x, n, p, alternative = c("two.sided"), conf.level = 0.99, correct = FALSE)$p.value
自己试试 »

**注意:**R 代码中的 conf.level 与显著性水平相反。

这里,显著性水平为 0.01 或 1%,因此 conf.level 为 1-0.01 = 0.99 或 99%。


左尾检验和双尾检验

这是一个**双**尾检验的示例,其中备择假设声称参数**不同于**原假设的主张。

您可以在此处查看其他类型等效的逐步指南


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.