R中pwrss包的语法解释(比例数据的功效分析)

问题描述 投票:0回答:1

我很难将我的研究问题翻译成正确的语法,因为 pwrss 包的 documentation 似乎很模糊。我的目标是计算检测假设的未来 30% 比例增加和减少的功效(例如,将其称为 0.5。+/-30% 分别 = 0.65 和 0.35),但我不确定我应该使用哪个测试或如何输入信息。例如:

一个比例与一个常数。 p 是“预期比例”,p0 是“要比较的常数(也是比例......)”。

pwrss.z.prop(p, p0 = 0, margin = 0, arcsin.trans = FALSE, alpha = 0.05, 
alternative = c("not equal","greater","less", "equivalent","non-inferior","superior"), 
n = NULL, power = NULL, verbose = TRUE)

两个比例之间的差异。这里,p1 是“第一组中的预期比例”,而 p2 是“第二组中的预期比例”。

pwrss.z.2props(p1, p2, margin = 0, arcsin.trans = FALSE, kappa = 1, alpha = 0.05, 
alternative = c("not equal","greater","less", "equivalent","non-inferior","superior"), 
n2 = NULL, power = NULL, verbose = TRUE)

文档仅此而已。我发现顺序对 pwrss.z.prop 很重要,但对 pwrss.z.2props 不重要。除此之外,我不知道哪个比例去哪里,或者什么替代方案对我的场景有意义。 “大于”和“不等于”或“小于”和“不等于”似乎是相同的选项:即我必须有什么能力才能注意到 +30% 是“大于”或“不等于”我的原始比例( 0.5)(?)

library(pwrss)

# Should I be doing
pwrss.z.prop(p=0.5, p0 = 0.65, 
arcsin.trans = TRUE, alpha = 0.05, 
alternative = "not equal",         # or "greater"?
n = 47, power = NULL)

pwrss.z.prop(p=0.5, p0 = 0.35, 
arcsin.trans = TRUE, 
alpha = 0.05, 
alternative = "not equal",         # or "less"?
n = 47, power = NULL)

# or...
pwrss.z.2props(0.5, 0.65, arcsin.trans = TRUE, 
kappa = 1, alpha = 0.05, alternative = "not equal", # or "greater"?
n2 = 47, power = NULL)

pwrss.z.2props(0.5, 0.35, arcsin.trans = TRUE, 
kappa = 1, alpha = 0.05, alternative = "not equal", # or "less"?
n2 = 47, power = NULL)

更新:

我认为

pwrss.z.prop
是单样本检验,而双样本检验
pwrss.z.2props
假设 p1 和 p2 来自独立观察。由于我的是配对的(相同数据的增加/减少,即重复测量设计),我将选择单样本版本。我还了解到,不建议进行两次单侧测试,因此剩下的就是在两侧测试中输入 +/-30% 的值。

pwrss.z.prop(p=0.65, p0 = 0.35, 
arcsin.trans = TRUE, 
alpha = 0.05, 
alternative = "not equal",
n = 47, power = NULL)

 Approach: Arcsine Transformation 
 A Proportion against a Constant (z Test) 
 H0: p = p0 
 HA: p != p0 
 ------------------------------ 
  Statistical power = 0.987 
  n = 47 
 ------------------------------ 
 Alternative = “not equal” 
 Non-centrality parameter = 4.178 
 Type I error rate = 0.05 
 Type II error rate = 0.013 

# Switching p/p0 gives the same answer.

# Here's the problem:
# H0: p = p0 
# HA: p != p0

问题是

HA: p != p0
,这似乎在说“我们想知道检测-30%和+30%变化之间差异的能力”,这不是我想要的。此测试的功效几乎为 99%,仅 n=47。这似乎就是它正在测试的内容,因为差异的幅度如此之大(0.35 到 0.65),检测它的功率自然会很高。所以我还是被困住了。

r syntax
1个回答
0
投票

对于任何对可能的解决方案感兴趣的人: 我通过使用不同的包发现,比例增加 30%(或减少)并不是简单地乘以 0.3 并添加到原始比例的问题。相反,

pwr
包使用的反正弦变换是必要的。
ES.h() = 2*asin(sqrt(p1))-2*asin(sqrt(p2))
内的函数
pwr.p.test(
可以计算该效应大小,或者在已知效应大小的情况下(在我的例子中),可以通过用
p1 = sin(asin(sqrt(p2))+h/2)^2
或简单地
p1 = p2 + h/2
求解p1来计算结果%变化值。

注意这与

p1 = p2*0.3 + p2
有何不同,具体取决于起始平均值:

# effect size formula (h=0.3 effect size)
> 0.5 + h/2
[1] 0.65

> 0.6 + h/2
[1] 0.75


# Standard way of scaling a continuous variable (30% increase):
> (0.5*0.3) + 0.5
[1] 0.65 # same as the effect size method

> (0.6*0.3) + 0.6
[1] 0.78 # Slightly different now!

使用

pwr
包,我发现正效应和负效应大小都会产生相同的功效!零是我们无法判断是否发生了 30% 的变化 (H0: p1 = p2),而替代方案是我们可以,并且它“大于”我们的平均值 (HA: p1 > p2),或者更少 - 没有区别就力量而言。

> pwr.p.test(h = 0.3,  # <- 30% increase effect size
+            n = 47, 
+            sig.level = 0.05,
+            power = NULL,
+            alternative = "greater")

     proportion power calculation for binomial distribution (arcsine transformation) 

              h = 0.3
              n = 47
      sig.level = 0.05
          power = 0.6597727
    alternative = greater

> pwr.p.test(h = -0.3,  # <- 30% decrease effect size
+            n = 47, 
+            sig.level = 0.05,
+            power = NULL,
+            alternative = "less")

     proportion power calculation for binomial distribution (arcsine transformation) 

              h = -0.3
              n = 47
      sig.level = 0.05
          power = 0.6597727
    alternative = less
© www.soinside.com 2019 - 2024. All rights reserved.