如何在Python中找到临界值

在本文中,我们将学习如何在 Python 中计算 T 检验、Z 检验和卡方检验等不同检验的临界值。查找临界值可用于统计假设检验,以确定观察到的检验统计量是否具有静态显着性。

了解假设检验中的关键值

“在统计假设检验中,统计检验的临界值是检验的接受区域的边界。接受区域是不拒绝零假设的检验统计量值的集合。根据接受区域的形状,可能存在一个或多个临界值。”

– 来源维基百科。

临界值是假设检验中用于确定样本结果是否具有统计显着性的截止点。它们帮助研究人员根据数据做出决策并降低出现 1 类错误的风险。理解临界值对于任何进行假设检验的人来说都是至关重要的。

在深入了解 T 检验、Z 检验和卡方检验之前,我们首先了解左尾检验、右尾检验和双尾检验的概念,这些概念对于假设检验至关重要。

了解左尾检验

在左尾检验中,如果检验统计量很小,我们会拒绝原假设。因此,我们考虑该区域的一侧,即左角。

了解右尾检验

在右尾检验中,如果检验统计量太大,我们会拒绝原假设。为此,我们考虑该区域的一部分,即右角。

了解双尾测试

在此检验中,当检验统计量太小或太大时,原假设将被拒绝,因此两个角点都会被考虑。

T 检验概述

t 检验是一种统计方法,用于确定样本的平均值是否与已知值或另一个样本的平均值显着不同。它广泛用于假设检验,特别是在样本量较小或总体方差未知的情况下。通过比较两个样本的均值,研究人员可以得出关于它们之间差异的结论,并对样本群体做出明智的决定。

Z 测试概述

当样本量对于样本标准差来说足够大时,在总体标准差已知的情况下使用该检验。

卡方检验概述

用于根据零假设下观察到的频率与预期频率之间的差异来检验两个分类变量之间是否存在显着关联。

现在我们对 T 检验、Z 检验和卡方检验有了基本的了解,让我们看看如何使用 Python 计算它们的临界值

执行

在以下部分中,我们将通过示例来演示使用 Python 计算 T 检验、Z 检验和卡方检验的临界值。

要在 Python 中计算 T 检验、Z 检验和卡方检验的临界值,您可以分别使用 scipy.stats 库函数 t.ppf()、norm.ppf() 和 chi2.ppf() 。这些函数可帮助您确定不同假设检验场景(例如左尾检验、右尾检验和双尾检验)的临界值。

示例 1:计算 T 检验的临界值

  • 自由度:在不破坏任何约束的情况下,分析中可以不同的独立值的数量。在这里阅读更多内容
  • 着性水平:衡量在拒绝零假设之前输入样本中必须可用的证明强度的参数。在这里阅读更多内容
from scipy.stats import t
 
alpha = 0.05  # significance level
df = 20   # degrees of freedom
 
t_critical_left = t.ppf(alpha, df)
 
t_critical_right = t.ppf(1-alpha, df)
 
t_critical_two = t.ppf(1-alpha/2, df)
 
print(f"Left-tailed critical t-value: {t_critical_left}")
print(f"Right-tailed critical t-value: {t_critical_right}")
print(f"Two-tailed critical t-value: {t_critical_two}")

scipy.stats我们的 import 中t,显着性水平和自由度存储在变量 alpha 和 df 中。在此代码中,我们计算左、右和双尾 t 临界值,然后打印输出。

输出:

示例 2:计算 z 检验的临界值

from scipy.stats import norm
 
alpha = 0.05  # significance level
 
 
z_critical_left = norm.ppf(alpha)
z_critical_right = norm.ppf(1 - alpha)
 
print(f"Left-tailed critical t-value: {z_critical_left}")
print(f"Right-tailed critical t-value: {z_critical_right}")

norm在上面的代码中,我们通过从函数导入scipy.stats并使用函数来计算 z 检验的左尾和右尾临界值norm.ppf()

输出:

from scipy.stats import norm
 
alpha = 0.05  # significance level
 
# calculate the critical values for a two-tailed test
crit_val_left = norm.ppf(alpha/2)
crit_val_right = norm.ppf(1 - alpha/2)
 
print(f"Critical values for a two-tailed z-test with {alpha:.0%} significance level: {crit_val_left:.4f}, {crit_val_right:.4f}")

输出:

alpha/2为了计算双尾检验临界值,我们考虑在分布的左尾和1 - alpha/2右尾具有累积概率的 z 分数。

示例 3:计算卡方检验的临界值

from scipy.stats import chi2
 
df = 3 
alpha = 0.05 
 
# calculate the critical value for a chi-squared test
crit_val = chi2.ppf(1 - alpha, df)
 
print(f"Critical value : {crit_val:.4f}")

导入后,chi2我们定义scipy.stats中的显着性水平和自由度,并协助计算临界值。alphadfchi2.ppf()

输出:

计算临界值:总结

在本文中,我们演示了如何使用 Python 计算 T 检验、Z 检验和卡方检验的临界值。我们提供了每个测试的概述和基本术语以增强理解。通过这些方法,您可以处理各种假设检验场景,并根据结果做出数据驱动的决策。您准备好将这些技术应用到您自己的研究和假设检验中了吗?您还想学习哪些其他统计测试?

进一步探索: