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.155 0 0.419 initial-n… count… 8515
#> 2 0.554 0.00575 0.107 0.287 0.741 initial-n… count… 8515
#> 3 0.346 0 0.214 0 0.820 initial-n… count… 8515
#> 4 0.652 0 0.0662 0.493 0.786 initial-n… count… 8515
#> 5 0 0 0.0968 0 0.199 initial-n… count… 8515
#> 6 0.365 0.0157 0.133 0.0677 0.625 initial-n… count… 8515
#> 7 0.114 0 0.170 0 0.473 initial-n… count… 8515
#> 8 0.554 0 0.108 0.380 0.803 initial-n… count… 8515
#> 9 0.346 0.0202 0.234 0 0.824 initial-n… count… 8515
#> 10 0.652 0.00985 0.0561 0.539 0.768 initial-n… count… 8515
#> 11 0 0 0.0938 0 0.250 initial-n… count… 8515
#> 12 0.365 0.00540 0.117 0.0832 0.573 initial-n… count… 8515
#> 13 0.114 0 0.166 0 0.455 initial-n… count… 8515
#> 14 0.554 0 0.121 0.361 0.854 initial-n… count… 8515
#> 15 0.346 0.0276 0.230 0 0.836 initial-n… count… 8515
#> 16 0.652 0.0143 0.0615 0.507 0.742 initial-n… count… 8515
#> 17 0 0.0117 0.111 0 0.177 initial-n… count… 8515
#> 18 0.365 0 0.142 0.153 0.709 initial-n… count… 8515