當Pocock和Simon法參數(shù)設定為利用極差表示因素不平衡函數(shù)、各個因素不加權、且最優(yōu)分配概率為1時,即為Taves提出的最小化法。目前,最小化法一般指Pocock和Simon最小化法。
二、分組運算過程
以下是利用最小化法對模擬實例進行分組運算的過程。首先將收集到的原始信息(表1)整理得到預后因素分布信息,如表2。
表2已入組的14例患者預后因素分布情況(例)
Table2Distribution of prognostic factors of the first 14 patients by groups (n)

PrognosticfactorsGroupAGroupBAge(year) ≤1902 19<~≤3454 >3421GA(week) <3436 ≥3441History Yes21 No56
按照Pocock和Simon最小化法設定相關參數(shù):如采用極差表示因素不平衡函數(shù);年齡、孕周、病史的權重分別設為1、2、3;最優(yōu)分配概率P取0.8。首先計算各因素不平衡函數(shù),A組和B組中與新病例(第15例患者)年齡在相同水平的各有5例和4例,當新病例分配到A組時,A組在該年齡水平上有(5+1)例,因此兩組在該年齡水平上的極差(即年齡的因素不平衡函數(shù))為D(age)=|(5+1)-4|=2;其他因素不平衡函數(shù)以此類推。對各因素不平衡函數(shù)進行加權求和,當新病例分配到A組時,總體不平衡函數(shù)G(A)= |(5+1)-4|×1+|(3+1)-6|×2+|(5+1)-6|×3=6;當新病例分配到B組時,總體不平衡函數(shù)G(B)= |(4+1)-5|×1+|(6+1)-3|×2+|(6+1)-5|×3=14。比較各組總體不平衡函數(shù)的大小,G(A)< G(B),則A組為目標組。將新病例按概率0.8分配到A組,概率0.2分配到B組。實現(xiàn)該種不等概率分組的方法很多,最簡單的為生成一個范圍在0~1的隨機數(shù),若該隨機數(shù)在0~0.80范圍則將新病例分配到A組,在0.81~1范圍則分配到B組。
三、SAS宏程序
/*調用宏前的準備*/
/*定義宏變量*/
/*說明:Dataset指擬分組的數(shù)據(jù)集;GroupAll指試驗組變量名;Group_n指試驗組的個數(shù);FactorAll指預后因素變量名;Factor_n指預后因素的個數(shù);WeightAll指預后因素的權重(與FactorAll順序一一對應);P指新病例分到各試驗組的概率,按G從小到大順序分別為p1、p2、p3,滿足p1>p2>=p3,p1+p2+p3=1;Seed指生成隨機數(shù)所用的參數(shù),可取小于231-1的任意常數(shù)*/
%LET Dataset=CaseN;
%LET GroupAll=%str(group1 group2 group3);
%LET Group_n=3;
%LET FactorAll=%str(factor1 factor2 factor3 factor4);
%LET Factor_n=4;
%LET WeightAll=%str(weight1 weight2 weight3 weight4);
%LET P=%str(p1 p2 p3);
%LET Seed=constant;
/*宏主體及解釋*/
/*宏名稱為Minimization, 由3步生成*/
%MACRO Minimization;
/*步驟1.計算新病例分配到各組時的總體不平衡函數(shù)G*/
%MACRO Stepa;
DATA result;
LENGTH Group $10. G 8;
STOP;
RUN;
%DO i= 1 %TO &Group_n;
%LET Group=%SCAN(&GroupAll, &i);
%LET G=0;
%DO j= 1 %TO &Factor_n;
%LET Factor=%SCAN(&FactorAll, &j);
%LET Weight=%SCAN(&WeightAll, &j);
DATA Group_&Group;
SET newcase end=eof;
IF eof THEN Group="&Group";
IF eof THEN CALL SYMPUT("factor_x",&factor);
RUN;
PROC SQL NOPRINT;
CREATE TABLE &factor AS
SELECT Group, COUNT(&factor) AS n FROM Group_&Group
WHERE &factor=&factor_x GROUP BY Group;
SELECT range(n) INTO:d FROM &factor;
DROP TABLE &factor;
QUIT;
%LET G=%EVAL(&G+&d*&weight);
%END;
DATA result_&Group;
Group="&Group";
G=&G;
RUN;
DATA result;
SET result result_&Group;
RUN;
%END;
%MEND;
/*步驟2.比較G的大小,計算并儲存分組結果*/
%MACRO Stepb;
PROC SQL NOPRINT;
SELECT range(G) INTO:r FROM result;
QUIT;
DATA result;
SET result;
PROC SORT;
BY G;
RUN;
DATA result;
SET result;
rank=_n_;
IF rank=1 THEN CALL SYMPUT("target_1",Group);
IF rank=2 THEN CALL SYMPUT("target_2",Group);
IF rank=3 THEN CALL SYMPUT("target_3",Group);
RUN;
%DO k= 1 %TO &Group_n;
%LET P_&k=%SCAN(&P, &k, " ");
%END;
%LET ep=%sysevalf(1/&Group_n);
DATA &Dataset;
SET &Dataset;
randnum=RANUNI(&Seed);
IF _n_=&newcase_n THEN DO;
IF &r!0 THEN DO;
IF randnum<=&p_1 THEN Group="&target_1";
IF (randnum>&p_1 & randnum<=(&p_1+&p_2)) THEN Group="&target_2";
IF randnum>(&p_1+&p_2) THEN Group="&target_3";
END;
IF &r=0 THEN DO;
IF randnum<=&ep THEN Group="&target_1";
IF (randnum>&ep & randnum<=%sysevalf(2*&ep)) THEN Group="&target_2";
IF randnum>%sysevalf(2*&ep) THEN Group="&target_3";
END;
END;
DROP randnum;
RUN;
%MEND;
/*步驟3.循環(huán)運算,實現(xiàn)批量分組*/
%MACRO Stepc;
DATA &Dataset;
SET &Dataset end=eof;
IF eof THEN CALL SYMPUT("total_n",_n_);
RUN;
PROC SQL NOPRINT;
SELECT COUNT(Group) INTO:oldcase_n
FROM &Dataset;
QUIT;
%DO %WHILE (%eval(&total_n-&oldcase_n));
%LET newcase_n=%EVAL(&oldcase_n+1);
DATA newcase;
SET &Dataset(OBS=&newcase_n);
RUN;
%Stepa;
%Stepb;
%LET oldcase_n=&newcase_n;
%END;
%MEND;
%Stepc;
%MEND;
%Minimization;
四、模擬實例分組結果
以模擬實例數(shù)據(jù)為例(表1),如儲存數(shù)據(jù)的文件名為Example,相關宏變量設定為:%LET Dataset=Example; %LET GroupAll=%str(A B); %LET Group_n=2; %LET FactorAll=%str(Age GA History); %LET Factor_n=3; %LET WeightAll=%str(1 2 3); %LET P=%str(0.8 0.2); %LET Seed=1; 運行上述宏程序后第15個病例會被分到B組。
討 論
最小化法主要優(yōu)勢在于能保證多個預后因素組間分布均衡。在小樣本試驗(如100例以內)中最小化法均衡能力總是優(yōu)于簡單隨機分組和區(qū)組隨機分組[7]。與分層隨機分組相比,當預后因素較多(如3個以上)時,最小化法的均衡能力明顯較高,可同時考慮10到20個預后因素[8]。其不僅適用于個體臨床試驗,在基線特征復雜且樣本量往往有限的整群隨機試驗中優(yōu)勢也尤為突出[9]。
實施過程復雜是影響最小化法使用的一個重要方面。最小化法不像簡單隨機分組和區(qū)組隨機分組等方法能在試驗開始前一次性得到所有病例的分組結果,而需在試驗過程中對每一名新入組病例重復分組運算過程,操作較為繁復,對臨床試驗的組織管理亦是一個挑戰(zhàn)。有學者建議最小化法配合計算機使用[5]。本文通過編制SAS宏程序,可大大提高分組運算效率。在依照運算原理計算出每個新病例分組結果的基礎上,程序還設計了循環(huán)運算,可實現(xiàn)批量分組,即研究者可在收集若干名新病例預后因素信息后一次性確定其分組結果。如在模擬實例中,前14名病例分組結果已確定,假如第15至20名病例都已收集預后因素信息,但尚未進行分組。此時運行宏程序,則程序先根據(jù)前14名病例特征分布情況計算第15名病例分組信息并存入原數(shù)據(jù)集中,再根據(jù)前15名病例特征分布情況計算第16名病例分組結果并儲存,以此類推,直至第20名病例。如此可適當降低人工操作頻率,簡化實施過程。
本程序設定采用極差表示因素不平衡函數(shù),若采用方差則需作相應更改;因素的權重和最優(yōu)分配概率可根據(jù)實際情況在宏變量中定義。最優(yōu)分配概率P的設定方法有多種。如考慮3組設計,可設定分配到目標組概率為0.6,分配到其他兩組的概率各為0.2;或根據(jù)G值的大小對3組進行排序,如按G值從小到大的順序分配概率分別設為0.6、0.3、0.1等。P值大小沒有絕對的設定規(guī)則,研究者可綜合考慮組間均衡和預測難度的需要進行設定。如兩組設計時P一般可取值為2/3[10 ];但若樣本量較小或對均衡要求更高,可進一步提高P值,如文天才等[11]研究中,對228例病例、兩組設計的臨床試驗,P值設定為0.8。在多中心研究中,因預測難度大,P可取值為1,以實現(xiàn)均衡最大化[5,12]。程序以3個試驗組、4個預后因素為例編制,可直接用于兩組或三組設計的臨床試驗,三組以上設計的編制過程與之類似;預后因素個數(shù)無論多少,只需在定義宏變量時作相應設定即可。值得注意的是,當預后因素為連續(xù)變量時,需先將其轉化為分類變量,如本例中的年齡、孕周。
采用基于網(wǎng)絡的最小化隨機分組系統(tǒng)亦是降低最小化法實施難度的一種方法[11,13],但其開發(fā)和維護成本較高,需要專業(yè)的程序開發(fā)人員參與。相較而言,SAS宏程序更為簡便易行,成本低廉,便于研究者理解掌握,并可根據(jù)需要修改相關參數(shù),適用性更強。目前,未見專門用于最小化隨機分組的SAS宏程序。本文結合模擬實例,編制了可實現(xiàn)快速批量分組的SAS宏程序,簡化了實施過程。合理使用該宏程序,可促進最小化法的應用,發(fā)揮其在小樣本、基線復雜的臨床試驗中的均衡優(yōu)勢。
1 Treasure T,Macrae KD.Minimisation:the platinum standard for trials? Randomisation doesn't guarantee similarity of groups; minimisation does.BMJ,1998,317:362-363.
2 王倩,金丕煥.動態(tài)隨機化在臨床試驗中的應用.中華預防醫(yī)學雜志,2005,39:51-53.
3 閆世艷,姚晨,夏結來.簡單隨機化、中心分層區(qū)組隨機化和最小化法的均衡性比較.中國循證醫(yī)學雜志,2006,6:376-379.
4 Taves DR.Minimization:a new method of assigning patients to treatment and control groups.Clin Pharmacol Ther,1974,15:443-453.
5 Pocock SJ,Simon R.Sequential treatment assignment with balancing for prognostic factors in the controlled clinical trial.Biometrics,1975,31:103-115.
6 ICH Harmonised Tripartite Guideline.Statistical Principles for Clinical Trials.1998,12-13.
7 Scott NW,McPherson GC,Ramsay CR,et al.The method of minimization for allocation to clinical trials.a review.Control Clin Trials,2002,23:662-674.
8 Therneau TM.How many stratification factors are "too many" to use in a randomization plan? Control Clin Trials,1993,14:98-108.
9 Ivers NM,Halperin IJ,Barnsley J,et al.Allocation techniques for balance at baseline in cluster randomized trials:a methodological review.Trials,2012,13:120.
10 Efron B.Forcing a Sequential Experiment to be Balanced.Biometrika,1971,58:403-417.
11 文天才,閆世艷,劉保延,等.最小化隨機算法在中醫(yī)藥改善腦積水臨床研究中的應用.中國數(shù)字醫(yī)學,2008,3:17-18.
12 White SJ,Freedman LS.Allocation of patients to treatment groups in a controlled clinical study.Br J Cancer,1978,37:849-857.
13 劉志臻,鄭國華,曹治云,等.多中心臨床試驗中的最小化隨機網(wǎng)絡系統(tǒng)研究.中國循證醫(yī)學雜志,2011,11:333-335.