init_grid: Define starting points in parameter space.

init_reftableR Documentation

Define starting points in parameter space.

Description

These functions sample the space of estimated parameters, and also handle other fixed arguments that need to be passed to the function simulating the summary statistics. The current sampling strategy of these functions is crude but achieves desirable effects for present applications: it samples the space more uniformly than independent sampling of each point would, by generating fewer pairs of close points; and it is not exactly a regular grid.

init_reftable allows constraints to be applied on parameters. init_grid does not handle such constraints, and further generates replicates of nRepl of the parameter points sampled, which were required in the primitive workflow for good smoothing of the likelihood surface.

Usage

init_reftable(lower=c(par=0), upper=c(par=1), steps=NULL, 
          nUnique=NULL,                            
          maxmin=(nUnique * length(lower)^2)<400000L, 
          jitterFac=0.5, constr_crits=NULL, ...)
init_grid(lower=c(par=0), upper=c(par=1), steps=NULL, nUnique=NULL, 
          nRepl=min(10L,nUnique), maxmin=TRUE, jitterFac=0.5)

Arguments

## Arguments recommended for up-to-date workflow

lower

A vector of lower bounds for the parameters, as well as fixed arguments to be passed to the function simulating the summary statistics. Elements must be named. Fixed parameters character strings.

upper

A vector of upper bounds for the parameters, as well as fixed parameters. Elements must be named and match those of lower.

nUnique

Number of distinct values of parameter vectors in output. The default for init_reftable is determined by a call to get_workflow_design with npar argument being the number of variable parameters as determined by comparison of lower and upper. The result from get_workflow_design can be modified by passing further arguments to this function through the ....

The default for init_grid is a less elaborate heuristic guess for good start from not too many points, computed as floor(50^((v/3)^(1/3))) where v is the number of variable parameters.

constr_crits

NULL, or quoted expression specifying a constraints on parameters, beyond the ones defined by the ranges over each parameter: see constr_crits for details.

maxmin

Boolean. If TRUE, use a greedy max-min strategy (GMM, inspired from Ravi et al. 1994) in the selection of points from a larger set of points generated by an hypercube-sampling step. If FALSE, sample is instead used for this second step. This may be useful as the default method becomes slow when thousands of points are to be sampled.

## Other, less useful arguments

steps

Number of steps of the grid, in each dimension of estimated parameters. If NULL, a default value is defined from the other arguments. If a single value is given, it is applied to all dimensions. Otherwise, this must have the same length as lower and upper and named in the same way as the variable parameters in these arguments.

nRepl

Number of replicates of distinct values of parameter vectors in output.

jitterFac

Controls the amount of jitter of the points around regular grid nodes. The default value 0.5 means that a mode can move by up to half a grid step (independently in each dimension), so that two adjacent nodes moved toward each other can (almost) meet each other.

...

Further arguments passed to get_workflow_design when nUnique is left NULL. Can be used notably to specify non-default n_proj_stats or n_latent.

Value

A data frame. Each row defines a list of arguments of vector of the function simulating the summary statistics.

Note

init_grid is an exported function from the blackbox package.

References

Ravi S.S., Rosenkrantz D.J., Tayi G.K. 1994. Heuristic and special case algorithms for dispersion problems. Operations Research 42, 299-310.

Examples

set.seed(123)
init_reftable(lower=c(mu=2.8,s2=0.5,sample.size=20),
              upper=c(mu=5.2,s2=4.5,sample.size=20))
# Less recommended:          
init_reftable(lower=c(mu=2.8,s2=0.5,sample.size=20),
              upper=c(mu=5.2,s2=4.5,sample.size=20),
              steps=c(mu=7,s2=9),nUnique=63)
init_grid()

Infusion documentation built on Sept. 30, 2024, 9:16 a.m.

Related to init_grid in Infusion...