design {pomp} | R Documentation |
These functions are useful for generating designs for the exploration of parameter space.
profileDesign
generates a data-frame where each row can be used as the starting point for a profile likelihood calculation.
runifDesign
generates a design based on random samples from a multivariate uniform distribution.
sliceDesign
generates points along slices through a specified point.
sobolDesign
generates a Latin hypercube design based on the Sobol' low-discrepancy sequence.
profileDesign(..., lower, upper, nprof, type = c("sobol", "runif"), stringsAsFactors = getOption("stringsAsFactors", FALSE)) runifDesign(lower = numeric(0), upper = numeric(0), nseq) sliceDesign(center, ...) sobolDesign(lower = numeric(0), upper = numeric(0), nseq)
... |
In |
lower, upper |
named numeric vectors giving the lower and upper bounds of the ranges, respectively. |
nprof |
The number of points per profile point. |
type |
the type of design to use.
|
stringsAsFactors |
should character vectors be converted to factors? |
nseq |
Total number of points requested. |
center |
|
The Sobol' sequence generation is performed using codes from the NLopt library by S. Johnson.
profileDesign
returns a data frame with nprof
points per profile point.
runifDesign
returns a data frame with nseq
rows and one column for each variable named in lower
and upper
.
sliceDesign
returns a data frame with one row per point.
The ‘slice’ variable indicates which slice the point belongs to.
sobolDesign
returns a data frame with nseq
rows and one column for each variable named in lower
and upper
.
Aaron A. King
P. Bratley and B. L. Fox, Algorithm 659 Implementing Sobol's quasirandom sequence generator, ACM Trans. Math. Soft. 14, 88–100, 1988.
S. Joe and F. Y. Kuo, Remark on algorithm 659: Implementing Sobol's quasirandom sequence generator ACM Trans. Math. Soft 29, 49–57, 2003.
Steven G. Johnson, The NLopt nonlinear-optimization package, http://ab-initio.mit.edu/nlopt
## Sobol' low-discrepancy design plot(sobolDesign(lower=c(a=0,b=100),upper=c(b=200,a=1),nseq=100)) ## Uniform random design plot(runifDesign(lower=c(a=0,b=100),upper=c(b=200,a=1),100)) ## A one-parameter profile design: x <- profileDesign(p=1:10,lower=c(a=0,b=0),upper=c(a=1,b=5),nprof=20) dim(x) plot(x) ## A two-parameter profile design: x <- profileDesign(p=1:10,q=3:5,lower=c(a=0,b=0),upper=c(b=5,a=1),nprof=200) dim(x) plot(x) ## A two-parameter profile design with random points: x <- profileDesign(p=1:10,q=3:5,lower=c(a=0,b=0),upper=c(b=5,a=1),nprof=200,type="runif") dim(x) plot(x) ## A single 11-point slice through the point c(A=3,B=8,C=0) along the B direction. x <- sliceDesign(center=c(A=3,B=8,C=0),B=seq(0,10,by=1)) dim(x) plot(x) ## Two slices through the same point along the A and C directions. x <- sliceDesign(c(A=3,B=8,C=0),A=seq(0,5,by=1),C=seq(0,5,length=11)) dim(x) plot(x)