openstef 3.4.16__tar.gz → 3.4.17__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openstef-3.4.16 → openstef-3.4.17}/PKG-INFO +1 -1
- {openstef-3.4.16 → openstef-3.4.17}/openstef/pipeline/create_forecast.py +4 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/postprocessing/postprocessing.py +22 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef.egg-info/PKG-INFO +1 -1
- {openstef-3.4.16 → openstef-3.4.17}/setup.py +1 -1
- {openstef-3.4.16 → openstef-3.4.17}/LICENSE +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/README.md +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/__main__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_adaptation_model.z +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_adaptation_model.z.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_adaptation_model_features.z +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_adaptation_model_features.z.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_adaptation_model_scaler.z +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_adaptation_model_scaler.z.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_domain_model.z +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_domain_model.z.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_domain_model_features.z +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_domain_model_features.z.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_domain_model_scaler.z +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_domain_model_scaler.z.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_model_card.md +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_model_card.md.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_target.z +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_target.z.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_target_scaler.z +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_target_scaler.z.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dutch_holidays_2020-2022.csv +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/dutch_holidays_2020-2022.csv.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/pv_single_coefs.csv +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data/pv_single_coefs.csv.license +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data_classes/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data_classes/data_prep.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data_classes/model_specifications.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data_classes/prediction_job.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/data_classes/split_function.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/enums.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/exceptions.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/feature_engineering/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/feature_engineering/apply_features.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/feature_engineering/data_preparation.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/feature_engineering/feature_adder.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/feature_engineering/feature_applicator.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/feature_engineering/general.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/feature_engineering/holiday_features.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/feature_engineering/lag_features.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/feature_engineering/weather_features.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/metrics/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/metrics/figure.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/metrics/metrics.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/metrics/reporter.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/basecase.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/confidence_interval_applicator.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/fallback.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/metamodels/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/metamodels/grouped_regressor.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/metamodels/missing_values_handler.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/model_creator.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/objective.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/objective_creator.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/regressors/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/regressors/arima.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/regressors/custom_regressor.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/regressors/dazls.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/regressors/lgbm.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/regressors/linear.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/regressors/regressor.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/regressors/xgb.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/regressors/xgb_quantile.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/serializer.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model/standard_deviation_generator.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model_selection/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/model_selection/model_selection.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/monitoring/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/monitoring/performance_meter.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/monitoring/teams.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/pipeline/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/pipeline/create_basecase_forecast.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/pipeline/create_component_forecast.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/pipeline/optimize_hyperparameters.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/pipeline/train_create_forecast_backtest.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/pipeline/train_model.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/pipeline/utils.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/postprocessing/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/preprocessing/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/preprocessing/preprocessing.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/calculate_kpi.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/create_basecase_forecast.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/create_components_forecast.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/create_forecast.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/create_solar_forecast.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/create_wind_forecast.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/optimize_hyperparameters.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/split_forecast.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/train_model.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/utils/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/utils/dependencies.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/utils/predictionjobloop.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/tasks/utils/taskcontext.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/validation/__init__.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef/validation/validation.py +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef.egg-info/SOURCES.txt +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef.egg-info/dependency_links.txt +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef.egg-info/requires.txt +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/openstef.egg-info/top_level.txt +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/pyproject.toml +0 -0
- {openstef-3.4.16 → openstef-3.4.17}/setup.cfg +0 -0
@@ -16,6 +16,7 @@ from openstef.model.serializer import MLflowSerializer
|
|
16
16
|
from openstef.pipeline.utils import generate_forecast_datetime_range
|
17
17
|
from openstef.postprocessing.postprocessing import (
|
18
18
|
add_prediction_job_properties_to_forecast,
|
19
|
+
sort_quantiles,
|
19
20
|
)
|
20
21
|
from openstef.validation import validation
|
21
22
|
|
@@ -149,6 +150,9 @@ def create_forecast_pipeline_core(
|
|
149
150
|
model, forecast_input_data
|
150
151
|
).add_confidence_interval(forecast, pj)
|
151
152
|
|
153
|
+
# Sort quantiles - prevents crossing and is statistically sound
|
154
|
+
forecast = sort_quantiles(forecast)
|
155
|
+
|
152
156
|
# Prepare for output
|
153
157
|
forecast = add_prediction_job_properties_to_forecast(
|
154
158
|
pj,
|
@@ -244,3 +244,25 @@ def add_prediction_job_properties_to_forecast(
|
|
244
244
|
forecast["algtype"] = algorithm_type
|
245
245
|
|
246
246
|
return forecast
|
247
|
+
|
248
|
+
|
249
|
+
def sort_quantiles(
|
250
|
+
forecast: pd.DataFrame, quantile_col_start="quantile_P"
|
251
|
+
) -> pd.DataFrame:
|
252
|
+
"""Sort quantile values so quantiles do not cross.
|
253
|
+
|
254
|
+
This function assumes that all quantile columns start with 'quantile_P'
|
255
|
+
For more academic details on why this is mathematically sounds,
|
256
|
+
please refer to Quantile and Probability Curves Without Crossing (Chernozhukov, 2010)
|
257
|
+
"""
|
258
|
+
p_columns = [col for col in forecast.columns if col.startswith(quantile_col_start)]
|
259
|
+
|
260
|
+
if len(p_columns) == 0:
|
261
|
+
return forecast
|
262
|
+
|
263
|
+
# sort the columns
|
264
|
+
p_columns = np.sort(p_columns)
|
265
|
+
|
266
|
+
forecast.loc[:, p_columns] = forecast[p_columns].apply(sorted, axis=1).to_list()
|
267
|
+
|
268
|
+
return forecast
|
@@ -29,7 +29,7 @@ def read_long_description_from_readme():
|
|
29
29
|
|
30
30
|
setup(
|
31
31
|
name="openstef",
|
32
|
-
version="3.4.
|
32
|
+
version="3.4.17",
|
33
33
|
packages=find_packages(include=["openstef", "openstef.*"]),
|
34
34
|
description="Open short term energy forecaster",
|
35
35
|
long_description=read_long_description_from_readme(),
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_model_card.md
RENAMED
File without changes
|
File without changes
|
{openstef-3.4.16 → openstef-3.4.17}/openstef/data/dazls_model_3.4.7/dazls_stored_3.4.7_target.z
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|