The SEQTEST Procedure

Example 90.7 Testing an Effect in a Proportional Hazards Regression Model

This example compares two survival distributions for the treatment effect. The example uses a power family method to generate two-sided asymmetric boundaries and then uses a proportional hazards regression model to test the hypothesis with a covariate.

A clinic is conducting a clinical study for the effect of a new cancer treatment. The study consists of mice exposed to a carcinogen and randomized to either the control group or the treatment group. The event of interest is the death from cancer induced by the carcinogen, and the response is the time from randomization to death.

Consider the proportional hazards regression model

\[  h( t; \,  \mr{TrtGp}, \,  \mr{Wgt}) = h_{0}(t) \;  \mr{exp}( \beta _{g} \,  \mr{TrtGp} \,  + \,  \beta _{w} \mr{Wgt})  \]

where $h_{0}(t)$ is an arbitrary and unspecified baseline hazard function, TrtGp is the grouping variable for the two groups, Wgt is the initial weight of the mice, and $\beta _{g}$ and $\beta _{w}$ are the regression parameters associated with the variables TrtGp and Wgt, respectively. The grouping variable has the value 0 for each mouse in the control group and the value 1 for each mouse in the treatment group.

The hypothesis $H_{0}: \beta _ g = 0$ with an alternative hypothesis $H_{1}: \beta _{g} \neq 0$ is used for the study.

Suppose that from past experience, the median survival time for the control group is $t_{0}= 20$ weeks. The study would like to detect a $t_{1}= 40$ weeks median survival time with a 80% power in the trial. Assuming exponential survival functions for the two groups, the hazard rates can be computed from

\[  S_{j}(t_{j}) = e^{-h_{j} t_{j}} = \frac{1}{2}  \]

where $j=0, 1$.

Thus, with the hazard rates $h_{0}=0.03466$ and $h_{1}=0.01733$, the hazard ratio $\mr{exp}(\beta _ g)= h_{1} / h_{0}= 1/2$ and the alternative hypothesis

\[  \beta _{g1} = \mr{log} (\frac{1}{2}) = -0.69315  \]

Following the derivations in the section "Test for a Parameter in the Proportional Hazards Regression Model" in the chapter "The SEQDESIGN Procedure," the required number of events for testing a parameter in $\bbeta $ is given by

\[  D_{X} = I_{X} \, \,  \frac{1}{(1 - r^{2}_{x}) \, \,  \sigma ^{2}_{x}}  \]

where $\sigma ^{2}_{x}$ is the variance of TrtGp and $r^{2}_{x}$ is the proportion of variance of TrtGp explained by the variable Wgt.

If the two groups have the same number of mice in the study, then the MLE of the variance is $\hat{\sigma }^{2}_{x} = 0.25$. Further, if $r^{2}_{x}= 0.10$, then you can specify the MODEL=PHREG( XVARIANCE=0.25 XRSQUARE=0.10) option in the SAMPLESIZE statement in the SEQDESIGN procedure to compute the required number of events and the individual number of events at each stage.

The following statements invoke the SEQDESIGN procedure and request a four-stage group sequential design for normally distributed data. The design uses a two-sided alternative hypothesis with early stopping to reject the null hypothesis $H_{0}$. A power family method is used to derive the boundaries.

ods graphics on;
proc seqdesign altref=0.69315;
   TwoSidedPowerFamily: design method=pow
                               nstages=4
                               alpha=0.075(lower=0.025)
                               beta=0.20;
   samplesize model=phreg( xvariance=0.25 xrsquare=0.10
                           hazard=0.02451 accrate=10);
run;
ods graphics off;

The ALPHA=0.075(LOWER=0.025) option specifies a lower $\alpha $ level 0.025 for the lower rejection boundary and an upper $\alpha $ level $0.05= 0.075-0.025$ for the upper rejection boundary. The geometric average hazard $\sqrt {h_{0} \times h_{1}} = \sqrt {0.03466 \times 0.01733}= 0.02451$ is used in the HAZARD= option in the SAMPLESIZE statement to compute the required sample size. The specified ACCRATE=10 option indicates that 10 mice will be accrued each week and the resulting minimum and maximum accrual times will be displayed.

The "Design Information" table in Output 90.7.1 displays the design specifications and the derived statistics.

Output 90.7.1: Design Information

The SEQDESIGN Procedure
Design: TwoSidedPowerFamily

Design Information
Statistic Distribution Normal
Boundary Scale Standardized Z
Alternative Hypothesis Two-Sided
Early Stop Reject Null
Method Power Family
Boundary Key Both
Alternative Reference 0.69315
Number of Stages 4
Alpha 0.075
Alpha (Lower) 0.025
Alpha (Upper) 0.05
Beta (Lower) 0.2
Beta (Upper) 0.12764
Power (Lower) 0.8
Power (Upper) 0.87236
Max Information (Percent of Fixed Sample) 106.468
Max Information 17.39288
Null Ref ASN (Percent of Fixed Sample) 104.3691
Lower Alt Ref ASN (Number of Events) 58.04014
Upper Alt Ref ASN (Number of Events) 52.05395



The "Boundary Information" table in Output 90.7.2 displays the information level, alternative reference, and boundary values at each stage. By default (or equivalently if you specify BOUNDARYSCALE=STDZ), the procedure displays the output boundaries with the standardized Z statistic.

Output 90.7.2: Boundary Information

Boundary Information (Standardized Z Scale)
Null Reference = 0
_Stage_   Alternative Boundary Values
Information Level Reference Lower Upper
Proportion Actual Events Lower Upper Alpha Alpha
1 0.2500 4.348221 19.32543 -1.44538 1.44538 -2.98871 2.59149
2 0.5000 8.696441 38.65085 -2.04408 2.04408 -2.51320 2.17917
3 0.7500 13.04466 57.97628 -2.50348 2.50348 -2.27093 1.96910
4 1.0000 17.39288 77.3017 -2.89077 2.89077 -2.11334 1.83246



With ODS Graphics enabled, a detailed boundary plot with the rejection and acceptance regions is displayed, as shown in Output 90.7.3.

Output 90.7.3: Boundary Plot

Boundary Plot


With the MODEL=PHREG option in the SAMPLESIZE statement, the "Sample Size Summary" table in Output 90.7.4 displays the parameters used in the sample size computation for the proportional hazards regression model.

Output 90.7.4: Required Sample Size Summary

Sample Size Summary
Test PH Reg Parameter
Parameter 0.69315
X Variance 0.25
R Square (X) 0.1
Hazard Rate 0.02451
Accrual Uniform
Accrual Rate 10
Min Accrual Time 7.73017
Min Sample Size 77.3017
Max Accrual Time 27.97872
Max Sample Size 279.7872
Max Number of Events 77.3017



With a minimum accrual time of 7.73 weeks and maximum accrual time of 27.98 weeks, an accrual time of 20 weeks is used in the study. The "Numbers of Events" table in Output 90.7.5 displays the required numbers of events for the group sequential clinical trial.

Output 90.7.5: Required Sample Sizes

Numbers of Events (D)
Z Test for PH Regression Parameter
_Stage_ D Information
1 19.33 4.3482
2 38.65 8.6964
3 57.98 13.0447
4 77.30 17.3929



The following statements invoke the SEQDESIGN procedure and provide more detailed sample size information with a 20-week accrual time:

proc seqdesign altref=0.69315;
   TwoSidedPowerFamily: design method=pow
                               nstages=4
                               alpha=0.075(lower=0.025)
                               beta=0.20;
   samplesize model=phreg( xvariance=0.25 xrsquare=0.10
                           hazard=0.02451
                           accrate=10 acctime=20);
   ods output Boundary=Bnd_Time;
run;

The ODS OUTPUT statement with the BOUNDARY=BND_TIME option creates an output data set named BND_TIME which contains the resulting boundary information for the subsequent sequential tests.

With an accrual time of 20 weeks, the "Sample Size Summary" table in Output 90.7.6 displays the follow-up time for the trial.

Output 90.7.6: Sample Size Summary

The SEQDESIGN Procedure
Design: TwoSidedPowerFamily

Sample Size Summary
Test PH Reg Parameter
Parameter 0.69315
X Variance 0.25
R Square (X) 0.1
Hazard Rate 0.02451
Accrual Uniform
Accrual Rate 10
Accrual Time 20
Follow-up Time 10.34195
Total Time 30.34195
Max Number of Events 77.3017
Max Sample Size 200
Expected Sample Size (Null Ref) 199.4282
Expected Sample Size (Alt Ref) 188.6561
Follow-up Time (Ceiling Time) 11
Total Time (Ceiling Time) 31



The "Numbers of Events and Sample Sizes" table in Output 90.7.7 displays the required sample sizes for the group sequential clinical trial.

Output 90.7.7: Numbers of Events and Sample Sizes

Numbers of Events (D) and Sample Sizes (N)
Z Test for PH Regression Parameter
_Stage_ Fractional Time Ceiling Time
D Time N Information D Time N Information
1 19.33 13.2362 132.36 4.3482 21.49 14 140.00 4.8359
2 38.65 19.1466 191.47 8.6964 41.90 20 200.00 9.4281
3 57.98 24.3744 200.00 13.0447 60.14 25 200.00 13.5309
4 77.30 30.3420 200.00 17.3929 79.26 31 200.00 17.8346



Thus, the study will perform three interim analyses after 14, 20, and 25 weeks and a final analysis after 31 weeks if the study does not stop at any of the interim analyses.

Suppose 140 mice are available for the first interim analysis after week 14. Output 90.7.8 lists the first 10 observations in the data set weeks_1.

Output 90.7.8: Clinical Trial Data

First 10 Obs in the Trial Data

Obs TrtGp Event Wgt Weeks
1 0 0 22.1659 12
2 1 0 28.4458 12
3 0 0 26.2857 12
4 1 0 25.0283 12
5 0 0 21.5114 12
6 1 0 23.2240 12
7 0 1 22.6845 6
8 1 0 27.9292 12
9 0 0 22.5514 12
10 1 1 27.3793 11



The TrtGp variable is a grouping variable with the value 0 for a mouse in the placebo control group and the value 1 for a mouse in the treatment group.

The Weeks variable is the survival time variable measured in weeks and the Event variable is the censoring variable with the value 0 indicating censoring. That is, the values of Weeks are considered censored if the corresponding values of Event are 0; otherwise, they are considered as event times.

The following statements use the PHREG procedure to estimate the treatment effect after adjusting for the Wgt variable at stage 1:

proc phreg data=Time_1;
   model Weeks*Event(0)= TrtGp Wgt;
   ods output parameterestimates=Parms_Time1;
run;

The following statements create and display (in Output 90.7.9) the data set for the treatment effect MLE statistic and its associated standard error. Note that for a MLE statistic, the inverse of the variance of the statistic is the information.

data Parms_Time1;
   set Parms_Time1;
   if Parameter='TrtGp';
   _Scale_='MLE';
   _Stage_= 1;
   keep _Scale_ _Stage_ Parameter Estimate StdErr;
run;

proc print data=Parms_Time1;
   title 'Statistics Computed at Stage 1';
run;

Output 90.7.9: Statistics Computed at Stage 1

Statistics Computed at Stage 1

Obs Parameter Estimate StdErr _Scale_ _Stage_
1 TrtGp 0.00836 0.46588 MLE 1



The following statements invoke the SEQTEST procedure to test for early stopping at stage 1:

ods graphics on;
proc seqtest Boundary=Bnd_Time
             Parms(Testvar=TrtGp)=Parms_Time1
             infoadj=prop
             order=lr
             ;
   ods output Test=Test_Time1;
run;
ods graphics off;

The BOUNDARY= option specifies the input data set that provides the boundary information for the trial at stage 1, which was generated in the SEQDESIGN procedure. The PARMS=PARMS_TIME1 option specifies the input data set PARMS_TIME1 that contains the test statistic and its associated standard error at stage 1, and the TESTVAR=TRTGP option identifies the test variable TRTGP in the data set.

If the computed information level for stage 1 is not the same as the value provided in the BOUNDARY= data set, the INFOADJ=PROP option (which is the default) proportionally adjusts the information levels at future interim stages from the levels provided in the BOUNDARY= data set. The ORDER=LR option uses the LR ordering to derive the p-value, the unbiased median estimate, and the confidence limits for the regression slope estimate.

The ODS OUTPUT statement with the TEST=TEST_TIME1 option creates an output data set named TEST_TIME1 which contains the updated boundary information for the test at stage 1. The data set also provides the boundary information that is needed for the group sequential test at the next stage.

The "Design Information" table in Output 90.7.10 displays design specifications. By default (or equivalently if you specify BOUNDARYKEY=ALPHA), the boundary values are modified for the new information levels to maintain the Type I $\alpha $ level. Since the computed information level at stage 1 is not the same as the value provided in the BOUNDARY= data set, the power has been modified.

Output 90.7.10: Design Information

The SEQTEST Procedure

Design Information
BOUNDARY Data Set WORK.BND_TIME
Data Set WORK.PARMS_TIME1
Statistic Distribution Normal
Boundary Scale Standardized Z
Alternative Hypothesis Two-Sided
Early Stop Reject Null
Number of Stages 4
Alpha 0.075
Alpha (Lower) 0.025
Alpha (Upper) 0.05
Beta (Lower) 0.20048
Beta (Upper) 0.12795
Power (Lower) 0.79952
Power (Upper) 0.87205
Max Information (Percent of Fixed Sample) 106.5982
Max Information 17.3928828
Null Ref ASN (Percent of Fixed Sample) 104.4715
Lower Alt Ref ASN (Percent of Fixed Sample) 79.7886
Upper Alt Ref ASN (Percent of Fixed Sample) 71.53877



The "Test Information" table in Output 90.7.11 displays the boundary values for the test statistic with the MLE statistic scale.

Output 90.7.11: Sequential Tests

Test Information (Standardized Z Scale)
Null Reference = 0
_Stage_   Alternative Boundary Values Test
Information Level Reference Lower Upper TrtGp
Proportion Actual Lower Upper Alpha Alpha Estimate Action
1 0.2649 4.607347 -1.48783 1.48783 -2.92457 2.54086 0.01795 Continue
2 0.5099 8.869192 -2.06428 2.06428 -2.50505 2.17290 .  
3 0.7550 13.13104 -2.51175 2.51175 -2.27093 1.96941 .  
4 1.0000 17.39288 -2.89077 2.89077 -2.11635 1.83531 .  



With the INFOADJ=PROP option (which is the default), the information levels at interim stages 2 and 3 are derived proportionally from the information levels in the BOUNDARY= data set. At stage 1, the standardized Z statistic 0.01795 is between the lower and upper $\alpha $ boundary values of –2.92457 and 2.54086, so the trial continues to the next stage.

Note that the observed information level 4.6073 corresponds to a proportion of 0.2649 in the information level. If the observed information level is much larger than the target proportion of 0.25, then you can decrease the accrual rate, accrual time, or follow-up time to achieve target information levels for subsequent stages. These modifications should be specified in the study plan before the study begins.

With ODS Graphics enabled, a boundary plot with test statistics is displayed, as shown in Output 90.7.12. As expected, the test statistic is in the continuation region between the lower and upper $\alpha $ boundary values.

Output 90.7.12: Sequential Test Plot

Sequential Test Plot


The following statements use the PHREG procedure to compute the MLE statistic and its associated standard error at stage 2:

proc phreg data=Time_2;
   model Weeks*Event(0)= TrtGp Wgt;
   ods output parameterestimates= Parms_Time2;
run;

The following statements create the data set for the MLE statistic and its associated standard error at stage 2:

data Parms_Time2;
   set Parms_Time2;
   if Parameter='TrtGp';
   _Scale_='MLE';
   _Stage_= 2;
   keep _Scale_ _Stage_ Parameter Estimate StdErr;
run;

The following statements invoke the SEQTEST procedure to test for early stopping at stage 2:

proc seqtest Boundary=Test_Time1
             Parms(Testvar=TrtGp)=Parms_Time2
             infoadj=prop
             order=lr
             ;
   ods output Test=Test_Time2;
run;

The BOUNDARY= option specifies the input data set that provides the boundary information for the trial at stage 2, which was generated by the SEQTEST procedure at the previous stage. The PARMS= option specifies the input data set that contains the test statistic and its associated standard error at stage 2, and the TESTVAR= option identifies the test variable in the data set.

The ODS OUTPUT statement with the TEST=TEST_TIME2 option creates an output data set named TEST_TIME2 which contains the updated boundary information for the test at stage 2. The data set also provides the boundary information that is needed for the group sequential test at the next stage.

The "Test Information" table in Output 90.7.13 displays the boundary values for the test statistic with the MLE statistic scale. At stage 2, the standardized Z statistic –0.43552 is between the lower $\alpha $ and upper boundary values, –2.47689 and 2.14819, respectively, so the trial continues to the next stage.

Output 90.7.13: Sequential Tests

The SEQTEST Procedure

Test Information (Standardized Z Scale)
Null Reference = 0
_Stage_   Alternative Boundary Values Test
Information Level Reference Lower Upper TrtGp
Proportion Actual Lower Upper Alpha Alpha Estimate Action
1 0.2649 4.607347 -1.48783 1.48783 -2.92457 2.54086 0.01795 Continue
2 0.5251 9.132918 -2.09475 2.09475 -2.47689 2.14819 -0.43552 Continue
3 0.7625 13.2629 -2.52433 2.52433 -2.26878 1.96770 .  
4 1.0000 17.39288 -2.89077 2.89077 -2.12017 1.83880 .  



Since the data set PARMS_Time2 contains the test information only at stage 2, the information level at stage 1 in the TEST_Time1 data set is used to generate boundary values for the test.

Similarly, the test statistic at stage 3 is also between its corresponding lower and upper $\alpha $ boundary values. The trial continues to the next stage.

The following statements use the PHREG procedure to compute the MLE statistic and its associated standard error at the final stage:

proc phreg data=Time_4;
   model Weeks*Event(0)= TrtGp Wgt;
   ods output parameterestimates= Parms_Time4;
run;

The following statements create and display (in Output 90.7.14) the data set for the MLE statistic and its associated standard error at each stage of the study:

data Parms_Time4;
   set Parms_Time4;
   if Parameter='TrtGp';
   _Scale_='MLE';
   _Stage_= 4;
   keep _Scale_ _Stage_ Parameter Estimate StdErr;
run;
proc print data=Parms_Time4;
   title 'Statistics Computed at Stage 4';
run;

Output 90.7.14: Statistics Computed at Stage 4

Statistics Computed at Stage 4

Obs Parameter Estimate StdErr _Scale_ _Stage_
1 TrtGp -0.04451 0.23971 MLE 4



The following statements invoke the SEQTEST procedure to test the hypothesis at stage 4:

ods graphics on;
proc seqtest Boundary=Test_Time3
             Parms(Testvar=TrtGp)=Parms_Time4
             order=lr
             ;
run;
ods graphics off;

The BOUNDARY= option specifies the input data set that provides the boundary information for the trial at stage 4, which was generated by the SEQTEST procedure at the previous stage. The PARMS= option specifies the input data set that contains the test statistic and its associated standard error at stage 4, and the TESTVAR= option identifies the test variable in the data set.

The "Test Information" table in Output 90.7.15 displays the boundary values for the test statistic. The standardized test statistic –0.1857 is between the lower and upper $\alpha $ boundary values of –2.10447 and 1.82112, respectively, so the study stops and accepts the null hypothesis. That is, there is no evidence of reduction in hazard rate for the new treatment.

Output 90.7.15: Sequential Tests

The SEQTEST Procedure

Test Information (Standardized Z Scale)
Null Reference = 0
_Stage_   Alternative Boundary Values Test
Information Level Reference Lower Upper TrtGp
Proportion Actual Lower Upper Alpha Alpha Estimate Action
1 0.2647 4.607347 -1.48783 1.48783 -2.92457 2.54086 0.01795 Continue
2 0.5248 9.132918 -2.09475 2.09475 -2.47689 2.14819 -0.43552 Continue
3 0.7095 12.34753 -2.43566 2.43566 -2.32705 2.02634 0.34864 Continue
4 1.0000 17.40274 -2.89159 2.89159 -2.10447 1.82112 -0.18570 Accept Null



The "Test Plot" displays boundary values of the design and the test statistic at the first two stages, as shown in Output 90.7.16. It also shows that the test statistic is in the "Acceptance Region" between the lower and upper $\alpha $ boundary values at stage 4.

Output 90.7.16: Sequential Test Plot

Sequential Test Plot


After the stopping of a trial, the "Parameter Estimates" table in Output 90.7.17 displays the stopping stage, parameter estimate, unbiased median estimate, confidence limits, and p-value under the null hypothesis $H_{0}: \theta = 0$.

Output 90.7.17: Parameter Estimates

Parameter Estimates
LR Ordering
Parameter Stopping
Stage
MLE p-Value for
H0:Parm=0
Median
Estimate
95% Confidence Limits
TrtGp 4 -0.044514 0.8525 -0.044577 -0.51461 0.42538



As expected, the two-sided p-value 0.8525 is not significant at the lower $\alpha = 0.025$ level and the upper $\alpha = 0.05$ level, and the two-sided 95% confidence interval contains the null value zero. The p-value, unbiased median estimate, and lower confidence limit depend on the ordering of the sample space $(k, z)$, where k is the stage number and z is the standardized Z statistic. With the specified LR ordering, the two-sided p-value is derived from the one-sided p-value

\[  p_{u} = \sum _{k=1}^{4} P_{\theta =0} \left( Z_{k} \geq z_{4} \; |\;  \_ a_{k'} < Z_{k'} < a_{k'}, k’ < k \right)  \]

where $z_{4}=-0.1857$ is the observed test statistic at stage 4, $Z_{k}$ is a standardized normal variate at stage k, and $\_ a_{k'}$ and $a_{k'}$ are the stage k lower and upper rejection boundary values, respectively.

Thus,

\[  p_{u} = \alpha _{u} + P_{\theta =0} \left( z_{4} \leq Z_{4} < a_{4} \; |\;  \_ a_{k'} < Z_{k'} < a_{k'}, k’ < 4 \right)  \]

where $\alpha _{u}=0.05$ is the upper $\alpha $ level and $a_{4}=1.82112$.

Since $P_{\theta =0} \left( z_{4} \leq Z_{4} \leq a_{4} \; |\;  \_ a_{k'} < Z_{k'} < a_{k'}, k’ < 4 \right) = 0.52374$, $p_{u} = 0.05 + 0.52374= 0.57374$, which is greater than 0.50. Thus, the two-sided p-value is given by $2 \times (1.0 - p_{u}) = 0.8525$.