📜  使用 R 编程进行假设检验的 II 类错误

📅  最后修改于: 2022-05-13 01:55:43.664000             🧑  作者: Mango

使用 R 编程进行假设检验的 II 类错误

在本文中,我们将看到什么是假设检验中的误差,假设检验中出现的不同类型的误差,以及如何计算它们假设是我们在数据模型制定过程中假设为真的各种假设的总和。用 R 编程很容易计算假设中的 II 类错误。

什么是假设检验中的误差?

在假设检验中,误差是对特定假设的批准或拒绝的估计。假设检验中主要有两种类型的错误:

  1. I 型错误(也称为 alpha 错误) :当我们拒绝 Null 假设但 Null 假设是正确的时,会发生 I 型错误。这种情况也称为误报。
  2. II类错误(也称为beta错误) :当原假设不正确/备择假设正确时,我们未能消除原假设,就会发生第二类错误。这种情况也称为假阴性。
  • 第一类错误的数学定义: P(拒绝 H o的概率 / H o为真的概率)= P(拒绝 H o | H o为真)
  • II类错误的数学定义: P(未能去除H o的概率/H o为假的概率)= P(接受H o | H o假)

示例:陪审团/法院

在此示例中,我们正在考虑陪审团/法院对案件的决定。陪审团可以决定的两个决定是定罪者有罪和无罪。因此,假设下陈述的两个假设。对于每一个决定,真相可能是,罪犯是真的有罪,而罪犯实际上是无罪的。因此有两种类型的错误。

  • H o = 无罪
  • H a = 有罪

在上面的例子中,

  • I 型错误将是:监狱中的无辜
  • 第二类错误将是:有罪释放

如何计算R 编程中的 II 类错误?

可以使用以下公式计算 II 类误差。但在本文中,我们将使用 R 编程来计算II 类错误

计算 R 中 II 类错误的代码:

R
# A small function to calculate
# the type II error in R
typeII.test <- function(mu0, TRUEmu, sigma, n,
                        alpha, iterations = 10000){
  pvals <- rep(NA, iterations)
  for(i in 1 : iterations){
    temporary.sample <- rnorm(n = n, mean = TRUEmu,
                              sd = sigma)
    temporary.mean <- sd(temporary.sample)
    temporary.sd <- sd(temporary.sample)
    pvals[i] <- 1 - pt((temporary.mean - mu0)/(temporary.sd / sqrt(n)),
                       df = n - 1)
  }
  return(mean(pvals >= alpha))
}


R
# Calculating the type II error
# on a dummy Set
 
# sample size
n = 10
 
# standard deviation
sigma = 3
 
# significance level
alpha = 0.03
 
# hypothetical lower bound
mu0 = 4
 
# assumed actual mean
TRUEmu = 10
 
# applying the function
typeII.test(mu0, TRUEmu, sigma, n,
            alpha, iterations = 10000)


R
# Calculating the type II error
# on a dummy Set
 
# sample size
n = 10
 
# standard deviation
sigma = 5
 
# significance level
alpha = 0.03
 
# hypothetical lower bound
mu0 = 4
 
# assumed actual mean
TRUEmu = 10
 
# applying the function
typeII.test(mu0, TRUEmu, sigma, n,
            alpha, iterations = 10000)


首先,复制上面的函数并在R studio中运行它。然后这样做。  



电阻

# Calculating the type II error
# on a dummy Set
 
# sample size
n = 10
 
# standard deviation
sigma = 3
 
# significance level
alpha = 0.03
 
# hypothetical lower bound
mu0 = 4
 
# assumed actual mean
TRUEmu = 10
 
# applying the function
typeII.test(mu0, TRUEmu, sigma, n,
            alpha, iterations = 10000)

输出:

[1] 3e-04

在虚拟集上放置不同的值:

电阻

# Calculating the type II error
# on a dummy Set
 
# sample size
n = 10
 
# standard deviation
sigma = 5
 
# significance level
alpha = 0.03
 
# hypothetical lower bound
mu0 = 4
 
# assumed actual mean
TRUEmu = 10
 
# applying the function
typeII.test(mu0, TRUEmu, sigma, n,
            alpha, iterations = 10000)

输出:

[1] 0.0599