Standard Experiments

Reference for different experiment options

Value Sweep

Value sweeping runs a simulation for each of the specified `values`. The `field` in globals.json is populated with the value for each run.

`"Radius values": {  "steps": 100,  "type": "values",  "field": "radius",  "values": [0, 1, 2, 3, 4, 5, 6, 7]}`

Value sweeping is particularly is useful for multi-parameter sweeps and categorical sampling.

Fixed Sample Sweep (linspace)

Fixed sample sweeping or 'linspace' is one of the most common types of parameter sweeps. Define `start`, `stop`, and number of `samples` to generate an even sampling between two values with a set number of data points.

`"Radius fixed sample": {  "steps": 100,  "type": "linspace",  "field": "radius",  "start": 0,  "stop": 10,  "samples": 11}`

Fixed Step Sweep

Instead of using a set number of samples like linspace, arange samples every "increment" between the specified start and stop fields.

`"Radius arange": {  "steps": 100,  "type": "arange",  "field": "radius",  "start": 0,  "stop": 10,  "increment": 0.5}`

Monte Carlo Sweep

Monte Carlo sweeping allows random sampling from a custom distribution. Each supported distribution can be customized through the associated parameters. Each parameter defaults to 1 if not defined.

`"Radius monte": {  "steps": 100,  "type": "monte-carlo",  "field": "radius",  "samples": 10,â€‹  // Either combination of distributions and parameters:  "distribution": "normal",  "mean": 1,  "std": 1â€‹  // or  "distribution": "log-normal",  "mu": 1,  "sigma": 1â€‹  // or    "distribution": "poisson",  "rate": 1â€‹  // or    "distribution": "beta",  "alpha": 1,  "beta": 1â€‹  // or    "distribution": "gamma",  "shape": 1,  "scale": 1}`

Group Sweep

You can run groups of experiments together by adding experiment keys to the `runs` array of a `group` definition. The below code, for example, would execute each of our experiments outlined above as sub-experiments of a new experiment:

`"Group Sweep": {  "steps": 100,  "type": "group",  "runs": ["Radius values", "Radius linspace", "Radius arange", "Radius monte"]}`

Multiparameter Sweep

In order to discover interaction effects in your model, you'll have to perform sweeps over multiple parameters. The multiparameter experiment generates a full factorial design with all of the experiments defined in `runs`.

`"Full factorial sweep": {  "steps": 100,  "type": "multiparameter",  "runs": [    "Radius values",     "Radius linspace",     "Radius arange",     "Radius monte"  ]}`

Optimization

Optimization experiments allow you to identify the best combination of parameters for minimizing or maximizing desired metrics.

Read more about Optimization Experiments in the next section of the docs.