osier.equations.volatility#

osier.equations.volatility(technology_list, solved_dispatch_model, attribute='demand', m=3, tau=60, normalize=True)[source]#

This function calculates the volatility of the electricity prices or the electricity demand for a dispatch model with weighted permutation entropy.

Parameters:
  • technology_list (list of osier.Technology objects) – The list of technologies.

  • solved_dispatch_model (osier.DispatchModel) – A _solved_ dispatch model (i.e. with model results and objective attributes).

  • attribute ({'demand', 'volatility'}) – Indicates whether to calculate the volatility of electricity demand or electricity price.

  • m (int) – The embedding dimension for the cost time series. Typically determined using a false nearest neighbors algorithm. The default value is 3.

  • tau (int) – The time delay for the cost time series. Typically determined by selecting the index of the first or second minimum of the time series’ delayed mutual information.

Returns:

wpe – The weighted permutation entropy of the cost time series.

Return type:

float

Notes

Users can modify the parameters for this function using functools.partial.

>>> import functools
>>> from osier import volatility
>>> objectives_list = [functools.partial(volatility, m=4, tau=100)]