Dakota Reference Manual: calibration_data_file

| Dakota Reference Manual Version 6.15 Explore and Predict with Confidence

- Main Page
- Related Pages

All Pages
calibration_data_file

Supply scalar calibration data only

## Specification

Alias: least_squares_data_file

Argument(s): STRING

Default: none

Child Keywords:

| Required/Optional | Description of Group | Dakota Keyword | Dakota Keyword Description
--- | --- | --- | --- | ---
| Optional (Choose One) | Tabular Format (Group 1) | custom_annotated | Selects custom-annotated tabular file format for experiment data
annotated | Selects annotated tabular file format for experiment data
freeform | Selects free-form tabular file format for experiment data
| Optional | num_experiments | Add context to data: number of different experiments
| Optional | num_config_variables | Add context to data: number of configuration variables.
| Optional | experiment_variance_type | Add context to data: specify the type of experimental error

## Description

Enables text file import of experimental observations for use in calibration, for scalar responses only, with optional scalar variance information. For more complex data import cases see calibration_data Dakota will calibrate model variables to best match these data.

Key options include:

- format: whether the data file is in `annotated`, `custom_annotated`, or `freeform` format
- content: where `num_experiments`, `num_config_variables`, and `experiment_variance_type` indicate which columns appear in the data.

In the most general case, the content of the data file is described by the arguments of three optional parameters.

- `num_experiments` ( )

  Default:

  This indicates that the data represent multiple experiments, where each experiment might be conducted with different values of configuration variables. An experiment can also be thought of as a replicate, where the experiments are run at the same values of the configuration variables.

- `num_config_variables` ( )

  Configuration variables specify the values of experimental conditions at which data were collected. The variables in these columns must correspond to state variables in the calibration study. The simulation model will be run at each configuration and compared to the appropriate experiment data.

- `experiment_variance_type` ('none' or 'scalar')

  This indicates if the data file contains variances for measurement error of the experimental data. The default is 'none'.

While some components may be omitted, the most complete version of a an annotated calibration data file could include columns corresponding to experiment ID, configuration variables, function value observations, and variances (observation errors), shown here in annotated format:

    %exp_id | configuration xvars | y data observations | y data variances
    1         7.8  7                21.9372  1.8687       0.25  0.04
    2         8.6  2                19.0779  4.8976       0.25  0.04
    3         8.4  8                38.2758  4.4559       0.25  0.04
    4         4.2  1                39.7600  6.4631       0.25  0.04

Each row in the file corresponds to an experiment or replicate observation of an experiment to be compared to the model output. This example shows 4 experiments, governed by two configuration variables (one real-valued and one integer-valued), two responses (QOIs), and corresponding observation errors with standard deviation 0.5 and 0.2.

Usage Tips

- The `calibration_data_file` keyword is used when only scalar calibration terms are present. If there are field calibration terms, instead use calibration_data. For mixed scalar and field calibration terms, one may use the scalar_data_file specification, which uses the format described on this page.

- Attention: In versions of Dakota prior to 6.14, string-valued configuration variables were specified in data files with 0-based indices into the admissible values. As of Dakota 6.14, strings must be specified by value. For example a string-valued configuration variable for an experimental condition might appear in the file as `low_pressure` vs. `high_pressure`.

## Examples

Simple Case: In the simplest case, no data content descriptors are specified:

    responses
      calibration_terms = 2
        descriptors = 'volts' 'amps'
        calibration_data_file = 'circuit.dat'
          annotated

And the data file `circuit.dat` must contain only the observations which represent a single experimental observation. In this case, the data file should have columns (for volts, amps) and 1 row, where is the value of calibration_terms. The data file is shown here in annotated format:

    %exp_id | y data observations
    1         21.9372  1.8687

For each function evaluation, Dakota will run the analysis driver, which must return model responses. Then the residuals are computed as:

These residuals can be weighted using weights.

Multiple experiments: One might specify `num_experiments` indicating that there are multiple experiments. When multiple experiments are present, Dakota will expand the number of residuals for the repeat measurement data and difference with the data accordingly. For example, if the user has experiments in the example above with 2 calibration terms, the input file would contain

    responses
      calibration_terms = 2
        descriptors = 'volts' 'amps'
        calibration_data_file = 'circuit.dat'
          annotated
          num_experiments = 4

And the `calibration_data_file` would need to contain 2 rows (one for each experiment), and each row should contain 2 experimental data values that will be differenced with respect to the appropriate model response:

    %exp_id  | y data observations
    1          21.9372  1.8687
    2          19.0779  4.8976
    3          38.2758  4.4559
    4          39.7600  6.4631

To summarize, Dakota will calculate the sum of the squared residuals as:

where the residuals now are calculated as:

With experimental variances: If information is known about the measurement error and the uncertainty in the measurement, that can be specified by sending the measurement error variance to Dakota. In this case, the keyword `experiment_variance_type` is added, followed by a string of variance types of length one or of length , where is the value of calibration_terms. The `experiment_variance_type` for each response can be 'none' or 'scalar'. NOTE: you must specify the same `experiment_variance_type` for all scalar terms. That is, they will all be 'none' or all be 'scalar.'

    responses
      calibration_terms = 2
        descriptors = 'volts' 'amps'
        calibration_data_file = 'circuit.dat'
          annotated
          experiment_variance_type 'scalar'

For each response that has a 'scalar' variance type, each row of the datafile will now have of data values (volts, amps) followed by columns that specify the measurement error (in units of variance, not standard deviation) for volts, amps. An example with two experiments in annotated format:

    %exp_id | y data observations | y data variances
    1         21.9372  1.8687       0.25  0.04

Dakota will run the analysis driver, which must return responses. Then the residuals are computed as:

for .

Putting all the options together: Specifying all these options together might look like

    responses
      calibration_terms = 2
        descriptors = 'volts' 'amps'
        calibration_data_file = 'circuit.dat'
          annotated
          num_experiments = 4
          experiment_variance_type 'scalar'

Dakota will expect a data file

    %exp_id | configuration xvars | y data observations | y data variances
    1         7.8  7                21.9372  1.8687       0.25  0.04
    2         8.6  2                19.0779  4.8976       0.25  0.04
    3         8.4  8                38.2758  4.4559       0.25  0.04
    4         4.2  1                39.7600  6.4631       0.25  0.04

To compute residuals for each experiment, e.g., exp_id = 4, Dakota will

1. Evaluate the computational model at the specified configuration (state variables = [4.2, 1]).

2. Difference the resulting 2 function values with the data [39.7600 volts, 6.4631 amps]

3. Weight by the standard deviation = sqrt([0.25 0.04])

## See Also

These keywords may also be of interest:

- calibration_data