You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add classes for calibrating average ensemble and ensemble of tragedies (#1048)
* Initial draft for calibration from scipy.optimize
* Draft for impact function calibration
* Add first unit tests of calibration module
* ci: Add bayesian-optimization during Jenkins build
* Add __init__.py for util/calibarte/test module
* Add climada.util.calibrate.test module to test discovery
* Add unit and integration tests, update code base
* Start documenting new calibrate module
* Actually add the intregration test
* Add some documentation
* commit PLEASE CLEAN UP
* Add more docstrings and simplify imports through __init__
* Add separate Output classes for each optimizer
* Restructure calibration module
* Add tutorial on impact function calibration
* Update tutorial
* Remove hazard event selection from calibrate.Input
* Update calibration tutorial
* Update climada/util/calibrate/bayesian_optimizer.py
Use negative cost function as target function in BayesianOptimizer
Co-authored-by: Thomas Vogt <[email protected]>
* Separate computing cost from transforming impact objects
* Add evaluator for calibration output
* Add TestBayesianOptimizer test to test loader
* Update code, docs, and tutorial
* Update tutorial
* Add option to adjust data frame alignment
* add seaborn
* Add function to plot Impf variability of calibration (#791)
Co-authored-by: Schmid Timo <[email protected]>
Co-authored-by: Lukas Riedel <[email protected]>
* Improve alignment and handling of NaNs
* Add seaborn to dependencies
* Split tests into multiple files, finish up
* Move impact transform and align to Input
* Use MultiIndex in parameter space dataframe
* Update tutorial
* Fix requirements for calibration module
Seaborn and bayes_opt
* Remove plot_impf_set function and improve exception type
* Add tests for OutputEvaluator
* Fix name of bayes_opt package on PyPI
* Make sure latest seaborn is installed on Jenkins
* Remove unused function definition
* Fix linter issues and remove unused code
* Add BayesianOptimizerOutputEvaluator
* Fix typo in tutorial
* Add GNU license header to new files
* Update CHANGELOG.md
* edit authors.md
* Fix a bug in parameter space plot
* Add ensemble calibrators
* Fix issue with constraints and allow_duplicate_points
* Fix bug in to_input_var
* Increment random seed and update output handling
* Make EnsembleOptimizer run in parallel
* Add docstring to EnsembleOptimizer.run
* Add suggestions from code review
* Rename 'true' parameter to 'data' in 'target_func' method.
* Remove setting random_state in run function during tests.
* Add explicit haz_type to tests to avoid warnings.
* Update cross-calibration module
* Add option to read and write EnsembleOptimizerOutput from/to HDF5.
* Add plotting functions for EnsembleOptimizerOutput.
* Streamline EnsembleOptimizer with generator methods.
* Add unit tests for cross calibration
Many tests still missing.
* Avoid errors when storing event names in cross calibration output
* Add iteration controller for BayesianOptimizer
* Fix calibrate module init and add first controller tests
* Deepcopy optimizer run kwargs and add hazard intensity histogram to shiny plot
* Fix handling of instance maximum for constrained optimization
* Add tests for BayesianOptimizerController and fix verbosity
* Add test for plotting parameter space
* Update integration tests for BayesianOptimizer
Include controller.
* Add explanation of BayesianOptimizerController to tutorial
* add preliminary plot_category function
* Add option to reduce tragedy ensemble size
* Add option to store and load calibration results
* Update plots and tutorial
* Fix annotations, docstrings, some linter issues
* Add tests for cross_calibrate.py
* Add test execution to test_cross_calibrate.py
* Update plots, tests, docstrings, docs
* Rename cross_calibrate.py to ensemble.py
* Improve plots, add 'replace' parameter to AverageEnsembleOptimizer
* Add ensemble calibration to tutorial
* Remove custom changes to Jenkins script
* Beautify plot
* Update calibation tutorial
* Use absolute imports for referring out of this module
* Update docs and links in tutorial
* Add `data_weights` to calibration Input
* Use weights for sampling with replacement in AverageEnsembleOptimizer.
* Update tests
* Add equality comparison to EnsembleOptimizerOutput
* Update CHANGELOG.md
* Update CHANGELOG.md
* Comply to abstractmethod interface in BayesianOptimizer
* Fix linter issue where builtin 'input' was shadowed
* Suggest that cost functions take ndarrays
* Update tutorial
* Make cost functions consume numpy arrays
* Update docs
* Update tutorial
* remove useless tqdm artefacts
* Update climada/util/calibrate/ensemble.py
Co-authored-by: Emanuel Schmid <[email protected]>
---------
Co-authored-by: emanuel-schmid <[email protected]>
Co-authored-by: Thomas Vogt <[email protected]>
Co-authored-by: Timo Schmid <[email protected]>
Co-authored-by: Schmid Timo <[email protected]>
Co-authored-by: Emanuel Schmid <[email protected]>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,7 @@ Removed:
30
30
- Added instructions to install Climada petals on Euler cluster in `doc.guide.Guide_Euler.ipynb`[#1029](https://github.com/CLIMADA-project/climada_python/pull/1029)
31
31
- Added util methods to handle crs coordinates consistently: `is_geo_coords`, `check_if_geo_coords`, `get_crs_unit`, `estimate_matching_threshold`, `degree_to_km`, and `km_to_degree`[#1080](https://github.com/CLIMADA-project/climada_python/pull/1080)
32
32
-`ImpactFunc` and `ImpactFuncSet` now support equality comparisons via `==`[#1027](https://github.com/CLIMADA-project/climada_python/pull/1027)
33
+
- Calibration of impact function ensembles in `climada.util.calibrate`[#1048](https://github.com/CLIMADA-project/climada_python/pull/1048)
33
34
- Added optional `attrs` parameter to `Exposures.from_raster` method to set additional object properties through the method's `Exposures.__init__` call.
- World Bank indicator data is now downloaded directly from their API via the function `download_world_bank_indicator`, instead of relying on the `pandas-datareader` package [#1033](https://github.com/CLIMADA-project/climada_python/pull/1033)
46
47
-`Exposures.write_hdf5` pickles geometry data in WKB format, which is faster and more sustainable. [#1051](https://github.com/CLIMADA-project/climada_python/pull/1051)
47
48
- The online documentation has been completely overhauled, now uses PyData theme: [#977](https://github.com/CLIMADA-project/climada_python/pull/977)
49
+
-`Input` to impact function calibration tasks now supports adding weights to the data [#1048](https://github.com/CLIMADA-project/climada_python/pull/1048)
48
50
- Add `climada.hazard.xarray` module with helper structures for reading Hazard objects from `xarray` data [#1063](https://github.com/CLIMADA-project/climada_python/pull/1063)
49
51
- The output of the `impact_yearset` was changed to only contain attributes corresponding to the yearly impact set. The application of the correction factor and the frequency of the resulting yearly impact object are corrected. [#1075](https://github.com/CLIMADA-project/climada_python/pull/1075)
50
52
-`util.coordinates.get_resolution` always returns positive values, regardless of how the input coordinates' order [#1080](https://github.com/CLIMADA-project/climada_python/pull/1080).
0 commit comments