- Fix build Ray Bell.
- :py:func:`~xskillscore.rank_histogram`
random_for_tied=True
handles tied ranks correctly by default.random_for_tied=False
ignores this and retains previous behaviour. (:issue:`335`, :pr:`364`) Aaron Spring. - Allow singleton dimension in :py:func:`~xskillscore.resample_iterations_idx` as this is allowed in :py:func:`~xskillscore.resample_iterations` also. (:issue:`375`, :pr:`376`) Aaron Spring.
- Reduce dependencies (:issue:`359`, :pr:`363`) Aaron Spring.
- Implement
typing
for allxs.{calls}
. (:issue:`317`, :pr:`366`) Aaron Spring. - Refactor masking
NaN
in :py:func:`~xskillscore.rps`. (:pr:`397`) Aaron Spring. - Use to
pyproject.toml
and useruff
for linting Ray Bell.
- :py:func:`~xskillscore.multipletests` controlling the false discovery rate for multiple hypothesis tests. (:issue:`365`, :pr:`370`) Aaron Spring.
- :py:func:`~xskillscore.crps_ensemble` broadcasts (:issue:`345`, :pr:`346`) Aaron Spring.
- :py:func:`~xskillscore.resampling.resample_iterations_idx` do not break when
dim
is not coordinate. (:issue:`303`, :pr:`339`) Aaron Spring. - Allow
float
orinteger
forecasts in :py:func:`~xskillscore.brier_score` (:issue:`285`, :pr:`341`) Aaron Spring.
- Allow
float
orinteger
forecasts in :py:func:`~xskillscore.brier_score` (:issue:`285`, :pr:`342`) Aaron Spring
- Added mypy to linting (:pr:`320`) Zachary Blackwood.
- Added more info in
quick-start.ipynb
(:pr:`316`) Ray Bell. - Created
tabular-data.ipynb
(:pr:`330`) Ray Bell.
- Renamed mae_test to halfwidth_ci_test to make this comparative metric generic. Now, it accepts any of the distance metrics functions except for mape. The new function has an additional argument called metric which is a string and name of the target distance metric. (:pr:`319`) Taher Chegini.
- Specify category distribution type with
input_distributions
in :py:func:`~xskillscore.rps` ifcategory_edges==None
that forecasts and observations are probability distributionsp
or cumulative distributionssc
. See :py:func:`~xskillscore.rps` docstrings and doctests for examples. (:pr:`300`) Aaron Spring - Added slope of linear fit :py:func:`~xskillscore.linslope`. (:pr:`307`) Ray Bell
- Use
pytest-xdist
andmatplotlib-base
in environments to speed up CI. (:pr:`283`) Aaron Spring - :py:func:`~xskillscore.rps` does not break from masking NaNs anymore.
:py:func:`~xskillscore.rps` expilicty checks for
bin_dim
ifcategory_edges==None
. (:pr:`287`) Aaron Spring - Add doctest on the docstring examples. (:pr:`302`) Ray Bell
- Removed a call to compute weights in testing. (:pr:`306`) Ray Bell
- Use built in
xarray
clip method. (:pr:`309`) Ray Bell
- Added mean error :py:func:`~xskillscore.me`. (:issue:`202`, :pr:`200`) Andrew Huang
- :py:func:`~xskillscore.brier_score` and :py:func:`~xskillscore.rps` now contain
keyword
fair
to account for ensemble-size adjustments, but defaults toFalse
. :py:func:`~xskillscore.brier_score` also accepts binary or boolean forecasts when amember_dim
dimension is present. (:issue:`162`, :pr:`211`) Aaron Spring - Added MAE significance test :py:func:`~xskillscore.mae_test` from Jolliffe and Ebert https://www.cawcr.gov.au/projects/verification/CIdiff/FAQ-CIdiff.html (:issue:`192`, :pr:`209`) Aaron Spring
- :py:func:`~xskillscore.resampling.resample_iterations` and faster :py:func:`~xskillscore.resampling.resample_iterations_idx` for resampling with and without replacement. (:issue:`215`, :pr:`225`) Aaron Spring
- Added receiver operating characteristic (ROC) :py:func:`~xskillscore.roc`. (:issue:`114`, :issue:`256`, :pr:`236`, :pr:`259`) Aaron Spring
- Added many options for
category_edges
in :py:func:`~xskillscore.rps`, which allows multi-dimensional edges. :py:func:`~xskillscore.rps` now requires dimensionmember_dim
in forecasts. (:issue:`275`, :pr:`277`) Aaron Spring
- Aligned output of :py:func:`~xskillscore.sign_test` with
:py:func:`~xskillscore.mae_test`. Now tests from comparative.py return more than
one object including a boolean indicating
signficance
based onalpha
. (:pr:`209`) Aaron Spring - Drop support for python 3.6. (:issue:`237`, :pr:`276`) Ray Bell
- :py:func:`~xskillscore.sign_test` now works for
xr.Dataset
inputs. (:issue:`198`, :pr:`199`) Aaron Spring - :py:func:`~xskillscore.threshold_brier_score` does not average over thresholds when
dim==None
. Now also carriesthreshold
as coordinate. (:issue:`255`, :pr:`211`) Aaron Spring - Passing weights no longer triggers eager computation. (:issue:`218`, :pr:`224`). Andrew Huang
- :py:func:`~xskillscore.rps` not restricted to
[0, 1]
. (:issue:`266`, :pr:`277`) Aaron Spring
- Added Python 3.7 and Python 3.8 to the CI. Use the latest version of Python 3 for development. (:issue:`21`, :pr:`189`) Aaron Spring
- Lint with the latest black. (:issue:`179`, :pr:`191`) Ray Bell
- Update mape algorithm from scikit-learn v0.24.0 and test against it. (:issue:`160`, :pr:`230`) Ray Bell
- Pin
numba
to>=0.52
to fix CI (:issue:`233`, :pr:`234`) Ray Bell - Refactor
asv
benchmarks. (:pr:`231`) Aaron Spring - Added tests for nans in correlation metrics (:issue:`246`, :pr:`247`) Ray Bell
- Added tests for weighted metrics against scikit-learn (:pr:`257`) Ray Bell
- Pin
xhistogram
to>=0.1.2
and adjust code/documentation so that, as in np.histogram, right-most bin is right-edge inclusive where bins are specified (:pr:`269`) Dougie Squire - Reduce warnings. (:issue:`41`, :pr:`268`) Aaron Spring
- Use
raise_if_dask_computes
from xarray. (:issue:`272`, :pr:`273`) Ray Bell - :py:func:`~xskillscore.threshold_brier_score` now carries threshold values as coordinates. (:pr:`279`) Aaron Spring
- Added the sign test described in DelSole and Tippett 2016: :py:func:`~xskillscore.sign_test`. (:issue:`133`, :pr:`176`) Aaron Spring and Dougie Squire
- Removed an unused variable in
_rmse
, resulting in 2x speedup (:pr:`182`). Andrew Huang - Require
xarray=0.16.1
(:issue:`183`, :pr:`184`) Aaron Spring
- Fix incompatibility with
xarray=0.16.1
inapply_ufunc
(:issue:`183`, :pr:`184`) Aaron Spring
- Added contingency table :py:func:`~xskillscore.Contingency` and associated metrics (:pr:`119`, :pr:`153`). Dougie Squire
- Added :py:func:`~xskillscore.rank_histogram` and :py:func:`~xskillscore.discrimination` to probabilistic metrics (:pr:`136`). Dougie Squire
- Added :py:func:`~xskillscore.reliability` to probabilistic metrics (:pr:`164`). Dougie Squire
- Added
dim
andweights
kwargs for probabilistic metrics. (:pr:`121`) Aaron Spring - Added
keep_attrs
kwarg for all metrics. (:pr:`122`) Andrew Huang - Added ranked probability score :py:func:`~xskillscore.rps`. (:pr:`163`) Aaron Spring
- Deterministic metrics now automatically broadcast any non-core dimensions. E.g., a single time series can be compared to a gridded product spanning that same time span. (:issue:`165`, :issue:`71`, :issue:`156`, :pr:`166`) Aaron Spring
- Renamed
dim
tomember_dim
in probabilistic metrics. (:pr:`121`) Aaron Spring - Argument
dim
becomes keyworddim=None
in all metrics. (:issue:`137`, :pr:`143`) Aaron Spring dim=None
reduces all dimensions as inxr.mean(dim=None)
. (:issue:`137`, :pr:`143`) Aaron Spring
- Fixes
weights=None
type issue with latest version ofdask
. (:issue:`168`, :pr:`171`) Andrew Huang
- Added
sphinx
documentation with full API and a quick start notebook. (:pr:`127`) Riley X. Brady and Ray Bell.
- Added
utils
module to house utilities shared across multiple modules (:pr:`119`). Dougie Squire - Added
conftest.py
to gather allpytest.fixtures
. (:issue:`126`, :pr:`159`). Aaron Spring and Ray Bell - Removed
test_np_deterministic
covered bytest_metric_results_accurate
. (:pr:`159`) Aaron Spring
- Add community support documents:
HOWTOCONTRIBUTE.rst
, issue template and pull request template. Aaron Spring and Ray Bell - Replace
pandas
withcftime
in examples and tests. Aaron Spring and Ray Bell - Add coveralls for tests coverage. Aaron Spring and Ray Bell
- Add
black
,flake8
,isort
,doc8
andpre-commit
for formatting similar toclimpred
. Aaron Spring and Ray Bell
- Avoid mutating inputted arrays when skipna=True. (:pr:`111`) Riley X. Brady.
- Avoid read-only error that appeared due to not copying input arrays when dealing with NaNs. (:pr:`111`) Riley X. Brady.
- Update the
XSkillScoreAccessor
with all metrics. Ray Bell
- Add
r2
as an implementation ofsklearn.metrics.r2_score
. Ray Bell
- Fixes #79 assignment destination is read-only
error when
skipna=True
and weights are passed. Andrew Huang
- ~30-50% speedup for deterministic metrics when
weights=None
. Aaron Spring
- Add
effective_sample_size
,pearson_r_eff_p_value
, andspearman_r_eff_p_value
for computing statistical significance for temporally correlated data with autocorrelation. Riley X. Brady
mad
no longer works and is replaced bymedian_absolute_error
. Riley X. Brady
skipna
forpearson_r
andspearman_r
and their p-values now reports accurate results when there are pairwise nans (i.e., nans that occur in different indices ina
andb
) Riley X. Brady
- Test that results from grid cells in a gridded product match the same value if their time series were input directly into functions. Riley X. Brady
- Test that metric results from
xskillscore
are the same value as an external package (e.g.numpy
,scipy
,sklearn
). Riley X. Brady - Test that
skipna=True
works properly with pairwise nans. Riley X. Brady