This release includes a greatly improved flow when starting directly from quantitative inputs. In addition to the spreadsheet importing flow, users have the option to start with quantitative inputs and leverage the new
tidyrisk_scenario objects to move directly to simulation. Users with quantitative flows may also use collector to work with their quantitative data.
read_qualitative_inputs()pulls in all qualitative inputs.
tidyrisk_scenarioobject for containing the elements of a risk scenario for simulation.
tidyrisk_scenarioobject is available.
summarize_scenario()function creates summary for a single scenario’s results.
summarize_scenarios()is now a wrapper around
openfair_tef_tc_diff_plm_sr()is now available for simulating scenarios with secondary loss risk.
loss_scatterplot()generates a scatterplot of total loss exposure vs. number of loss events for a single scenario.
exposure_histogram()generates a histogram of losses for a single scenario, optionally displaying the 95% value at risk level.
loss_exceedance_curve()generates a loss exceedance curve for one or more simulations summarized at the iteration level.
select_loss_events()now returns zeros when there are zero threat events in a given period. Previously this function returned NA which could potentially cause issues in reporting.
run_simulation()and modeling functions such as
run_simulation()will always confirm a scenario object has all of the OpenFAIR components needed by the specified modeling function. This enables easier extension of Evaluator to new models.
openfair_example()uses (at last!) the same simulation engine as
run_simulation(). This provides more consistent results, less code to maintain, and opens this demo app to displaying more metrics that are native to evaluator. A very initial pass to this last point has implemented.
generate_scatterplot()is deprecated in favor of the new
mc_prefix to distinguish them from parameter names.
iterationto be more consistent with general MC uses.
read_quantitative_inputs()added to allow easier skipping over qualitative inputs and going straight to quantitative inputs, such as generated by
capabilitiestable has renamed the
capability_idto be consistent with other ID columns throughout the schema. Survey (Excel) users are not impacted by this change.
run_simulations()function accounts for this change. Users using the standard flow will not be impacted.
summarize_domains()- Incorporates the now removed
calculate_weak_domains()functions. As part of this consolidation, the
mean_diff_exceedancecalculations are improved by handling NAs in some simulations without zeroing out the entire calculation.
summarize_domains()- Properly calculates
mean_diff_exceedancewhen there all threat events are successfully avoided.
generate_heatmap()- Takes a
domain_summaryinput rather than the deprecated
statsnamespaces was practically impossible. All atomic OpenFAIR functions have been refactored to take a fully qualified function (i.e.
explore_scenarios()was trying to assign a mappings variable to the global context, which rightly failed. Scaled back the assignment to the current scope.
select_loss_opportunities()properly returns an NA for the threat & difficulty exceedance calculations when there are no threat events in a given simulated period.
summarize_scenarios()- correctly handles scenarios in which no threat events occur in a given simulation. This bug was limited to
mean_tc_exceedance. For previously run simulations, re-summarizing the
scenario_resultswill generate corrected values.
calculate_max_losses()- no longer returns a duplicate set of results if not passed any outliers.
ale_maximumparameter allows an absolute cap on per simulation annual losses to be set. This is an interim step in lieu of full hierarchical interaction modeling.
run_simulations()- Errors encountered during runs are now reported better.
run_simulations()- Implements parallel execution via the
furrrpackage. To run simulations across all cores of a local machine, load
plan(multicore)before launching an analysis. For more information, see the
sample_tc()check if they are asked to generate zero requested samples, bypassing calling the underlying generation function. This avoids problems with generating functions which do not gracefully handle being asked to sample a non positive number (zero) of events.
load_data()now fully specifies the expected CSV file formats, avoiding possible surprises and making invocations less noisy on the console.
rlang::.dataconstructs, making CRAN checks much simpler.
tempdir(). This can be overwritten on the function call if needed.
mappingscontains sample qualitative to quantitative parameters.
pkgdowngenerated web documentation at https://evaluator.severski.net.
formatparameter to specify HTML, PDF, or Word
stylesparameter allows user to supply custom CSS or Word reference document to customize styles and fonts
devtools::install_github("rstudio/rmarkdown", "b84f706")or greater.
create_templates()function for populating starter/sample files, making starting a fresh analysis easier than ever!
extrafontdatabase for better font detection
sansfamily when none of the preferred options are available
tcltkprogress bar in favor of console-compatible
dplyr::progress_estimated(). Also enables reduced package dependencies.
modeestwith a slimmer
generate_report()now takes an optional
focus_scenario_idsparameter to override the scenarios on which special emphasis (usually executive interest) is desired.
summarize_all()renamed to the more descriptive
summarize_to_disk()to avoid dplyr conflict
annotate_logticks()over manual breaks on risk_dashboard