Title: | Lattice-Based Space-Filling Designs |
---|---|
Description: | Lattice-based space-filling designs with fill or separation distance properties including interleaved lattice-based minimax distance designs proposed in Xu He (2017) <doi:10.1093/biomet/asx036>, interleaved lattice-based maximin distance designs proposed in Xu He (2018) <doi:10.1093/biomet/asy069>, (sliced) rotated sphere packing designs proposed in Xu He (2017) <doi:10.1080/01621459.2016.1222289> and Xu He (2019) <doi:10.1080/00401706.2018.1458655>, and densest packing-based maximum projections designs proposed in Xu He (2020) <doi:10.1093/biomet/asaa057> and Xu He (2018) <arXiv:1709.02062v2>. |
Authors: | Xu He [aut, cre] |
Maintainer: | Xu He <[email protected]> |
License: | LGPL-2.1 |
Version: | 2.0-5 |
Built: | 2024-12-01 08:47:28 UTC |
Source: | CRAN |
Generate lattice-based space-filling designs with fill or separation distance properties. These include interleaved lattice-based minimax distance designs, interleaved lattice-based maximin distance designs, (sliced) rotated sphere packing designs, and densest packing-based maximum projections designs.
Package: | LatticeDesign |
Type: | Package |
Version: | 2.0-4 |
Date: | 2020-12-4 |
License: | LGPL-2.1 |
Important functions in this package are:
InterleavedMinimaxD
generates an interleaved lattice-based minimax distance design.
InterleavedMaximinD
generates an interleaved lattice-based maximin distance design.
DPMPD
generates a densest packing-based maximum projection design.
RSPD
generates a rotated sphere packing design.
SlicedRSPD
generates a sliced rotated sphere packing design by partitioning one rotated sphere packing design.
AdaptiveRSPD
generates a sliced rotated sphere packing design by enlarging one rotated sphere packing design.
All those functions generate space-filling designs with fill or separation distance properties. Such designs are useful for accurate emulation of computer experiments, fitting nonparametric models and resource allocation. They are constructed from lattices, i.e., sets of points with group structures.
RSPD
and DPMPD
generate designs in two to eight dimensions
with both unprojected and projective distance properties.
Such designs are desirable when possibly the output value is insensitive to some variables.
DPMPD
can be seen as an upgrade of RSPD
using new magic rotation matrices.
Another distinction is that RSPD
generates designs with better unprojected fill distance for nonboundary regions
while DPMPD
generates designs with better unprojected separation distance.
RSPD
and DPMPD
construct designs by rescaling, rotating, translating and extracting
the points of the lattice with asymptotically optimal fill and separation distance, respectively.
SlicedRSPD
and AdaptiveRSPD
generate sliced rotated sphere packing designs,
i.e., a rotated sphere packing design that can be partitioned into several smaller rotated sphere packing designs.
SlicedRSPD
partitions one rotated sphere packing design.
The generated designs are useful for computer experiments with a categorical variable,
computer experiments from multiply resources and model validation.
Alternatively, AdaptiveRSPD
enlarges a smaller rotated sphere packing design,
which is useful for adaptive design of computer experiments.
InterleavedMinimaxD
generates designs in two to eight dimensions with low fill distance.
InterleavedMaximinD
generates designs with high separation distance.
InterleavedMaximinD
allows users to specify the relative importance of variables
and is applicable to problems with any number of variables.
Such designs are useful for accurate emulation of computer experiments when
the variables are almost equally important in predicting the output value
or relatively accurate a priori guess on the variable importance is available.
On the other hand, such designs are poor in projective distance properties
and are thus not recommended when the output value is insensitive to many unknown variables.
Maintainer: Xu He <[email protected]>
He, Xu (2017). "Rotated sphere packing designs", Journal of the American Statistical Association, 112(520): 1612-1622.
He, Xu (2017). "Interleaved lattice-based minimax distance designs", Biometrika, 104(3): 713-725.
He, Xu (2018). "Lattice-based designs with quasi-uniform projections", arXiv:1709.02062v2.
He, Xu (2019). "Interleaved lattice-based maximin distance designs", Biometrika, 106(2): 453-464.
He, Xu (2019). "Sliced rotated sphere packing designs", Technometrics, 61(1): 66-76.
He, Xu (2020). "Lattice-based designs possessing quasi-optimal separation distance on all projections", Biometrika, accepted, DOI:10.1093/biomet/asaa057.
Generates a sliced rotated sphere packing design by enlarging one rotated sphere packing design.
AdaptiveRSPD(p=2,n,w=100)
AdaptiveRSPD(p=2,n,w=100)
p |
Number of dimensions, must be an integer greater than one. |
n |
Number of points of the small design, must be a positive integer. |
w |
Number of rotation matrices to try. |
This function generates a small rotated sphere packing design and the candidate points for enlarging it.
The value returned from the function is a list containing the following components:
Design |
The generated design. |
candidates |
The candidate points to add. |
generator |
The generator matrix. |
rotation |
The rotation matrix. |
delta |
The value of parameter delta. |
Theta |
The value of parameter Theta. |
l |
The value of parameter l. |
FillDistance |
The fill distance of the design for the nonboundary region. |
He, Xu (2018). "Sliced rotated sphere packing designs", Technometrics, 61(1): 66-76.
AdaptiveRSPD(p=2,n=50,w=100)
AdaptiveRSPD(p=2,n=50,w=100)
Generates a densest packing-based maximum projection design.
DPMPD(p,n,rotation="magic",w=100)
DPMPD(p,n,rotation="magic",w=100)
p |
Number of dimensions, must be an integer greater than one and no higher than eight. |
n |
Number of points, must be an integer greater than one. |
rotation |
Optional, whether to use magic rotation matrices (for p=2,3,4,6,8, recommended) or random rotation matrices. |
w |
Number of rotation matrices to try. |
This function generates a densest packing-based maximum projection design in two to eight dimensions. For p=2,4,8 with rotation="magic", the designs are generated following the Biometrika paper "Lattice-based designs possessing quasi-optimal separation distance on all projections". For p=3,6 with rotation="magic", the designs are generated following the arXiv paper "Lattice-based designs with quasi-uniform projections". For other p or rotation!="magic", the designs are generated from random rotations.
The value returned from the function is a list containing the following components:
Design |
The generated design. |
ProjectiveSeparationDistance |
The projective separation distance of the generated design, from one-dimensional projections to the unprojected design. |
He, Xu (2020). "Lattice-based designs possessing quasi-optimal separation distance on all projections", Biometrika, accepted, DOI:10.1093/biomet/asaa057.
He, Xu (2018). "Lattice-based designs with quasi-uniform projections", arXiv:1709.02062v2.
DPMPD(p=4,n=200,w=100)
DPMPD(p=4,n=200,w=100)
These data sets give the generator matrices of standard interleaved lattices, treating dimension permuted lattices as different lattices. Data sets GeneratorMatrices2, GeneratorMatrices3, GeneratorMatrices4, and GeneratorMatrices5 give the matrices in 2, 3, 4, and 5, dimensions, respectively.
data(GeneratorMatrices2); data(GeneratorMatrices3); data(GeneratorMatrices4); data(GeneratorMatrices5);
data(GeneratorMatrices2); data(GeneratorMatrices3); data(GeneratorMatrices4); data(GeneratorMatrices5);
Matrices containing generator matrices.
He, Xu (2019). "Interleaved lattice-based maximin distance designs", Biometrika, 106(2): 453-464.
These data sets give the generator matrices of standard interleaved lattices, treating dimension permuted lattices as the same lattice. Data sets GMs2, GMs3, GMs4, GMs5, GMs6, GMs7, and GMs8 give the matrices in 2, 3, 4, 5, 6, 7, and 8 dimensions, respectively.
data(GMs2); data(GMs3); data(GMs4); data(GMs5); data(GMs6); data(GMs7); data(GMs8);
data(GMs2); data(GMs3); data(GMs4); data(GMs5); data(GMs6); data(GMs7); data(GMs8);
Matrices containing generator matrices.
He, Xu (2017). "Interleaved lattice-based minimax distance designs", Biometrika, 104(3): 713-725.
Generates an interleaved lattice-based maximin distance design.
InterleavedMaximinD(p,n,weight=rep(1,p)); InterleavedMaximinDAlg1(p,n,weight=rep(1,p)); InterleavedMaximinDAlg2(p,n,weight=rep(1,p)); InterleavedMaximinDAlg3(p,n,weight=rep(1,p));
InterleavedMaximinD(p,n,weight=rep(1,p)); InterleavedMaximinDAlg1(p,n,weight=rep(1,p)); InterleavedMaximinDAlg2(p,n,weight=rep(1,p)); InterleavedMaximinDAlg3(p,n,weight=rep(1,p));
p |
Number of dimensions, must be an integer greater than one. |
n |
Targeted number of points, must be an integer greater than one. |
weight |
Optional, the weights used in the distance measure, higher for more important variable. |
This function generates an interleaved lattice-based maximin distance design in p dimensions and at least n points, following the algorithms provided in the paper "Interleaved lattice-based maximin distance designs". Function InterleavedMaximinD uses the recommended algorithm provided in the paper. Functions InterleavedMaximinDAlg1, InterleavedMaximinDAlg2, and InterleavedMaximinDAlg3 use Algorithm 1, 2, and 3, respectively. For InterleavedMaximinDAlg1, p must be no greater than 5. For InterleavedMaximinDAlg3, p must be greater than 8.
The value returned from the function is a list containing the following components:
Design |
The generated design. |
SeparationDistance |
The separation distance of the generated design. |
m |
The actual number of points of the generated design. |
DesignTransformed |
The generated design that is transformed to the rectangular design space given the weights. |
weight |
The weight used in the distance measure, higher for more important variable. |
s_vector |
The numbers of distinct levels of the generated design. |
L01 |
The base design. |
He, Xu (2019). "Interleaved lattice-based maximin distance designs", Biometrika, 106(2): 453-464.
InterleavedMaximinD(p=3,n=10,weight=rep(1,3)); InterleavedMaximinDAlg1(p=3,n=10); InterleavedMaximinDAlg2(p=6,n=10); InterleavedMaximinDAlg3(p=9,n=257);
InterleavedMaximinD(p=3,n=10,weight=rep(1,3)); InterleavedMaximinDAlg1(p=3,n=10); InterleavedMaximinDAlg2(p=6,n=10); InterleavedMaximinDAlg3(p=9,n=257);
Generates an interleaved lattice-based minimax distance design.
InterleavedMinimaxD(p,n,maxdissimilarity=2*p);
InterleavedMinimaxD(p,n,maxdissimilarity=2*p);
p |
Number of dimensions, must be an integer between 2 and 8. |
n |
Targeted number of points, must be an integer greater than one. |
maxdissimilarity |
Optional, the maximum dissimilarity allowed for the number of levels. |
These functions generate an interleaved lattice-based minimax distance design in p dimensions and at most n points, following the algorithm provided in the paper "Interleaved lattice-based minimax distance designs".
The value returned from the function is a list containing the following components:
Design |
The generated design. |
TargetFillDistance |
The target fill distance, an estimate of the fill distance. |
ActualSize |
The actual number of points of the generated design. |
s_vector |
The numbers of distinct levels of the generated design. |
L01 |
The base design. |
He, Xu (2017). "Interleaved lattice-based minimax distance designs", Biometrika, 104(3): 713-725.
InterleavedMinimaxD(p=2,n=20);
InterleavedMinimaxD(p=2,n=20);
Computes the radius, widths, and vertexes of a polytope giving halfspace definition. The program is a R shell of LRS (v.5.1a with lrsmp.h), a reverse search vertex enumeration program/CH package in C which is developed by David Avis <http://cgm.cs.mcgill.ca/~avis/C/lrs.html>. Consider the problem of Ax<=b, where A is an n*p matrix, x is a p-vector, and b is an n-vector. Please make sure that the solution of x is nonempty and bounded. Then the nonequalities give the halfspace definition of a polytope. Also make sure that A and b are rational numbers.
LRS(numerator,denominator);
LRS(numerator,denominator);
numerator |
The numerators of cbind(b,A), an n*(p+1) matrix of integer numbers. |
denominator |
The denominators of cbind(b,A), an n*(p+1) matrix of integer numbers. |
This function computes the radius, widths, and vertexes of a polytope giving halfspace definition. It is used in constructing interleaved lattice-based minimax distance designs. Currently only tested when the maximum values of numerators and denominators are below 2^20. If the nonequalities are not defined by rational numbers, round-up to small rational numbers is needed before calling the function. The computation is slow for large p but very fast for slow p. Avoid redundant nonequalities may accelerate the calculation.
The value returned from the function is a list containing the following components:
Radius |
The maximum L2 distance of vertexes to the origin. |
MaxValue |
The maximum k-dimensional value of the vertexes, for k from 1 to p. |
Vertexes |
The vertexes of the polytope. |
Avis, David. LRS, http://cgm.cs.mcgill.ca/~avis/C/lrs.html.
He, Xu (2017). "Interleaved lattice-based minimax distance designs", Biometrika, 104(3): 713-725.
num = matrix(0,5,3) den = matrix(1,5,3) num[1,2] = -1; den[1,2] = 2; num[1,1] = 1; den[1,1] = 8; num[2,3] = -1; num[2,1] = 1; den[2,1] = 2; num[3,2] = -1; den[3,2] = 4; num[3,3] = -1; den[3,3] = 2; num[3,1] = 5; den[3,1] = 32; num[4,2] = 1; num[4,1] = 0; num[5,3] = 1; num[5,1] = 0; LRS(num,den)
num = matrix(0,5,3) den = matrix(1,5,3) num[1,2] = -1; den[1,2] = 2; num[1,1] = 1; den[1,1] = 8; num[2,3] = -1; num[2,1] = 1; den[2,1] = 2; num[3,2] = -1; den[3,2] = 4; num[3,3] = -1; den[3,3] = 2; num[3,1] = 5; den[3,1] = 32; num[4,2] = 1; num[4,1] = 0; num[5,3] = 1; num[5,1] = 0; LRS(num,den)
Computes the projective separation distance of a design.
ProjSepD(design);
ProjSepD(design);
design |
The experimental design, must be a matrix whose rows indicate experimental runs. |
This function computes the squared projective separation distance of a design.
The value returned from the function gives the squared one-dimensional, two-dimensional, ..., (p-1)-dimensional projective separation distances, and the unprojected separation distance, where p is the number of dimensions of the design.
He, Xu (2020). "Lattice-based designs possessing quasi-optimal separation distance on all projections", Biometrika, accepted, DOI:10.1093/biomet/asaa057.
design = rbind(1:3,c(41,1.2,1.3),c(5.4,5.48,5.7),c(4.3,2.3,2)); ProjSepD(design);
design = rbind(1:3,c(41,1.2,1.3),c(5.4,5.48,5.7),c(4.3,2.3,2)); ProjSepD(design);
Generates a rotated sphere packing design.
RSPD(p=2,n,rotation="magic",w=100)
RSPD(p=2,n,rotation="magic",w=100)
p |
Number of dimensions, must be an integer greater than one. |
n |
Number of points, must be a positive integer. |
rotation |
Optional, whether to use the magic rotation matrix (for p=2, recommended) or random rotation matrices. |
w |
Number of rotation matrices to try, fixed to 1 when p=2 and rotation="magic". |
This function generates a rotated sphere packing design.
The value returned from the function is a list containing the following components:
Design |
The generated design. |
generator |
The generator matrix. |
rotation |
The rotation matrix. |
delta |
The value of parameter delta. |
Theta |
The value of parameter Theta. |
l |
The value of parameter l. |
FillDistance |
The fill distance of the design for the nonboundary region. |
He, Xu (2017). "Rotated sphere packing designs", Journal of the American Statistical Association, 112(520): 1612-1622.
RSPD(p=2,n=50,rotation="magic",w=100)
RSPD(p=2,n=50,rotation="magic",w=100)
Generates a sliced rotated sphere packing design by partitioning one rotated sphere packing design.
SlicedRSPD(p=2,n,rotation="magic",w=100)
SlicedRSPD(p=2,n,rotation="magic",w=100)
p |
Number of dimensions, must be an integer greater than one. |
n |
Number of points, must be a positive integer. |
rotation |
Optional, whether to use magic rotation matrices (for p=2, recommended) or random rotation matrices. |
w |
Number of rotation matrices to try. |
This function generates a rotated sphere packing design and the slice indexes of points.
The value returned from the function is a list containing the following components:
Design |
The generated design. |
slices |
The slice indexes of design points. |
generator |
The generator matrix. |
rotation |
The rotation matrix. |
delta |
The value of parameter delta. |
Theta |
The value of parameter Theta. |
l |
The value of parameter l. |
FillDistance |
The fill distance of the design for the nonboundary region. |
He, Xu (2019). "Sliced rotated sphere packing designs", Technometrics, 61(1): 66-76.
SlicedRSPD(p=2,n=50,rotation="magic",w=100)
SlicedRSPD(p=2,n=50,rotation="magic",w=100)