Generates space filling designs (B.M. Parker).

### Options

`PRINT` = string tokens |
Controls whether to print the design and its properties (`design` , `properties` , `monitor` ); default `*` i.e. none |
---|---|

`METHOD` = string token |
Specifies the method to use (`latinhypercube` , `random` , `quasirandom` ); default `rand` |

`AUGMENT` = string token |
Indicates whether to augment an existing design (`yes` , `no` ); default `no` |

`CENTRED` = string token |
For the Latin hypercube method, determines whether the design should be centred (`yes` , `no` ); default `no` |

`CRITERION` = string token |
For the Latin hypercube method, determines which criterion should be used to assess space filling; (`none` , `L2` , `maximin` , `entropy` ); default `none` |

`QRSEQUENCE` = string token |
Specifies which sequence to use with the quasi-random method; (`sobol` , `niederreiter` , `faure` ); default `sobol` |

`NUNITS` = scalars |
Specifies the number of design points |

`NDIMENSIONS` = scalars |
Specifies the number of dimensions of each of the design points |

`NTIMES` = scalars |
Specifies the number of times to run the ESE algorithm; default 10 |

`DISCREPANCY` = scalars |
Saves the discrepancy of the design |

`SEED` = scalars |
Seed to be used to randomize each design; default 0 |

### Parameter

`X` = pointer to variates |
A pointer to a set of variates, each variate representing a column of the design matrix |
---|

### Description

A space filling design is an experimental design for a number of runs, which each have a number of (usually) continuous factors. They are designed to ensure that the experiment is spread over the entire design space, so that large and potentially important regions are not ignored. They are used in computer experiments, or other areas where exploring the whole design space may be useful.

Various criteria are used to assess how well the space is filled, and different methods are used to try to achieve designs that optimize them. The number of design points (i.e. the number of runs) is specified by the `NUNITS`

parameter. Each of these runs has dimensions (i.e. number of continuous factors) specified by `NDIMENSIONS`

.

For simplicity, `AGSPACEFILLINGDESIGN`

produces design points such that the range for each dimension is in the interval [0,1]. These can be scaled to any interval.

The `METHOD`

option specifies how to form the design, with the following settings.

`random` |
is the simplest method, and selects design points uniformly at random for each dimension. |
---|---|

`latinhypercube` |
aims to produce designs with good projection properties for the design on each dimension. For a two-dimensional design, the design space is divided into a regular grid of size `NUNITS` × `NUNITS` . A design is a Latin square if (and only if) there is only one design point in each row and each column. A Latin hypercube generalises this to an arbitrary number of dimensions. |

`quasirandom` |
Quasi-Random sequences are deterministic (i.e. non-random) space-filling sequences, which aim to fill the multidimensional design space. For designed experiments the aim is to ensure that all areas of the design space are explored. However, unlike the `random` setting, more points can readily be added to the design, using the same sequence, with the property that the augmented design is also space-filling. Three different random sequences are available; these can be selected by the `QRSEQUENCE` option, with settings `sobol` , `niederreiter` or `faure` . |

If the `CENTRED`

option is set to `yes`

, the points of the Latin hypercube design are centred within each area of the grid. If set to `no`

(default), the design points are chosen uniformly at random from any point in the grid. (Note: a centred Latin hypercube could be used to generate designs with discrete factors.)

The `AUGMENT`

option allows extra runs to be added to an existing design, according to the method selected. Currently, the added runs form a separate space filling design, which is returned with the original design.

For Latin hypercube designs, the `CRITERION`

option allows you to request that a stochastic algorithm is run to try to improve the space filling properties of the design, while retaining the desired Latin hypercube properties. The available settings differ according to the way in which they measure the difference between the empirical cumulative distribution function of a design and the uniform cumulative distribution function.

`L2` |
uses Euclidean distance, |
---|---|

`maximin` |
uses the maximum distance, and |

`entropy` |
uses the entropy function. |

This process is effective, but will not always produce the same design (except when the same `SEED`

is set), and the result will not always be the best possible design within the class of Latin hypercube designs. The `NTIMES`

option may be used to specify how many loops of the Enhanced Stochastic Evolutionary (ESE) algorithm are carried out, with each loop looking for a potential improvement.

The `SEED`

parameter allows you to specify a seed to randomize the design. The default is 0, to continue an existing sequence of random numbers.

The `PRINT`

option controls printed output, with the following settings:

`design` |
prints the design, |
---|---|

`properties` |
prints the space filling discrepancy criterion for the design, and |

`monitor` |
when a criterion has been selected, this prints the best discrepancy criterion found after each ESE loop. |

By default, nothing is printed.

The discrepancy can be saved, in a scalar, using the `DISCREPANCY`

option.

Options: `PRINT`

, `METHOD`

, `AUGMENT`

, `CENTRED`

, `CRITERION`

, `QRSEQUENCE`

, `NUNITS`

, `NDIMENSIONS`

, `NTIMES`

, `DISCREPANCY`

, `SEED`

.

Parameter: `X`

.

### Method

When the `CRITERION`

option is set with a Latin hypercube design, `AGSPACEFILLINGDESIGN`

uses the Enhanced Stochastic Evolutionary (ESE) algorithm described by Jin *et al*. (2005) in order to minimize the discrepancy of designs. This makes use of the `AFDISCREPANCY`

procedure. The quasi-random sequences are formed using the `NAG`

directive, with option `NAME=G05YAF`

.

### Reference

Jin, R., Wei C. & Agus S. (2005). An efficient algorithm for constructing optimal design of computer experiments. *Journal of Statistical Planning and Inference,* 134, 268-287.

### See also

Directive: `NAG`

.

Procedure: `AFDISCREPANCY`

.

Commands for: Design of experiments, Analysis of variance.

### Example

CAPTION 'AGSPACEFILLINGDESIGN examples',\ '1) Random design of size 12 in 4 dimensions.';\ STYLE=meta,plain AGSPACEFILLINGDESIGN [PRINT=design; METHOD=random; NDIMENSIONS=4; NUNITS=12;\ SEED=184851] x CAPTION 'Augment the design to 16 units' AGSPACEFILLINGDESIGN [PRINT=design; METHOD=random; NDIMENSIONS=4; NUNITS=16;\ AUGMENT=yes] x CAPTION !t('2) Low discrepancy Latin hypercube design,',\ 'in 5 dimensions with 32 runs.') AGSPACEFILLINGDESIGN [PRINT=design; METHOD=latinhypercube; CENTRED=yes;\ CRITERION=l2; NDIMENSIONS=5; NUNITS=32; SEED=32898] X