solarforecastarbiter.reference_forecasts.persistence.persistence_probabilistic_timeofday¶
-
solarforecastarbiter.reference_forecasts.persistence.
persistence_probabilistic_timeofday
(observation, data_start, data_end, forecast_start, forecast_end, interval_length, interval_label, load_data, axis, constant_values)[source]¶ Make a probabilistic persistence forecast using the observation from data_start to data_end, matched by time of day (e.g. to forecast 9am, only use observations from 9am on days between data_start and data_end). This is a common variant of the Persistence Ensemble (PeEn) method. [1] [2] [3]
Parameters: - observation (datamodel.Observation) –
- data_start (pd.Timestamp) – Observation data start. Forecast is inclusive of this instant if observation.interval_label is beginning or instant.
- data_end (pd.Timestamp) – Observation data end. Forecast is inclusive of this instant if observation.interval_label is ending or instant.
- forecast_start (pd.Timestamp) – Forecast start. Forecast is inclusive of this instant if interval_label is beginning or instant.
- forecast_end (pd.Timestamp) – Forecast end. Forecast is inclusive of this instant if interval_label is ending or instant.
- interval_length (pd.Timedelta) – Forecast interval length
- interval_label (str) – instant, beginning, or ending
- load_data (function) – A function that loads the observation data. Must have the signature load_data(observation, data_start, data_end) and properly account for observation interval label.
- axis ({'x', 'y'}) – The axis on which the constant values of the CDF is specified. The axis can be either x (constant variable values) or y (constant percentiles).
- constant_values (array_like) – The variable values or percentiles.
Returns: forecasts (list of pd.Series) – The persistence forecasts, returned in the same order as constant_values. If axis is x, the forecast values are percentiles (e.g. 25%). If instead axis is y, the forecasts values have the same units as the observation data (e.g. MW).
Raises: ValueError
– If there is insufficient data for matching by time of day or the axis parameter is invalid.Notes
Assumes that there is at least 20 days of observation data available based on [1], [2], [3].
References
[1] (1, 2) Allessandrini et al. (2015) “An analog ensemble for short-term probabilistic solar power forecast”, Appl. Energy 157, pp. 95-110. doi: 10.1016/j.apenergy.2015.08.011 [2] (1, 2) Yang (2019) “A universal benchmarking method for probabilistic solar irradiance forecasting”, Solar Energy 184, pp. 410-416. doi: 10.1016/j.solener.2019.04.018 [3] (1, 2) Doubleday, Van Scyoc Herndandez and Hodge (2020) “Benchmark probabilistic solar forecasts: characteristics and recommendations”, Solar Energy 206, pp. 52-67. doi: 10.1016/j.solener.2020.05.051