bulum.stats.ensemble_stats module

Statistical analyses of DataframeEnsemble

annual_incremental_risk(input: DataframeEnsemble, variable: str, parameters: list, min_count=7)

Returns an annual timeseries of incremental risk for each parameter i.e. probability (as a proportion of ensemble DataFrames) of variable having been below a certain parameter for a given water year in the timeseries, with a minimum event count threshold.

Parameters:
  • input (DataframeEnsemble) – A (likely) filtered bulum DataframeEnsemble.

  • variable (str) – Timeseries column of interest from the ensembled DataFrames e.g. ‘Storage Volume’.

  • parameters (list) – List of parameters to test.

  • min_count (int, optional) – Minimum number of days in year to count as event. Defaults to 7.

Returns:

Dictionary with keys = ‘parameters’ and values = annual incremental risk timeseries output.

Return type:

dict

cumulative_risk(input: DataframeEnsemble, variable: str, parameters: list)

Returns a timeseries of cumulative risk for each parameter i.e. probability (as a proportion of ensemble DataFrames) of variable having been below a certain parameter at least once by a given date in the timeseries.

Parameters:
  • input (DataframeEnsemble) – A (likely filtered) bulum DataframeEnsemble.

  • variable (str) – Timeseries column of interest from the ensembled DataFrames e.g. ‘Storage Volume’.

  • parameters (list) – List of parameters to test.

Returns:

Dictionary with keys = ‘parameters’ and values = cumulative risk timeseries output.

Return type:

dict

incremental_risk(input: DataframeEnsemble, variable: str, parameters: list)

Returns a timeseries of incremental risk for each parameter i.e. probability (as a proportion of ensemble DataFrames) of variable having been below a certain parameter for a given date in the timeseries.

Parameters:
  • input (DataframeEnsemble) – A (likely) filtered bulum DataframeEnsemble.

  • variable (str) – Timeseries column of interest from the ensembled DataFrames e.g. ‘Storage Volume’.

  • parameters (list) – List of parameters to test.

Returns:

Dictionary with keys = ‘parameters’ and values = incremental risk timeseries output.

Return type:

dict

percentile_envelope(input: DataframeEnsemble, variable: str, parameters: list)

Returns a timeseries of percentile outcomes for a given variable across ensemble DataFrames for a given date in the timeseries.

Parameters:
  • input (utils.DataframeEnsemble) – A (likely) filtered bulum DataframeEnsemble.

  • variable (str) – Timeseries column of interest from the ensembled DataFrames e.g. ‘Storage Volume’.

  • parameters (list) – List of percentiles (0 - 100) to test.

Returns:

Dictionary with keys = ‘parameters’ and values = percentile envelope timeseries output.

Return type:

dict