SAS programs for constructing of
optimal, efficient, and robust crossover designs for comparing test treatments
to a control treatment
By Min Yang*
and John Stufken
*Supported by NSF Grant DMS-0304661
The two programs are for
searching efficient/robust crossover design when comparing several test
treatments with a control. For given parameter t, p, and n, the constructed
design, in which rows correspond to periods and columns correspond to subjects,
will be given. The given design is not only efficient under carryover model,
but also under self and mixed carryover effects model, two-way elimination
model (without carryover effects), one-way elimination model (without carryover
effects and period effects), zero-way elimination model (treatment effects
only), etc.
The corresponding
efficiency, A-efficiency, is given. Notice that the true efficiencies are
bigger or equal to the given efficiencies. The two programs are corresponding
Algorithm I and II. When n is big, say more than 2t, the program for Algorithm
I is recommended since it is fast and efficiency is high enough. When n is
small (no more than 2t), the program for Algorithm II is recommended since the
efficiency is high compared with the first program. But the second program
usually takes much longer time although we can use for larger n.
There are two efficiencies
under traditional first order carryover effects model. The first one is based
on the lower bound of the subclass, in which no treatment is allowed
immediately followed by itself and the control treatment appears equivalent
often in each period. The second one is based on the nearly entire class, in
which the control treatment appears equivalent often in each period. (Treatment
can be immediately followed by itself). The result design may not belong to the
subclass since the control treatment may not appear equivalent often in each
period.
There are also two
efficiencies under self and mixed carryover effects model and the model without
period effects, which are similar as these of the traditional first order
carryover effects model.
The efficiencies under all
other models are for entire class.
Notice this program is
designed for practical parameters. There is some restriction on t and p. p
ranges from 3 to 5. t ranges from p-1 to 9. n can be
any positive number. But it should be at least t or t+1 depends on the
situation. If you need to construct a design which is not covered by the
program, you are welcome to contact the authors for assistance.
For Algorithm I, macro1.sas should be run
once before you run one of the two commands in search1.sas.
%efficient_design(p= , t= , n= ,
method= ) or
%efficient_design_detail(p= , t= , n= ,
method= )
p is the number of periods. t
is the number of test treatments. n is the number of
experimental subjects. The results of the two commands are the same. In
addition to the design and efficiencies which the first command can give you,
the second command can give you detail information about the design, such as
the inverse matrix of information matrix, which is proportional to the
variance-covariance matrix.
You can choose 5 different
Methods: 0, 1, 2, 3, 4. The default is method 0;
Method 0 is the fastest one, it based on the sequences which have been already
arranged by author. Method 1 and 2 are similar. The difference is that: In
method 1, selection without replacement; in method 2, selection with
replacement. Method 3 and 4 are similar. The difference is that: In method 3,
selection without replacement; in method 4, selection with replacement. Method
3 and 4 can make sure the control treatment appear approximately same frequency
in each period. But method 1 and 2 cannot.
The result design is
contained in the dataset DESIGN_Pp_Tt_Nn_method. For
example dataset DESIGN_P3_T5_N89_2 means the constructed design for 3 period, 5
test treatments, and 89 subjects by Method 2. In the constructed design, 0
refers to the control treatment; 1 to t refers to the t test treatments.
The explanation for
Algorithm II is similar. macro2.sas
should be run once before you run one of the two commands in search2.sas.
%efficient_design_small_n(p=, t=, n=, w_trad=, w_mix=, w_two=, precision=) or
%efficient_design_small_n_detail(p=,t=, n=, w_trad=, w_mix=, w_two=, precision=);
Compared with first program,
we do not have the parameter method. But we have w_trad,
w_mix, w_two, and
precision. They are the corresponding weight for traditional model, mixed
carryover effects model, two-way elimination model, and the pre-set cut value
for the efficiency improvement.
Although the second program
can be run for any n, it is recommended for small n. Since for a larger n, it
may take a long time to run the program and the improvement of the efficiency
is insignificant compared with that of first program.