Constructing a custom design with 2 nested random blocking factors
My previous post demonstrated some advantages of designed experiments using random blocks rather than the more traditional fixed blocks. My main point was that random blocks can allow for more cost-effective experiments because they require fewer runs for a given set of factors and model specification.
There is another advantage of random blocks. An analysis using random blocks allows you to make predictions of the response for other blocks. Of course, most practitioners want to make such predictions, but strictly speaking, a fixed block analysis does not allow this.
Currently, the Custom Design tool in JMP allows you to group your runs into random blocks of arbitrary size. Imagine, though, a manufacturing setting where the process undergoes random variation from day to day and also varies from shift to shift within each day. So, you have two blocking factors, and one (shift) is nested within the other (day). A new day requires a change in shift.
The interface allows for one random blocking factor, but it is not obvious how to create a design with two nested random factors.
How can you do that?
Let’s suppose that all the factors in the experiment are easy to change from run to run. If there were factors that were hard to change, we could keep these factors constant within each shift. We call a design with this feature a split-plot design.
And if there were factors that were very hard to change, we might want to keep these constant for an entire day’s production. Experiments with factors that are very hard to change and factors that are only hard to change as well as factors that are easy to change are called split-split-plot designs.
Both split-plot designs and split-split-plot designs are blocked designs, and the blocks are random blocks. In the split-plot design, the blocks are the groups of runs where the hard-to-change factors stay constant.
JMP supports both these kinds of designs, and that capability provides a way to create designs with nested random blocks.
So show me
Figure 1 shows a Factors table for a scenario where we want to investigate six categorical factors each with two levels. Note that I have defined two factors called Fake VHTC Factor and Fake HTC Factor. I set the Changes column in the table to Very Hard for the first factor and Hard for the second. You may have surmised that these are not real factors, and if so, you are right.
Figure 2 shows the Model view. I have selected the first two factors. The next thing is to remove these factors from the model by clicking the Remove Term button.
Figure 3 shows the resulting model.
Now suppose we want to run the experiment to run over four days with three shifts per day. And perhaps we can do two runs per shift. Then the Design Generation outline node in Figure 4 describes that scenario.
The “Whole Plots” are days. The “Subplots” are shifts, and there are 4x3 = 12 of them. There are 12x2 = 24 runs because we can do two in each shift.
Clicking the Make Design button produces the design in Table 1. Notice the garbage values for the fake factors. Since they do not appear in the model, the optimal designer does not change their values from their original random settings.
Now click the Make Table button. Once you have the table, you can delete the two fake factor columns and change the column named Whole Plots to Day and the column named Subplots to Shift. The result is in Table 2.
When you fill in your response and run the Model script, JMP will automatically fit the appropriate regression model with Day and Shift as random blocks.
The bottom line…
Though the support is not as explicit as for one random blocking factor, once you know how, you can have nested random blocks. You can use variations on this approach to create designs with crossed random blocks or blocked split-plot designs. If there is sufficient interest in one of these, I can give an example in a future post. So let me know in your comments.