- Fix build Ray Bell.
- :py
~xskillscore.rank_histogram
random_for_tied=True
handles tied ranks correctly by default.random_for_tied=False
ignores this and retains previous behaviour. (335
,364
) Aaron Spring. - Allow singleton dimension in :py
~xskillscore.resample_iterations_idx
as this is allowed in :py~xskillscore.resample_iterations
also. (375
,376
) Aaron Spring.
- Reduce dependencies (
359
,363
) Aaron Spring. - Implement
typing
for allxs.{calls}
. (317
,366
) Aaron Spring. - Refactor masking
NaN
in :py~xskillscore.rps
. (397
) Aaron Spring. - Use to
pyproject.toml
and useruff
for linting Ray Bell.
- Replaced Boston house data in
tabular.ipynb
(352
) Ray Bell.
- :py
~xskillscore.multipletests
controlling the false discovery rate for multiple hypothesis tests. (365
,370
) Aaron Spring.
- :py
~xskillscore.crps_ensemble
broadcasts (345
,346
) Aaron Spring.
- :py
~xskillscore.resampling.resample_iterations_idx
do not break whendim
is not coordinate. (303
,339
) Aaron Spring. - Allow
float
orinteger
forecasts in :py~xskillscore.brier_score
(285
,341
) Aaron Spring.
- Created
np_probabilistic.py
(333
) Ray Bell. - Require
xhistogram>=0.3.0
(337
).
- Allow
float
orinteger
forecasts in :py~xskillscore.brier_score
(285
,342
) Aaron Spring
- Added mypy to linting (
320
) Zachary Blackwood.
- 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. (
319
) Taher Chegini.
- Specify category distribution type with
input_distributions
in :py~xskillscore.rps
ifcategory_edges==None
that forecasts and observations are probability distributionsp
or cumulative distributionssc
. See :py~xskillscore.rps
docstrings and doctests for examples. (300
) Aaron Spring - Added slope of linear fit :py
~xskillscore.linslope
. (307
) Ray Bell
- Use
pytest-xdist
andmatplotlib-base
in environments to speed up CI. (283
) Aaron Spring - :py
~xskillscore.rps
does not break from masking NaNs anymore. :py~xskillscore.rps
expilicty checks forbin_dim
ifcategory_edges==None
. (287
) Aaron Spring - Add doctest on the docstring examples. (
302
) Ray Bell - Removed a call to compute weights in testing. (
306
) Ray Bell - Use built in
xarray
clip method. (309
) Ray Bell
- Added mean error :py
~xskillscore.me
. (202
,200
) Andrew Huang - :py
~xskillscore.brier_score
and :py~xskillscore.rps
now contain keywordfair
to account for ensemble-size adjustments, but defaults toFalse
. :py~xskillscore.brier_score
also accepts binary or boolean forecasts when amember_dim
dimension is present. (162
,211
) Aaron Spring - Added MAE significance test :py
~xskillscore.mae_test
from Jolliffe and Ebert https://www.cawcr.gov.au/projects/verification/CIdiff/FAQ-CIdiff.html (192
,209
) Aaron Spring - :py
~xskillscore.resampling.resample_iterations
and faster :py~xskillscore.resampling.resample_iterations_idx
for resampling with and without replacement. (215
,225
) Aaron Spring - Added receiver operating characteristic (ROC) :py
~xskillscore.roc
. (114
,256
,236
,259
) Aaron Spring - Added many options for
category_edges
in :py~xskillscore.rps
, which allows multi-dimensional edges. :py~xskillscore.rps
now requires dimensionmember_dim
in forecasts. (275
,277
) Aaron Spring
- Aligned output of :py
~xskillscore.sign_test
with :py~xskillscore.mae_test
. Now tests from comparative.py return more than one object including a boolean indicatingsignficance
based onalpha
. (209
) Aaron Spring - Drop support for python 3.6. (
237
,276
) Ray Bell
- :py
~xskillscore.sign_test
now works forxr.Dataset
inputs. (198
,199
) Aaron Spring - :py
~xskillscore.threshold_brier_score
does not average over thresholds whendim==None
. Now also carriesthreshold
as coordinate. (255
,211
) Aaron Spring - Passing weights no longer triggers eager computation. (
218
,224
). Andrew Huang - :py
~xskillscore.rps
not restricted to[0, 1]
. (266
,277
) Aaron Spring
- Added Python 3.7 and Python 3.8 to the CI. Use the latest version of Python 3 for development. (
21
,189
) Aaron Spring - Lint with the latest black. (
179
,191
) Ray Bell - Update mape algorithm from scikit-learn v0.24.0 and test against it. (
160
,230
) Ray Bell - Pin
numba
to>=0.52
to fix CI (233
,234
) Ray Bell - Refactor
asv
benchmarks. (231
) Aaron Spring - Added tests for nans in correlation metrics (
246
,247
) Ray Bell - Added tests for weighted metrics against scikit-learn (
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 (269
) Dougie Squire - Reduce warnings. (
41
,268
) Aaron Spring - Use
raise_if_dask_computes
from xarray. (272
,273
) Ray Bell - :py
~xskillscore.threshold_brier_score
now carries threshold values as coordinates. (279
) Aaron Spring
- Added the sign test described in DelSole and Tippett 2016: :py
~xskillscore.sign_test
. (133
,176
) Aaron Spring and Dougie Squire
- Removed an unused variable in
_rmse
, resulting in 2x speedup (182
). Andrew Huang - Require
xarray=0.16.1
(183
,184
) Aaron Spring
- Fix incompatibility with
xarray=0.16.1
inapply_ufunc
(183
,184
) Aaron Spring
- Added
CONTRIBUTING.md
to trigger built-in Github contribution guide reference (181
) mcsitter.
- Added contingency table :py
~xskillscore.Contingency
and associated metrics (119
,153
). Dougie Squire - Added :py
~xskillscore.rank_histogram
and :py~xskillscore.discrimination
to probabilistic metrics (136
). Dougie Squire - Added :py
~xskillscore.reliability
to probabilistic metrics (164
). Dougie Squire - Added
dim
andweights
kwargs for probabilistic metrics. (121
) Aaron Spring - Added
keep_attrs
kwarg for all metrics. (122
) Andrew Huang - Added ranked probability score :py
~xskillscore.rps
. (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. (
165
,71
,156
,166
) Aaron Spring
- Renamed
dim
tomember_dim
in probabilistic metrics. (121
) Aaron Spring - Argument
dim
becomes keyworddim=None
in all metrics. (137
,143
) Aaron Spring dim=None
reduces all dimensions as inxr.mean(dim=None)
. (137
,143
) Aaron Spring
- Fixes
weights=None
type issue with latest version ofdask
. (168
,171
) Andrew Huang
- Added
sphinx
documentation with full API and a quick start notebook. (127
) Riley X. Brady and Ray Bell.
- Added
utils
module to house utilities shared across multiple modules (119
). Dougie Squire - Added
conftest.py
to gather allpytest.fixtures
. (126
,159
). Aaron Spring and Ray Bell - Removed
test_np_deterministic
covered bytest_metric_results_accurate
. (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. (
111
) Riley X. Brady. - Avoid read-only error that appeared due to not copying input arrays when dealing with NaNs. (
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