Whiz Tools

临界值计算器

介绍

临界值在统计假设检验中至关重要。它们定义了我们拒绝零假设以支持备择假设的阈值。通过计算临界值,研究人员可以确定他们的检验统计量是否落在拒绝区域内,并根据数据做出明智的决策。

此计算器帮助您找到最常用统计检验的单尾和双尾临界值,包括 Z 检验、t 检验和卡方检验。它支持各种显著性水平和自由度,为您的统计分析提供准确的结果。

如何使用此计算器

  1. 选择检验类型

    • Z 检验:适用于大样本或已知总体方差。
    • t 检验:当样本量较小且总体方差未知时使用。
    • 卡方检验:用于分类数据和适合度检验。
  2. 选择尾部类型

    • 单尾检验:检验方向性效应(例如,大于或小于某个值)。
    • 双尾检验:检验无论方向的任何显著差异。
  3. 输入显著性水平(( \alpha ))

    • 介于 0 和 1 之间的值(常用选择为 0.05、0.01、0.10)。
    • 表示在零假设为真的情况下拒绝零假设的概率(第一类错误)。
  4. 输入自由度(如适用)

    • t 检验和卡方检验所需。
    • 对于 t 检验:( df = n - 1 ),其中 ( n ) 是样本量。
    • 对于卡方检验:( df = ) 类别数减去 1。
  5. 计算

    • 点击 计算 按钮以获得临界值。
    • 结果将显示与您的输入对应的临界值。

公式

Z 检验临界值

对于标准正态分布:

  • 单尾检验Zc=Φ1(1α)Z_c = \Phi^{-1}(1 - \alpha)
  • 双尾检验Zc=Φ1(1α2)Z_c = \Phi^{-1}\left(1 - \dfrac{\alpha}{2}\right)

其中:

  • ( \Phi^{-1} ) 是标准正态分布的逆累积分布函数(分位数函数)。

t 检验临界值

对于具有 ( df ) 自由度的 t 分布:

  • 单尾检验tc=t1(1α,df)t_c = t^{-1}(1 - \alpha, df)
  • 双尾检验tc=t1(1α2,df)t_c = t^{-1}\left(1 - \dfrac{\alpha}{2}, df\right)

其中:

  • ( t^{-1}(p, df) ) 是具有 ( df ) 自由度的 t 分布的 p-th 分位数。

卡方检验临界值

对于具有 ( df ) 自由度的卡方分布:

  • 单尾检验χc2=χ1α,df2\chi^2_c = \chi^2_{1 - \alpha, df}
  • 双尾检验(提供上下临界值):
    • 下临界值: χlower2=χα/2,df2\chi^2_{\text{lower}} = \chi^2_{\alpha/2, df}
    • 上临界值: χupper2=χ1α/2,df2\chi^2_{\text{upper}} = \chi^2_{1 - \alpha/2, df}

其中:

  • ( \chi^2_{p, df} ) 是具有 ( df ) 自由度的卡方分布的 p-th 分位数。

计算

计算器执行以下步骤:

  1. 输入验证

    • 检查 ( \alpha ) 是否在 0 和 1 之间(0 < ( \alpha ) < 1)。
    • 验证 ( df ) 是否为正整数(对于 t 检验和卡方检验)。
  2. 根据尾部类型调整显著性水平

    • 对于双尾检验,将 ( \alpha ) 除以 2。
  3. 计算临界值

    • 使用统计分布函数查找临界值。
    • 确保即使对于极端的 ( \alpha ) 值和 ( df ) 也能保持准确性。
  4. 显示结果

    • 结果四舍五入到小数点后四位。
    • 对于双尾卡方检验,提供下临界值和上临界值。

边缘情况和注意事项

  • 极端显著性水平(( \alpha ) 接近 0 或 1)

    • 当 ( \alpha ) 接近 0 时,临界值接近无穷大。
    • 当 ( \alpha ) 极小(例如,小于 ( 10^{-10} ))时,临界值可能计算为无穷大或未定义。
    • 处理:计算器将显示“无穷大”或“未定义”。用户应谨慎解读这些结果,并考虑这种极端显著性水平是否适合他们的分析。
  • 大自由度(( df ))

    • 随着 ( df ) 的增加,t 分布和卡方分布接近正态分布。
    • 对于非常大的 ( df ),临界值可能由于计算限制而变得未定义。
    • 处理:当 ( df ) 超过实际计算限制时,计算器会提供警告。在这种情况下,考虑使用 Z 检验作为近似值。
  • 小自由度(( df \leq 1 ))

    • 对于 ( df = 1 ),t 分布和卡方分布具有重尾。
    • 临界值可能非常大或未定义。
    • 处理:如果 ( df ) 太小以至于无法获得可靠结果,计算器会提醒用户。
  • 单尾与双尾检验

    • 选择正确的尾部类型对于准确的临界值至关重要。
    • 错误使用可能导致假设检验中的错误结论。
    • 指导:确保您的研究问题与所选尾部类型一致。

用例

临界值在各个领域中得到应用:

  1. 学术研究

    • 在实验和研究中检验假设。
    • 确定结果的统计显著性。
  2. 质量保证

    • 监控生产过程。
    • 使用控制图检测异常。
  3. 医疗和医学

    • 评估新治疗或药物的有效性。
    • 分析临床试验结果。
  4. 金融和经济

    • 评估市场趋势和经济指标。
    • 基于数据做出投资决策。

替代方案

  • p 值

    • 优点
      • 提供获得至少与观察值同样极端的检验统计量的确切概率。
      • 允许更细致的决策,而不是严格的临界值。
    • 缺点
      • 可能被误解;小 p 值并不衡量效应的大小或重要性。
      • 依赖于样本大小;大样本可能会因微不足道的效应而产生小 p 值。
  • 置信区间

    • 优点
      • 提供一个值范围,真实参数可能落在其中。
      • 提供有关估计精度的信息。
    • 缺点
      • 不直接用于假设检验。
      • 结果的解释可能比较复杂,特别是当置信区间重叠时。
  • 贝叶斯方法

    • 优点
      • 将先前的知识或信念纳入分析。
      • 提供参数估计的概率分布。
    • 缺点
      • 需要指定先验分布,这可能是主观的。
      • 对于复杂模型,计算量大。
  • 非参数检验

    • 优点
      • 不假设特定分布。
      • 当数据不满足参数检验的假设时很有用。
    • 缺点
      • 当满足假设时,通常不如参数检验有效。
      • 结果的解释可能不那么直接。

历史

临界值的发展与统计推断的演变密切相关:

  • 20 世纪初

    • 卡尔·皮尔逊在 1900 年引入了卡方检验,为适合度检验奠定了基础。
    • 威廉·戈塞特(笔名“学生”)在 1908 年为小样本开发了 t 分布。
  • 罗纳德·费舍尔

    • 在 1920 年代,费舍尔正式化了统计假设检验的概念。
    • 引入了“显著性水平”一词,并强调选择适当的临界值。
  • 计算机的进步

    • 计算机的出现使得各种分布的临界值可以精确计算。
    • 统计软件现在可以快速准确地提供结果,促进了在研究中的广泛应用。

示例

示例 1:计算 Z 检验临界值(单尾)

场景: 一家公司希望测试新过程是否减少了平均生产时间。他们设定 ( \alpha = 0.05 )。

解决方案

  • 临界值: Zc=Φ1(1α)=Φ1(0.95)1.6449Z_c = \Phi^{-1}(1 - \alpha) = \Phi^{-1}(0.95) \approx 1.6449

代码示例

Python
import scipy.stats as stats

alpha = 0.05
Z_c = stats.norm.ppf(1 - alpha)
print(f"临界值 (Z_c): {Z_c:.4f}")
JavaScript
// JavaScript 示例用于 Z 检验临界值
function calculateZCriticalValue(alpha) {
  return jStat.normal.inv(1 - alpha, 0, 1);
}

const alpha = 0.05;
const Z_c = calculateZCriticalValue(alpha);
console.log(`临界值 (Z_c): ${Z_c.toFixed(4)}`);

注意:需要 jStat 库以获取统计函数。

Excel
' Excel 公式用于 Z 检验临界值(单尾)
' 在一个单元格中输入:
=NORM.S.INV(1 - 0.05)

' 结果:
' 返回 1.6449

示例 2:计算 t 检验临界值(双尾)

场景: 一位研究人员对 20 名参与者进行实验(( df = 19 )),并使用 ( \alpha = 0.01 )。

解决方案

  • 临界值: tc=t1(1α2,df)=t1(0.995,19)2.8609t_c = t^{-1}\left(1 - \dfrac{\alpha}{2}, df\right) = t^{-1}(0.995, 19) \approx 2.8609

代码示例

R
alpha <- 0.01
df <- 19
t_c <- qt(1 - alpha / 2, df)
print(paste("临界值 (t_c):", round(t_c, 4)))
MATLAB
alpha = 0.01;
df = 19;
t_c = tinv(1 - alpha / 2, df);
fprintf('临界值 (t_c): %.4f\n', t_c);
JavaScript
// JavaScript 示例用于 t 检验临界值
function calculateTCriticalValue(alpha, df) {
  return jStat.studentt.inv(1 - alpha / 2, df);
}

const alpha = 0.01;
const df = 19;
const t_c = calculateTCriticalValue(alpha, df);
console.log(`临界值 (t_c): ${t_c.toFixed(4)}`);

注意:需要 jStat 库。

Excel
' Excel 公式用于 t 检验临界值(双尾)
' 在一个单元格中输入:
=T.INV.2T(0.01, 19)

' 结果:
' 返回 2.8609

示例 3:计算卡方检验临界值(双尾)

场景: 一位分析师在 5 个类别(( df = 4 ))中测试观察数据与预期频率的适合度,显著性水平为 ( \alpha = 0.05 )。

解决方案

  • 下临界值: χlower2=χα/2,df2=χ0.025,420.7107\chi^2_{\text{lower}} = \chi^2_{\alpha/2, df} = \chi^2_{0.025, 4} \approx 0.7107
  • 上临界值: χupper2=χ1α/2,df2=χ0.975,4211.1433\chi^2_{\text{upper}} = \chi^2_{1 - \alpha/2, df} = \chi^2_{0.975, 4} \approx 11.1433

代码示例

Python
import scipy.stats as stats

alpha = 0.05
df = 4
chi2_lower = stats.chi2.ppf(alpha / 2, df)
chi2_upper = stats.chi2.ppf(1 - alpha / 2, df)
print(f"下临界值: {chi2_lower:.4f}")
print(f"上临界值: {chi2_upper:.4f}")
MATLAB
alpha = 0.05;
df = 4;
chi2_lower = chi2inv(alpha / 2, df);
chi2_upper = chi2inv(1 - alpha / 2, df);
fprintf('下临界值: %.4f\n', chi2_lower);
fprintf('上临界值: %.4f\n', chi2_upper);
JavaScript
// JavaScript 示例用于卡方检验临界值
function calculateChiSquaredCriticalValues(alpha, df) {
  const lower = jStat.chisquare.inv(alpha / 2, df);
  const upper = jStat.chisquare.inv(1 - alpha / 2, df);
  return { lower, upper };
}

const alpha = 0.05;
const df = 4;
const chi2_vals = calculateChiSquaredCriticalValues(alpha, df);
console.log(`下临界值: ${chi2_vals.lower.toFixed(4)}`);
console.log(`上临界值: ${chi2_vals.upper.toFixed(4)}`);

注意:需要 jStat 库。

Excel
' Excel 公式用于卡方检验临界值(双尾)
' 下临界值(在一个单元格中):
=CHISQ.INV(0.025, 4)

' 上临界值(在另一个单元格中):
=CHISQ.INV(0.975, 4)

' 结果:
' 下临界值: 0.7107
' 上临界值: 11.1433

示例 4:处理极端值(边缘情况)

场景: 进行测试,显著性水平为极小的 ( \alpha = 0.0001 ) 和 ( df = 1 )。

解决方案

  • 对于单尾 t 检验: tc=t1(1α,df)t_c = t^{-1}(1 - \alpha, df)

  • 临界值接近非常大的数字。

代码示例(Python)

import scipy.stats as stats

alpha = 0.0001
df = 1
t_c = stats.t.ppf(1 - alpha, df)
print(f"临界值 (t_c): {t_c}")

结果

输出将显示一个非常大的临界值,表明在如此小的 ( \alpha ) 和低 ( df ) 下,临界值极高,可能接近无穷大。这例证了极端输入可能导致的计算挑战。

在计算器中的处理

计算器将返回“无穷大”或“未定义”以处理此类情况,并建议用户考虑调整显著性水平或使用替代方法。

可视化

理解临界值通过可视化分布曲线和阴影拒绝区域得到增强。

正态分布(Z 检验)

z f(z)

0 1.96 标准正态分布 拒绝 区域 接受 区域 临界值

一个 SVG 图示,说明标准正态分布,标记了临界值。临界值以外的区域表示拒绝区域。X 轴表示 z 分数,Y 轴表示概率密度函数 f(z)。

t 分布

t f(t)

0 -2.101 2.101 t 分布 (df = 20) 左拒绝 区域 右拒绝 区域 接受 区域 临界值 临界值

一个 SVG 图示,展示了指定自由度的 t 分布,标记了临界值。值得注意的是,t 分布的尾部比正态分布更重。

卡方分布

χ²L χ²U

χ² 概率密度 卡方分布 双尾检验

一个 SVG 图示,描绘了卡方分布,标记了双尾检验的上下临界值。该分布向右偏斜。

注意:SVG 图示嵌入在内容中以增强理解。每个图示都准确标记,颜色选择与 Tailwind CSS 互补。

参考文献

  1. 皮尔逊,K. (1900). 关于给定系统的偏差的标准,相关变量的情况下,合理假设其来自随机抽样的可能性. 哲学杂志系列 5, 50(302), 157–175. 链接

  2. 学生(戈塞特,W. S.) (1908). 均值的可能误差. 生物统计学,6(1), 1–25. 链接

  3. 费舍尔,R. A. (1925). 研究工作者的统计方法. 爱丁堡:奥利弗与博伊德。

  4. NIST/SEMATECH 电子统计方法手册. 临界值. 链接

  5. 维基百科. 临界值. 链接

Feedback