Analyze NetLogo simulation output
Arguments
- nl
nl object
- metrics
vector of strings defining metric columns for evaluation. Defaults to metrics of the experiment within the nl object
- funs
list with the summary metrics for the sensitivity results
Details
The analyze_nl function runs basic analyses on NetLogo simulation output.
In order to execute this function, simulation output needs to be attached to the simdesign first with setsim(nl, "output") <- results
.
analyze_nl calls different post-processing analysis functions, depending on the specified method in the simdesign object of the nl object.
The following simdesign are currently supported:
Calls analyze_ff. The function calculates aggregated output metrics by dropping random seeds and aggregating values with the provided functions.
Calls analyze_lhs. The function calculates aggregated output metrics by dropping random seeds and aggregating values with the provided functions.
Calls analyze_sobol. The function calculates sobol sensitivity indices from the output results using the sensitivity package.
Calls analyze_sobol2007. The function calculates sobol sensitivity indices from the output results using the sensitivity package.
Calls analyze_soboljansen. The function calculates sobol sensitivity indices from the output results using the sensitivity package.
Calls analyze_morris. The function calculates morris sensitivity indices from the output results using the sensitivity package.
Calls analyze_eFast. The function calculates eFast sensitivity indices from the output results using the sensitivity package.
For the following simdesign no postprocessing analysis function has been implemented yet:
simdesign_simple, simdesign_distinct, simdesign_GenSA, simdesign_GenAlg
Examples
# Load nl object including output data from testdata
nl <- nl_sobol
# Define aggregation measurements:
myfuns <- list(mean=mean, sd=sd, min=min, max=max)
# Calculate sensitivity indices:
analyze_nl(nl, funs = myfuns)
#> [1] "No missing combinations detected!"
#> # A tibble: 18 × 8
#> original bias `std. error` `min. c.i.` `max. c.i.` parameter metric seed
#> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr> <dbl>
#> 1 0.114 0 0.179 0 0.491 initial-… count… 8515
#> 2 0.554 0.0153 0.0980 0.355 0.729 initial-… count… 8515
#> 3 0.346 0 0.228 0 0.811 initial-… count… 8515
#> 4 0.652 0.000573 0.0618 0.545 0.785 initial-… count… 8515
#> 5 0 0 0.121 0 0.266 initial-… count… 8515
#> 6 0.365 0.00717 0.154 0.0534 0.667 initial-… count… 8515
#> 7 0.114 0 0.173 0 0.430 initial-… count… 8515
#> 8 0.554 0 0.100 0.346 0.767 initial-… count… 8515
#> 9 0.346 0.00730 0.226 0 0.822 initial-… count… 8515
#> 10 0.652 0 0.0601 0.540 0.778 initial-… count… 8515
#> 11 0 0 0.106 0 0.173 initial-… count… 8515
#> 12 0.365 0.0145 0.134 0.0608 0.672 initial-… count… 8515
#> 13 0.114 0 0.173 0 0.421 initial-… count… 8515
#> 14 0.554 0 0.113 0.325 0.780 initial-… count… 8515
#> 15 0.346 0.0336 0.240 0 0.923 initial-… count… 8515
#> 16 0.652 0.000578 0.0549 0.548 0.764 initial-… count… 8515
#> 17 0 0.000504 0.110 0 0.218 initial-… count… 8515
#> 18 0.365 0 0.140 0.104 0.660 initial-… count… 8515