initpop - Population initialization routines¶
Latin Hypercube Sampling |
|
Initialize N sets of random variables from a gaussian model. |
Population initialization routines.
To start the analysis an initial population is required. This will be an array of size M x N, where M is the number of dimensions in the fitting problem and N is the number of Markov chains.
Two functions are provided:
1. lhs_init(N, bounds) returns a latin hypercube sampling, which tests every parameter at each of N levels.
2. cov_init(N, x, cov) returns a Gaussian sample along the ellipse defined by the covariance matrix, cov. Covariance defaults to diag(dx) if dx is provided as a parameter, or to I if it is not.
Additional options are random box: rand(M, N) or random scatter: randn(M, N).
- bumps.dream.initpop.cov_init(N, x, cov=None, dx=None)[source]¶
Initialize N sets of random variables from a gaussian model.
The center is at x with an uncertainty ellipse specified by the 1-sigma independent uncertainty values dx or the full covariance matrix uncertainty cov.
For example, create an initial population for 20 sequences for a model with local minimum x with covariance matrix C:
pop = cov_init(cov=C, x=x, N=20)
- bumps.dream.initpop.lhs_init(N, bounds)[source]¶
Latin Hypercube Sampling
Returns an array whose columns each have N samples from equally spaced bins between bounds=(xmin, xmax) for the column. DREAM bounds objects, with bounds.low and bounds.high can be used as well.
Note: Indefinite ranges are not supported.