refinement_samples
Performs an incremental Latin Hypercube Sampling (LHS) study
Specification
Alias: None
Arguments: INTEGERLIST
Description
Use of refinement_samples
replaces
the deprecated sample_type
incremental_lhs
and
sample_type
incremental_random
.
An incremental random sampling approach will successively add
samples to an initial or existing random sampling study
according to the sequence of refinement_samples
. Dakota reports
statistics (mean, variance, percentiles, etc) separately for the
initial samples
and for each refinement_samples
increment at
the end of the study. For an LHS design, the number of
refinement_samples
in each refinement
level must result in twice the number of previous samples. For
sample_type
random
, there is no constraint on the number of
samples that can be added.
Often, this approach is used when you have an initial study with sample size N1 and you want to perform an additional N1 samples. The initial N1 samples may be contained in a Dakota restart file so only N1 (instead of 2 x N1) potentially expensive function evaluations will be performed.
This process can be extended by repeatedly increasing (for LHS: doubling)
the refinement_samples
:
method
sampling
seed = 1337
samples = 50
refinement_samples = 50 100 200 400 800
Usage Tips
The incremental approach is useful if it is uncertain how many simulations can be completed within available time.
See the examples below and the running_dakota-usage and dakota_restart pages.
Examples
Suppose an initial study is conducted using sample_type
lhs
with samples
= 50. A follow-on study uses a new input file where
samples
= 50, and refinement_samples
= 50, resulting in 50
reused samples (from restart) and 50 new random samples. The 50 new
samples will be combined with the 50 previous samples to generate a
combined sample of size 100 for the analysis.
One way to ensure the restart file is saved is to specify a non-default name, via a command line option:
dakota -input LHS_50.in -write_restart LHS_50.rst
which uses the input file:
# LHS_50.in
environment
tabular_data
tabular_data_file = 'LHS_50.dat'
method
sampling
seed = 1337
sample_type lhs
samples = 50
model
single
variables
uniform_uncertain = 2
descriptors = 'input1' 'input2'
lower_bounds = -2.0 -2.0
upper_bounds = 2.0 2.0
interface
analysis_drivers 'text_book'
fork
responses
response_functions = 1
no_gradients
no_hessians
and the restart file is written to LHS_50
.rst.
Then an incremental LHS study can be run with:
dakota -input LHS_100.in -read_restart LHS_50.rst -write_restart LHS_100.rst
where LHS_100
.in is shown below, and inLHS_50
.rst is the restart
file containing the results of the previous LHS study. In the example input
files for the initial and incremental studies, the values for seed
match.
This ensures that the initial 50 samples generated in both runs are the same.
# LHS_100.in
environment
tabular_data
tabular_data_file = 'LHS_100.dat'
method
sampling
seed = 1337
sample_type lhs
samples = 50
refinement_samples = 50
model
single
variables
uniform_uncertain = 2
descriptors = 'input1' 'input2'
lower_bounds = -2.0 -2.0
upper_bounds = 2.0 2.0
interface
analysis_drivers 'text_book'
fork
responses
response_functions = 1
no_gradients
no_hessians
The user will get 50 new LHS samples which maintain both the correlation and stratification of the original LHS sample. The new samples will be combined with the original samples to generate a combined sample of size 100.