情境
通过PROMOTE研究发现重症患者应用低剂量红霉素螺旋型鼻肠管幽门后置管成功率约为55%左右,前期研究表明应用高剂量红霉素成功率可达到57.5%左右,检验低剂量非劣于高剂量的随机对照试验,需要多少样本量?
分析
-
该临床试验的优效方向为高优:即效应值越高越好。
-
确定界值Δ:高优非劣效时,Δ应为负值。这里约定低剂量较高剂量组成功率不低于10%,即可认为非劣效成立,故Δ = -0.1.
-
检验效能1-β:0.8
-
I类错误:不同于等效检验,非劣效检验为单侧检验,无论是单侧检验,还是双侧检验,总体I类错误均可设为0.05。
-
假设:
SAS的Proc Power程序计算
%%SAS sas
proc power;
twosamplefreq test = pchi /* Pearson Chisquare检验 */
groupweights = (1 1) /* 两组样本量比 */
groupproportions = (0.55 0.575) /* 两组成功率 */
nullproportionsdiff= -0.1 /* 零假设比值差,即界值 */
sides = 1 /* 单侧检验 */
alpha = 0.05
ntotal = .
power = 0.8;
run;
SAS Output
The POWER Procedure
Pearson Chi-square Test for Proportion Difference
Asymptotic normal
|
Normal approximation
|
1
|
-0.1
|
0.05
|
0.55
|
0.575
|
1
|
1
|
0.8
|
结果:总样本量390,每组195
公式计算
import math
from scipy.stats import norm
# pT:试验组率
# pC:对照组率
# 以下为单侧检验
pT = 0.55
pC = 0.575
delta = - 0.10
kappa = 1
alpha = 0.05
beta = 0.20
# 计算 nT
nT = ((pC * (1 - pC) / kappa) + (pT * (1 - pT))) * ((norm.ppf(1 - alpha) + norm.ppf(1 - beta)) / (pC - pT - delta)) ** 2
# 向上取整
nT_ceiling = math.ceil(nT)
# 计算 z
z = (pC - pT - delta) / math.sqrt((pC * (1 - pC) / nT / kappa) + (pT * (1 - pT) / nT))
# 计算 Power
power = norm.cdf(z - norm.ppf(1 - alpha)) + norm.cdf(-z - norm.ppf(1 - alpha))
print("nT:", nT)
print("nT (ceiling):", nT_ceiling)
print("Power:", power)
nT: 194.62690166398252
nT (ceiling): 195
Power: 0.8000180336372993
结果:总样本量390,每组195,与sas计算一致。
脱落率考虑
脱落率为0.1,则总样本量为390/(1-0.1)≈433
附加考虑
若单侧检验的α设置为0.025,则允许犯I类错误的概率为0.025,要求的样本量更多(见下述SAS计算演示结果)。一般无论是单侧还是双侧,α反映的是整个检验的I类错误,因此均可设为0.05。
%%SAS sas
proc power;
twosamplefreq test = pchi /* Pearson Chisquare检验 */
groupweights = (1 1) /* 两组样本量比 */
groupproportions = (0.55 0.575) /* 两组成功率 */
nullproportionsdiff= -0.1 /* 零假设比值差,即界值 */
sides = 1 /* 单侧检验 */
alpha = 0.025
ntotal = .
power = 0.8;
run;
SAS Output
The POWER Procedure
Pearson Chi-square Test for Proportion Difference
Asymptotic normal
|
Normal approximation
|
1
|
-0.1
|
0.025
|
0.55
|
0.575
|
1
|
1
|
0.8
|