大家好:我附上了一個範例資料集,來強調一個讓我困惑的問題。假設我想要計算兩個比例差值的置信區間。這應該很簡單。透過「以X擬合Y」(JMP v18.0.0),我得到了以下標題下的三個區間:
兩個樣本比例檢定。
風險差異
TOST 測試

如您所見,間隔彼此並不一致。
我的問題是:
1. 為什麼它們不一樣?
2. 每個公式使用什麼公式?
3. 我遺漏了什麼嗎?
我確實在兩個樣本比例報告中找到了這一點(在我看來可能更明確)。
雙樣本比例檢驗報告
感謝您的博學考量!
僅供參考,我諮詢了技術支援並收到了以下資訊。
這三種檢定方法略有不同,因此您在信賴區間中觀察到了差異。所有方法均已在 SAS 文件中進行了描述: https://go.documentation.sas.com/doc/en/statcdc/14.2/statug/statug_freq_details53.htm#statug.freq.freqrdiffcl
1. 對於比例的雙樣本檢驗,JMP 使用 Agresti-Caffo 極限:腳本如下。
x1 = 19; n1 = 20;
x2 = 18; n2 = 20;
/* proportion difference */
diff = x1/n1 - x2/n2;
/* Calculation for CI for Two Sample Test for Proportion */
p1 = (x1+1)/(n1+2);
p2 = (x2+1)/(n2+2);
pdiff= p1 - p2;
lower = pdiff - normalquantile(.95)*sqrt(p1*(1-p1)/(n1+2)+p2*(1-p2)/(n2+2));
upper = pdiff + normalquantile(.95)*sqrt(p1*(1-p1)/(n1+2)+p2*(1-p2)/(n2+2));
show(lower, upper);
2. 風險差異的信心區間採用Wald區間:腳本如下。
/* Calculation for CI for Risk Difference */
p1 = (x1)/(n1);
p2 = (x2)/(n2);
diff = x1/n1 - x2/n2;
lower = diff - normalquantile(.95)*sqrt(p1*(1-p1)/(n1)+p2*(1-p2)/(n2));
upper = diff + normalquantile(.95)*sqrt(p1*(1-p1)/(n1)+p2*(1-p2)/(n2));
show(lower, upper);
3. 等效性檢定中風險差異的置信限採用Miettinen-Nurminen(分數)信賴區間:腳本如下。
/* Calculation for CI for Equivalence Test */
/* mnStdEquivDiff is a function to calculate the standard deviation of se(p1-p2) */
mnStdEquivDiff=Function({n11, n21, n1, n2, n, margin },
{default local},
p1_hat=n11/n1;
p2_hat=n21/n2;
theta=n2/n1;
d=-p1_hat*margin*(1+margin);
c=margin^2+margin*(2*p1_hat+theta+1) + p1_hat + theta*p2_hat;
b=-(1+theta+p1_hat + theta*p2_hat + margin*(theta+2));
a=1+theta;
v=b^3/(3*a)^3-b*c/(6*a^2) + d/(2*a);
if(v>0, sign=1, sign=-1);
u=sign*root(b^2/(3*a)^2 -c/(3*a));
w=(pi()+ArcCosine(v/u^3))/3;
p1_tlt=2*u*cosine(w)-b/(3*a);
p2_tlt =p1_tlt -margin;
var1=p1_tlt*(1-p1_tlt)/n1;
var2=p2_tlt*(1-p2_tlt)/n2;
correct=n/(n-1);
correct=1;
std_diff=root(correct*(var1+var2));
std_diff;
);
/* Calculation using the example data */
n11=19;
n21=18;
n1=20;
n2=20;
n=40;
alpha=0.05;
p1=n11/n1;
p2=n21/n2;
diff=p1-p2;
show(diff);
maxit=100;
conv = .00000001;
z=ChiSquare Quantile( 0.9, 1 );
pdiff = diff;
correct=1;
//calculate the lower confidence limit
inc=1+diff;
converged = 0;
for (i = 0, i < maxit, i++,
inc *= 0.5;
lcl = pdiff - inc;
var = mnStdEquivDiff(n11, n21, n1, n2, n, lcl);
var = var * var;
var *= correct;
d = diff - lcl;
if( var > 0, score=(d * d) / var, score=. );
if (score < z, pdiff = lcl);
if ((inc < conv) | abs(z - score) < conv,
converged = 1;
break();
);
);
if ((i == maxit) & converged==0, lcl = MACMISSING);
//calculate the upper confidence limit
inc=1-diff;
converged = 0;
for (i = 0, i < maxit, i++,
inc *= 0.5;
ucl = pdiff + inc;
var = mnStdEquivDiff(n11, n21, n1, n2, n, ucl);
var = var * var;
var *= correct;
d = diff - ucl;
if( var > 0, score=(d * d) / var, score=. );
if (score < z, pdiff = ucl);
if ( (inc < conv) | abs(z - score) < conv,
converged = 1;
break();
);
);
if ((i == maxit) & converged==0, ucl = MACMISSING);
show(lcl, ucl);
他們還表示將“向開發團隊提出兩項請求。一項是給文檔團隊的,要求他們為每種不同的方法添加參考文獻(和統計細節)。另一項是向開發團隊添加一項功能請求,允許用戶選擇所需的方法。”
像往常一樣,技術支援非常有幫助、周到且專業。