climpred
climpred copied to clipboard
implement `train_test_split='fair-sliding'/'fair-all'`
Is your feature request related to a problem? Please describe. New paper Risbey et al. 2021 demonstrates how forecaster choices for time selection in bias reduction impacts skill.
Reference: https://t.co/HE4PoROb8Z?amp=1
Describe the solution you'd like
hindcast.remove_bias(how='additive_mean', alignment='same_verifs', method='fair_sliding')
implemented method from:
- [x]
unfair
#655 - [x]
unfair-cv
#655 - [x]
fair
#655 - [ ]
fair-sliding
- [ ]
fair-all
unfair-cv
is often standard, see #643, but unfair wrt real-time forecast/attainable skill, i.e. unfair means artificial skill
Demo: https://gist.github.com/aaronspring/94e24fb7e0a536be61caf1970287f3b5
API: method
-
fair
:train_init=slice(start, end)
~~,test_init=slice(start, end)
~~ (need to change maybe totrain_time
forsame_verifs
) -
fair-sliding
:train_init=slice(start, end)
,~~test_init=slice(start, end)
~~ -
fair-all
:test_init=slice(start, end)
~~,train_init=slice(start, end)
~~ -
unfair-cv
,cv='loo'
-
unfair
: now default