arviz 0.20.0__py3-none-any.whl → 0.21.0__py3-none-any.whl
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.
- arviz/__init__.py +1 -1
- arviz/data/base.py +2 -2
- arviz/data/inference_data.py +20 -7
- arviz/plots/backends/__init__.py +8 -7
- arviz/plots/backends/bokeh/bpvplot.py +4 -3
- arviz/plots/backends/bokeh/densityplot.py +5 -1
- arviz/plots/backends/bokeh/dotplot.py +5 -2
- arviz/plots/backends/bokeh/essplot.py +4 -2
- arviz/plots/backends/bokeh/forestplot.py +11 -4
- arviz/plots/backends/bokeh/khatplot.py +4 -2
- arviz/plots/backends/bokeh/lmplot.py +9 -3
- arviz/plots/backends/bokeh/mcseplot.py +2 -2
- arviz/plots/backends/bokeh/pairplot.py +10 -5
- arviz/plots/backends/bokeh/ppcplot.py +2 -1
- arviz/plots/backends/bokeh/rankplot.py +2 -1
- arviz/plots/backends/bokeh/traceplot.py +2 -1
- arviz/plots/backends/bokeh/violinplot.py +2 -1
- arviz/plots/backends/matplotlib/bpvplot.py +2 -1
- arviz/plots/bfplot.py +9 -26
- arviz/plots/bpvplot.py +10 -1
- arviz/plots/hdiplot.py +5 -0
- arviz/plots/plot_utils.py +5 -3
- arviz/preview.py +36 -5
- arviz/stats/__init__.py +1 -0
- arviz/stats/diagnostics.py +18 -14
- arviz/stats/stats.py +86 -0
- arviz/tests/base_tests/test_data.py +31 -7
- arviz/tests/base_tests/test_diagnostics.py +5 -4
- arviz/tests/base_tests/test_plots_matplotlib.py +26 -10
- arviz/tests/base_tests/test_stats.py +11 -0
- arviz/utils.py +4 -0
- {arviz-0.20.0.dist-info → arviz-0.21.0.dist-info}/METADATA +1 -1
- {arviz-0.20.0.dist-info → arviz-0.21.0.dist-info}/RECORD +36 -36
- {arviz-0.20.0.dist-info → arviz-0.21.0.dist-info}/WHEEL +1 -1
- {arviz-0.20.0.dist-info → arviz-0.21.0.dist-info}/LICENSE +0 -0
- {arviz-0.20.0.dist-info → arviz-0.21.0.dist-info}/top_level.txt +0 -0
arviz/preview.py
CHANGED
|
@@ -1,17 +1,48 @@
|
|
|
1
|
-
# pylint: disable=unused-import,unused-wildcard-import,wildcard-import
|
|
1
|
+
# pylint: disable=unused-import,unused-wildcard-import,wildcard-import,invalid-name
|
|
2
2
|
"""Expose features from arviz-xyz refactored packages inside ``arviz.preview`` namespace."""
|
|
3
|
+
import logging
|
|
4
|
+
|
|
5
|
+
_log = logging.getLogger(__name__)
|
|
6
|
+
|
|
7
|
+
info = ""
|
|
3
8
|
|
|
4
9
|
try:
|
|
5
10
|
from arviz_base import *
|
|
11
|
+
|
|
12
|
+
status = "arviz_base available, exposing its functions as part of arviz.preview"
|
|
13
|
+
_log.info(status)
|
|
6
14
|
except ModuleNotFoundError:
|
|
7
|
-
|
|
15
|
+
status = "arviz_base not installed"
|
|
16
|
+
_log.info(status)
|
|
17
|
+
except ImportError:
|
|
18
|
+
status = "Unable to import arviz_base"
|
|
19
|
+
_log.info(status, exc_info=True)
|
|
20
|
+
|
|
21
|
+
info += status + "\n"
|
|
8
22
|
|
|
9
23
|
try:
|
|
10
|
-
import
|
|
24
|
+
from arviz_stats import *
|
|
25
|
+
|
|
26
|
+
status = "arviz_stats available, exposing its functions as part of arviz.preview"
|
|
27
|
+
_log.info(status)
|
|
11
28
|
except ModuleNotFoundError:
|
|
12
|
-
|
|
29
|
+
status = "arviz_stats not installed"
|
|
30
|
+
_log.info(status)
|
|
31
|
+
except ImportError:
|
|
32
|
+
status = "Unable to import arviz_stats"
|
|
33
|
+
_log.info(status, exc_info=True)
|
|
34
|
+
info += status + "\n"
|
|
13
35
|
|
|
14
36
|
try:
|
|
15
37
|
from arviz_plots import *
|
|
38
|
+
|
|
39
|
+
status = "arviz_plots available, exposing its functions as part of arviz.preview"
|
|
40
|
+
_log.info(status)
|
|
16
41
|
except ModuleNotFoundError:
|
|
17
|
-
|
|
42
|
+
status = "arviz_plots not installed"
|
|
43
|
+
_log.info(status)
|
|
44
|
+
except ImportError:
|
|
45
|
+
status = "Unable to import arviz_plots"
|
|
46
|
+
_log.info(status, exc_info=True)
|
|
47
|
+
|
|
48
|
+
info += status + "\n"
|
arviz/stats/__init__.py
CHANGED
arviz/stats/diagnostics.py
CHANGED
|
@@ -744,8 +744,8 @@ def _ess_sd(ary, relative=False):
|
|
|
744
744
|
ary = np.asarray(ary)
|
|
745
745
|
if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)):
|
|
746
746
|
return np.nan
|
|
747
|
-
ary =
|
|
748
|
-
return
|
|
747
|
+
ary = (ary - ary.mean()) ** 2
|
|
748
|
+
return _ess(_split_chains(ary), relative=relative)
|
|
749
749
|
|
|
750
750
|
|
|
751
751
|
def _ess_quantile(ary, prob, relative=False):
|
|
@@ -838,13 +838,15 @@ def _mcse_sd(ary):
|
|
|
838
838
|
ary = np.asarray(ary)
|
|
839
839
|
if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)):
|
|
840
840
|
return np.nan
|
|
841
|
-
|
|
841
|
+
sims_c2 = (ary - ary.mean()) ** 2
|
|
842
|
+
ess = _ess_mean(sims_c2)
|
|
843
|
+
evar = (sims_c2).mean()
|
|
844
|
+
varvar = ((sims_c2**2).mean() - evar**2) / ess
|
|
845
|
+
varsd = varvar / evar / 4
|
|
842
846
|
if _numba_flag:
|
|
843
|
-
|
|
847
|
+
mcse_sd_value = float(_sqrt(np.ravel(varsd), np.zeros(1)))
|
|
844
848
|
else:
|
|
845
|
-
|
|
846
|
-
fac_mcse_sd = np.sqrt(np.exp(1) * (1 - 1 / ess) ** (ess - 1) - 1)
|
|
847
|
-
mcse_sd_value = sd * fac_mcse_sd
|
|
849
|
+
mcse_sd_value = np.sqrt(varsd)
|
|
848
850
|
return mcse_sd_value
|
|
849
851
|
|
|
850
852
|
|
|
@@ -973,19 +975,21 @@ def _multichain_statistics(ary, focus="mean"):
|
|
|
973
975
|
# ess mean
|
|
974
976
|
ess_mean_value = _ess_mean(ary)
|
|
975
977
|
|
|
976
|
-
# ess sd
|
|
977
|
-
ess_sd_value = _ess_sd(ary)
|
|
978
|
-
|
|
979
978
|
# mcse_mean
|
|
980
|
-
|
|
981
|
-
|
|
979
|
+
sims_c2 = (ary - ary.mean()) ** 2
|
|
980
|
+
sims_c2_sum = sims_c2.sum()
|
|
981
|
+
var = sims_c2_sum / (sims_c2.size - 1)
|
|
982
|
+
mcse_mean_value = np.sqrt(var / ess_mean_value)
|
|
982
983
|
|
|
983
984
|
# ess bulk
|
|
984
985
|
ess_bulk_value = _ess(z_split)
|
|
985
986
|
|
|
986
987
|
# mcse_sd
|
|
987
|
-
|
|
988
|
-
|
|
988
|
+
evar = sims_c2_sum / sims_c2.size
|
|
989
|
+
ess_mean_sims = _ess_mean(sims_c2)
|
|
990
|
+
varvar = ((sims_c2**2).mean() - evar**2) / ess_mean_sims
|
|
991
|
+
varsd = varvar / evar / 4
|
|
992
|
+
mcse_sd_value = np.sqrt(varsd)
|
|
989
993
|
|
|
990
994
|
return (
|
|
991
995
|
mcse_mean_value,
|
arviz/stats/stats.py
CHANGED
|
@@ -27,6 +27,7 @@ from ..utils import Numba, _numba_var, _var_names, get_coords
|
|
|
27
27
|
from .density_utils import get_bins as _get_bins
|
|
28
28
|
from .density_utils import histogram as _histogram
|
|
29
29
|
from .density_utils import kde as _kde
|
|
30
|
+
from .density_utils import _kde_linear
|
|
30
31
|
from .diagnostics import _mc_error, _multichain_statistics, ess
|
|
31
32
|
from .stats_utils import ELPDData, _circular_standard_deviation, smooth_data
|
|
32
33
|
from .stats_utils import get_log_likelihood as _get_log_likelihood
|
|
@@ -41,6 +42,7 @@ from ..labels import BaseLabeller
|
|
|
41
42
|
|
|
42
43
|
__all__ = [
|
|
43
44
|
"apply_test_function",
|
|
45
|
+
"bayes_factor",
|
|
44
46
|
"compare",
|
|
45
47
|
"hdi",
|
|
46
48
|
"loo",
|
|
@@ -2337,3 +2339,87 @@ def _cjs_dist(draws, weights):
|
|
|
2337
2339
|
bound = cdf_p_int + cdf_q_int
|
|
2338
2340
|
|
|
2339
2341
|
return np.sqrt((cjs_pq + cjs_qp) / bound)
|
|
2342
|
+
|
|
2343
|
+
|
|
2344
|
+
def bayes_factor(idata, var_name, ref_val=0, prior=None, return_ref_vals=False):
|
|
2345
|
+
r"""Approximated Bayes Factor for comparing hypothesis of two nested models.
|
|
2346
|
+
|
|
2347
|
+
The Bayes factor is estimated by comparing a model (H1) against a model in which the
|
|
2348
|
+
parameter of interest has been restricted to be a point-null (H0). This computation
|
|
2349
|
+
assumes the models are nested and thus H0 is a special case of H1.
|
|
2350
|
+
|
|
2351
|
+
Notes
|
|
2352
|
+
-----
|
|
2353
|
+
The bayes Factor is approximated as the Savage-Dickey density ratio
|
|
2354
|
+
algorithm presented in [1]_.
|
|
2355
|
+
|
|
2356
|
+
Parameters
|
|
2357
|
+
----------
|
|
2358
|
+
idata : InferenceData
|
|
2359
|
+
Any object that can be converted to an :class:`arviz.InferenceData` object
|
|
2360
|
+
Refer to documentation of :func:`arviz.convert_to_dataset` for details.
|
|
2361
|
+
var_name : str, optional
|
|
2362
|
+
Name of variable we want to test.
|
|
2363
|
+
ref_val : int, default 0
|
|
2364
|
+
Point-null for Bayes factor estimation.
|
|
2365
|
+
prior : numpy.array, optional
|
|
2366
|
+
In case we want to use different prior, for example for sensitivity analysis.
|
|
2367
|
+
return_ref_vals : bool, optional
|
|
2368
|
+
Whether to return the values of the prior and posterior at the reference value.
|
|
2369
|
+
Used by :func:`arviz.plot_bf` to display the distribution comparison.
|
|
2370
|
+
|
|
2371
|
+
|
|
2372
|
+
Returns
|
|
2373
|
+
-------
|
|
2374
|
+
dict : A dictionary with BF10 (Bayes Factor 10 (H1/H0 ratio), and BF01 (H0/H1 ratio).
|
|
2375
|
+
|
|
2376
|
+
References
|
|
2377
|
+
----------
|
|
2378
|
+
.. [1] Heck, D., 2019. A caveat on the Savage-Dickey density ratio:
|
|
2379
|
+
The case of computing Bayes factors for regression parameters.
|
|
2380
|
+
|
|
2381
|
+
Examples
|
|
2382
|
+
--------
|
|
2383
|
+
Moderate evidence indicating that the parameter "a" is different from zero.
|
|
2384
|
+
|
|
2385
|
+
.. ipython::
|
|
2386
|
+
|
|
2387
|
+
In [1]: import numpy as np
|
|
2388
|
+
...: import arviz as az
|
|
2389
|
+
...: idata = az.from_dict(posterior={"a":np.random.normal(1, 0.5, 5000)},
|
|
2390
|
+
...: prior={"a":np.random.normal(0, 1, 5000)})
|
|
2391
|
+
...: az.bayes_factor(idata, var_name="a", ref_val=0)
|
|
2392
|
+
|
|
2393
|
+
"""
|
|
2394
|
+
|
|
2395
|
+
posterior = extract(idata, var_names=var_name).values
|
|
2396
|
+
|
|
2397
|
+
if ref_val > posterior.max() or ref_val < posterior.min():
|
|
2398
|
+
_log.warning(
|
|
2399
|
+
"The reference value is outside of the posterior. "
|
|
2400
|
+
"This translate into infinite support for H1, which is most likely an overstatement."
|
|
2401
|
+
)
|
|
2402
|
+
|
|
2403
|
+
if posterior.ndim > 1:
|
|
2404
|
+
_log.warning("Posterior distribution has {posterior.ndim} dimensions")
|
|
2405
|
+
|
|
2406
|
+
if prior is None:
|
|
2407
|
+
prior = extract(idata, var_names=var_name, group="prior").values
|
|
2408
|
+
|
|
2409
|
+
if posterior.dtype.kind == "f":
|
|
2410
|
+
posterior_grid, posterior_pdf, *_ = _kde_linear(posterior)
|
|
2411
|
+
prior_grid, prior_pdf, *_ = _kde_linear(prior)
|
|
2412
|
+
posterior_at_ref_val = np.interp(ref_val, posterior_grid, posterior_pdf)
|
|
2413
|
+
prior_at_ref_val = np.interp(ref_val, prior_grid, prior_pdf)
|
|
2414
|
+
|
|
2415
|
+
elif posterior.dtype.kind == "i":
|
|
2416
|
+
posterior_at_ref_val = (posterior == ref_val).mean()
|
|
2417
|
+
prior_at_ref_val = (prior == ref_val).mean()
|
|
2418
|
+
|
|
2419
|
+
bf_10 = prior_at_ref_val / posterior_at_ref_val
|
|
2420
|
+
bf = {"BF10": bf_10, "BF01": 1 / bf_10}
|
|
2421
|
+
|
|
2422
|
+
if return_ref_vals:
|
|
2423
|
+
return (bf, {"prior": prior_at_ref_val, "posterior": posterior_at_ref_val})
|
|
2424
|
+
else:
|
|
2425
|
+
return bf
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import importlib
|
|
5
5
|
import os
|
|
6
|
+
import warnings
|
|
6
7
|
from collections import namedtuple
|
|
7
8
|
from copy import deepcopy
|
|
8
9
|
from html import escape
|
|
@@ -32,7 +33,13 @@ from ... import (
|
|
|
32
33
|
extract,
|
|
33
34
|
)
|
|
34
35
|
|
|
35
|
-
from ...data.base import
|
|
36
|
+
from ...data.base import (
|
|
37
|
+
dict_to_dataset,
|
|
38
|
+
generate_dims_coords,
|
|
39
|
+
infer_stan_dtypes,
|
|
40
|
+
make_attrs,
|
|
41
|
+
numpy_to_data_array,
|
|
42
|
+
)
|
|
36
43
|
from ...data.datasets import LOCAL_DATASETS, REMOTE_DATASETS, RemoteFileMetadata
|
|
37
44
|
from ..helpers import ( # pylint: disable=unused-import
|
|
38
45
|
chains,
|
|
@@ -231,6 +238,17 @@ def test_dims_coords_skip_event_dims(shape):
|
|
|
231
238
|
assert "z" not in coords
|
|
232
239
|
|
|
233
240
|
|
|
241
|
+
@pytest.mark.parametrize("dims", [None, ["chain", "draw"], ["chain", "draw", None]])
|
|
242
|
+
def test_numpy_to_data_array_with_dims(dims):
|
|
243
|
+
da = numpy_to_data_array(
|
|
244
|
+
np.empty((4, 500, 7)),
|
|
245
|
+
var_name="a",
|
|
246
|
+
dims=dims,
|
|
247
|
+
default_dims=["chain", "draw"],
|
|
248
|
+
)
|
|
249
|
+
assert list(da.dims) == ["chain", "draw", "a_dim_0"]
|
|
250
|
+
|
|
251
|
+
|
|
234
252
|
def test_make_attrs():
|
|
235
253
|
extra_attrs = {"key": "Value"}
|
|
236
254
|
attrs = make_attrs(attrs=extra_attrs)
|
|
@@ -921,7 +939,7 @@ class TestInferenceData: # pylint: disable=too-many-public-methods
|
|
|
921
939
|
data = np.random.normal(size=(4, 500, 8))
|
|
922
940
|
idata = data_random
|
|
923
941
|
with pytest.warns(UserWarning, match="The group.+not defined in the InferenceData scheme"):
|
|
924
|
-
idata.add_groups({"new_group": idata.posterior})
|
|
942
|
+
idata.add_groups({"new_group": idata.posterior}, warn_on_custom_groups=True)
|
|
925
943
|
with pytest.warns(UserWarning, match="the default dims.+will be added automatically"):
|
|
926
944
|
idata.add_groups(constant_data={"a": data[..., 0], "b": data})
|
|
927
945
|
assert idata.new_group.equals(idata.posterior)
|
|
@@ -962,8 +980,8 @@ class TestInferenceData: # pylint: disable=too-many-public-methods
|
|
|
962
980
|
with pytest.raises(ValueError, match="join must be either"):
|
|
963
981
|
idata.extend(idata2, join="outer")
|
|
964
982
|
idata2.add_groups(new_group=idata2.prior)
|
|
965
|
-
with pytest.warns(UserWarning):
|
|
966
|
-
idata.extend(idata2)
|
|
983
|
+
with pytest.warns(UserWarning, match="new_group"):
|
|
984
|
+
idata.extend(idata2, warn_on_custom_groups=True)
|
|
967
985
|
|
|
968
986
|
|
|
969
987
|
class TestNumpyToDataArray:
|
|
@@ -1156,11 +1174,17 @@ def test_bad_inference_data():
|
|
|
1156
1174
|
InferenceData(posterior=[1, 2, 3])
|
|
1157
1175
|
|
|
1158
1176
|
|
|
1159
|
-
|
|
1177
|
+
@pytest.mark.parametrize("warn", [True, False])
|
|
1178
|
+
def test_inference_data_other_groups(warn):
|
|
1160
1179
|
datadict = {"a": np.random.randn(100), "b": np.random.randn(1, 100, 10)}
|
|
1161
1180
|
dataset = convert_to_dataset(datadict, coords={"c": np.arange(10)}, dims={"b": ["c"]})
|
|
1162
|
-
|
|
1163
|
-
|
|
1181
|
+
if warn:
|
|
1182
|
+
with pytest.warns(UserWarning, match="not.+in.+InferenceData scheme"):
|
|
1183
|
+
idata = InferenceData(other_group=dataset, warn_on_custom_groups=True)
|
|
1184
|
+
else:
|
|
1185
|
+
with warnings.catch_warnings():
|
|
1186
|
+
warnings.simplefilter("error")
|
|
1187
|
+
idata = InferenceData(other_group=dataset, warn_on_custom_groups=False)
|
|
1164
1188
|
fails = check_multiple_attrs({"other_group": ["a", "b"]}, idata)
|
|
1165
1189
|
assert not fails
|
|
1166
1190
|
|
|
@@ -120,10 +120,11 @@ class TestDiagnostics:
|
|
|
120
120
|
```
|
|
121
121
|
Reference file:
|
|
122
122
|
|
|
123
|
-
Created:
|
|
124
|
-
System: Ubuntu
|
|
125
|
-
R version 4.
|
|
126
|
-
posterior
|
|
123
|
+
Created: 2024-12-20
|
|
124
|
+
System: Ubuntu 24.04.1 LTS
|
|
125
|
+
R version 4.4.2 (2024-10-31)
|
|
126
|
+
posterior version from https://github.com/stan-dev/posterior/pull/388
|
|
127
|
+
(after release 1.6.0 but before the fixes in the PR were released).
|
|
127
128
|
"""
|
|
128
129
|
# download input files
|
|
129
130
|
here = os.path.dirname(os.path.abspath(__file__))
|
|
@@ -2,21 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
# pylint: disable=redefined-outer-name,too-many-lines
|
|
4
4
|
import os
|
|
5
|
+
import re
|
|
5
6
|
from copy import deepcopy
|
|
6
7
|
|
|
7
8
|
import matplotlib.pyplot as plt
|
|
8
9
|
import numpy as np
|
|
9
10
|
import pytest
|
|
11
|
+
import xarray as xr
|
|
10
12
|
from matplotlib import animation
|
|
11
13
|
from pandas import DataFrame
|
|
12
14
|
from scipy.stats import gaussian_kde, norm
|
|
13
|
-
import xarray as xr
|
|
14
15
|
|
|
15
16
|
from ...data import from_dict, load_arviz_data
|
|
16
17
|
from ...plots import (
|
|
17
18
|
plot_autocorr,
|
|
18
|
-
plot_bpv,
|
|
19
19
|
plot_bf,
|
|
20
|
+
plot_bpv,
|
|
20
21
|
plot_compare,
|
|
21
22
|
plot_density,
|
|
22
23
|
plot_dist,
|
|
@@ -43,20 +44,20 @@ from ...plots import (
|
|
|
43
44
|
plot_ts,
|
|
44
45
|
plot_violin,
|
|
45
46
|
)
|
|
47
|
+
from ...plots.dotplot import wilkinson_algorithm
|
|
48
|
+
from ...plots.plot_utils import plot_point_interval
|
|
46
49
|
from ...rcparams import rc_context, rcParams
|
|
47
50
|
from ...stats import compare, hdi, loo, waic
|
|
48
51
|
from ...stats.density_utils import kde as _kde
|
|
49
|
-
from ...utils import
|
|
50
|
-
from ...plots.plot_utils import plot_point_interval
|
|
51
|
-
from ...plots.dotplot import wilkinson_algorithm
|
|
52
|
+
from ...utils import BehaviourChangeWarning, _cov
|
|
52
53
|
from ..helpers import ( # pylint: disable=unused-import
|
|
54
|
+
RandomVariableTestClass,
|
|
53
55
|
create_model,
|
|
54
56
|
create_multidimensional_model,
|
|
55
57
|
does_not_warn,
|
|
56
58
|
eight_schools_params,
|
|
57
59
|
models,
|
|
58
60
|
multidim_models,
|
|
59
|
-
RandomVariableTestClass,
|
|
60
61
|
)
|
|
61
62
|
|
|
62
63
|
rcParams["data.load"] = "eager"
|
|
@@ -1236,6 +1237,23 @@ def test_plot_hdi_dataset_error(models):
|
|
|
1236
1237
|
plot_hdi(np.arange(8), hdi_data=hdi_data)
|
|
1237
1238
|
|
|
1238
1239
|
|
|
1240
|
+
def test_plot_hdi_string_error():
|
|
1241
|
+
"""Check x as type string raises an error."""
|
|
1242
|
+
x_data = ["a", "b", "c", "d"]
|
|
1243
|
+
y_data = np.random.normal(0, 5, (1, 200, len(x_data)))
|
|
1244
|
+
hdi_data = hdi(y_data)
|
|
1245
|
+
with pytest.raises(
|
|
1246
|
+
NotImplementedError,
|
|
1247
|
+
match=re.escape(
|
|
1248
|
+
(
|
|
1249
|
+
"The `arviz.plot_hdi()` function does not support categorical data. "
|
|
1250
|
+
"Consider using `arviz.plot_forest()`."
|
|
1251
|
+
)
|
|
1252
|
+
),
|
|
1253
|
+
):
|
|
1254
|
+
plot_hdi(x=x_data, y=y_data, hdi_data=hdi_data)
|
|
1255
|
+
|
|
1256
|
+
|
|
1239
1257
|
def test_plot_hdi_datetime_error():
|
|
1240
1258
|
"""Check x as datetime raises an error."""
|
|
1241
1259
|
x_data = np.arange(start="2022-01-01", stop="2022-03-01", dtype=np.datetime64)
|
|
@@ -2082,7 +2100,5 @@ def test_plot_bf():
|
|
|
2082
2100
|
idata = from_dict(
|
|
2083
2101
|
posterior={"a": np.random.normal(1, 0.5, 5000)}, prior={"a": np.random.normal(0, 1, 5000)}
|
|
2084
2102
|
)
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
assert bf_dict0["BF10"] > bf_dict0["BF01"]
|
|
2088
|
-
assert bf_dict1["BF10"] < bf_dict1["BF01"]
|
|
2103
|
+
_, bf_plot = plot_bf(idata, var_name="a", ref_val=0)
|
|
2104
|
+
assert bf_plot is not None
|
|
@@ -18,6 +18,7 @@ from ...data import concat, convert_to_inference_data, from_dict, load_arviz_dat
|
|
|
18
18
|
from ...rcparams import rcParams
|
|
19
19
|
from ...stats import (
|
|
20
20
|
apply_test_function,
|
|
21
|
+
bayes_factor,
|
|
21
22
|
compare,
|
|
22
23
|
ess,
|
|
23
24
|
hdi,
|
|
@@ -871,3 +872,13 @@ def test_priorsens_coords(psens_data):
|
|
|
871
872
|
assert "mu" in result
|
|
872
873
|
assert "theta" in result
|
|
873
874
|
assert "school" in result.theta_t.dims
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
def test_bayes_factor():
|
|
878
|
+
idata = from_dict(
|
|
879
|
+
posterior={"a": np.random.normal(1, 0.5, 5000)}, prior={"a": np.random.normal(0, 1, 5000)}
|
|
880
|
+
)
|
|
881
|
+
bf_dict0 = bayes_factor(idata, var_name="a", ref_val=0)
|
|
882
|
+
bf_dict1 = bayes_factor(idata, prior=np.random.normal(0, 10, 5000), var_name="a", ref_val=0)
|
|
883
|
+
assert bf_dict0["BF10"] > bf_dict0["BF01"]
|
|
884
|
+
assert bf_dict1["BF10"] < bf_dict1["BF01"]
|
arviz/utils.py
CHANGED
|
@@ -330,6 +330,7 @@ class Numba:
|
|
|
330
330
|
"""A class to toggle numba states."""
|
|
331
331
|
|
|
332
332
|
numba_flag = numba_check()
|
|
333
|
+
"""bool: Indicates whether Numba optimizations are enabled. Defaults to False."""
|
|
333
334
|
|
|
334
335
|
@classmethod
|
|
335
336
|
def disable_numba(cls):
|
|
@@ -732,7 +733,10 @@ class Dask:
|
|
|
732
733
|
"""
|
|
733
734
|
|
|
734
735
|
dask_flag = False
|
|
736
|
+
"""bool: Enables Dask parallelization when set to True. Defaults to False."""
|
|
735
737
|
dask_kwargs = None
|
|
738
|
+
"""dict: Additional keyword arguments for Dask configuration.
|
|
739
|
+
Defaults to an empty dictionary."""
|
|
736
740
|
|
|
737
741
|
@classmethod
|
|
738
742
|
def enable_dask(cls, dask_kwargs=None):
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
arviz/__init__.py,sha256=
|
|
1
|
+
arviz/__init__.py,sha256=1PWUe3oeouP_C8JmAXhMrHarplymbqLyWqm950C-aAI,10397
|
|
2
2
|
arviz/labels.py,sha256=w4-t0qdJzjKrqRyhzbtk6ucoMIAxle1HpHYlH7up06Q,6828
|
|
3
|
-
arviz/preview.py,sha256=
|
|
3
|
+
arviz/preview.py,sha256=Fmff8j9Zlvgi5w2PRwnbkEOioJY8fK9p1SWQWjTl4N8,1314
|
|
4
4
|
arviz/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
arviz/rcparams.py,sha256=lQnBprbDihEcsP5FujoJetGna4T8nc20JnuVf1Wn-1k,21031
|
|
6
6
|
arviz/sel_utils.py,sha256=xvAYENhGXDTrhaT4Itlk1SJQUUGZ6BGcR04fPFgvzdM,6951
|
|
7
|
-
arviz/utils.py,sha256
|
|
7
|
+
arviz/utils.py,sha256=-q3eAeficZcLakOt6UXN0eyVx6uIVVpkqA_ky8FRSjE,26699
|
|
8
8
|
arviz/data/__init__.py,sha256=SG2umdZ8uVNYKVBoVYPy5tNxJnzLdyw0spPMjMTae5k,1558
|
|
9
|
-
arviz/data/base.py,sha256=
|
|
9
|
+
arviz/data/base.py,sha256=PALdVidyCxJqje_za4XPwXH010qAMJt4VzzeOflUCC8,21365
|
|
10
10
|
arviz/data/converters.py,sha256=4QU5_0OU84HV3gSXXY_N5bd6S9ft81lfpnCT-8E8qyc,7933
|
|
11
11
|
arviz/data/datasets.py,sha256=wPi23KZI-w4HrhjmY1LUg0Rj0aJobSJ4WO3LBrjfZQc,5392
|
|
12
|
-
arviz/data/inference_data.py,sha256=
|
|
12
|
+
arviz/data/inference_data.py,sha256=GYmQzz26c614IX_XVvmoTA0ycaC2pZs3B48hd2HYhrA,93619
|
|
13
13
|
arviz/data/io_beanmachine.py,sha256=QQVBD6rftvs6_kLIb4Vm1QzQ6BsS0J9DTrzw2Jj4ob8,3745
|
|
14
14
|
arviz/data/io_cmdstan.py,sha256=8YX9Nfkx4LqjfKms4s4GTOkOjZNelb6SukvRZRHY6iM,38994
|
|
15
15
|
arviz/data/io_cmdstanpy.py,sha256=iSr8ciKBFoIa1tJGHEX-2JKkUJRyaTXzRXf-5mu8q5U,42991
|
|
@@ -31,8 +31,8 @@ arviz/data/example_data/data/centered_eight.nc,sha256=jvw6uv4MeW65rqe2lJDU4kAKM8
|
|
|
31
31
|
arviz/data/example_data/data/non_centered_eight.nc,sha256=r7kyd10HyJTTRQs4OlSCXPVt3T-nLsPd3g-bcPYnPmA,836647
|
|
32
32
|
arviz/plots/__init__.py,sha256=atWhfLXHAD6zaTjbdWdTaJrPTNBl3XpcSCY4etgw_cY,1514
|
|
33
33
|
arviz/plots/autocorrplot.py,sha256=f-rYtnZtxgOns5sIT6pdw-EdU74lAVmAeV9b6rKLsgw,5666
|
|
34
|
-
arviz/plots/bfplot.py,sha256=
|
|
35
|
-
arviz/plots/bpvplot.py,sha256=
|
|
34
|
+
arviz/plots/bfplot.py,sha256=TKCkk60dgIk70CNWz9pHDXb1HGwHT_aLfNgFH6jDz9c,4367
|
|
35
|
+
arviz/plots/bpvplot.py,sha256=Pf0ME21_teSQd_7CcuYE2MxfDJHcy5eW7Ms7yIDZSCA,12505
|
|
36
36
|
arviz/plots/compareplot.py,sha256=Z8usSMEeQKs4GmkziDR4dVzSh3Ocd4ySfiNDZVaFOUc,6078
|
|
37
37
|
arviz/plots/densityplot.py,sha256=6477ZljpBCcZRw0SUwcTO4FYjxqw_qYsJupWNo-jCok,10895
|
|
38
38
|
arviz/plots/distcomparisonplot.py,sha256=gVNQUN0VX7hC527fcUk1oxtQRdIl5mrltU95c0Nra9k,7184
|
|
@@ -43,7 +43,7 @@ arviz/plots/elpdplot.py,sha256=NKqPkwTj9BWDzwMnG0cPeLmYBGMX_meP9F6bqvTwLKY,6433
|
|
|
43
43
|
arviz/plots/energyplot.py,sha256=znEDPYpWaTIX0XpdVoyhXOITJ4A8BYkI9t1TVhJq4Qo,4797
|
|
44
44
|
arviz/plots/essplot.py,sha256=ch0DjUQDILk4ohpSUR-9VHejGFb6Xmelly-qa-fKb9E,11741
|
|
45
45
|
arviz/plots/forestplot.py,sha256=37Wj4wFGjydZS4SpdqZ9qLxhZBo4rFxV_MWQnZAS7DA,11897
|
|
46
|
-
arviz/plots/hdiplot.py,sha256=
|
|
46
|
+
arviz/plots/hdiplot.py,sha256=Pii9ZsuejEM-I24dn39muUL-yYKTfe2RWzAuU0W-3SI,7798
|
|
47
47
|
arviz/plots/kdeplot.py,sha256=55mQPyIrvPKeJbjTsqWTExcff6QPvXFXG47XtDfPs_Y,11924
|
|
48
48
|
arviz/plots/khatplot.py,sha256=u03gmBG1xwxG07ASLZEJB-GsRhRHtUCtbglpC1N0aIg,8086
|
|
49
49
|
arviz/plots/lmplot.py,sha256=LxR7RXkaAi5J8076isebVrtdk6UwbcTRekEymM9S6cY,11726
|
|
@@ -51,7 +51,7 @@ arviz/plots/loopitplot.py,sha256=bFUO_Fy4z6u6E39GdaF4rIvc-COWNwF4A0n2kcmZBfA,832
|
|
|
51
51
|
arviz/plots/mcseplot.py,sha256=rsiz4E9M9p58YetAaF75gbenGIj4M0hapWnh9UJOXzY,6829
|
|
52
52
|
arviz/plots/pairplot.py,sha256=yVxyLC7ms0SKpTunifacUyOblH8BW9CsQqE2Hv0ARP4,10407
|
|
53
53
|
arviz/plots/parallelplot.py,sha256=ZBEsHvnlmSXLRpSwP-KUwzgWBC2S4siKXFGJnLf7uAE,7125
|
|
54
|
-
arviz/plots/plot_utils.py,sha256=
|
|
54
|
+
arviz/plots/plot_utils.py,sha256=VyVR50HrZegdkWa6ZxtRnC_WJstooYvaB-xsDHf6kaQ,18337
|
|
55
55
|
arviz/plots/posteriorplot.py,sha256=pC-5SQZOGq1F4opM_sQLxn4ZG2we4Y9ULV8yhxjGVdo,10952
|
|
56
56
|
arviz/plots/ppcplot.py,sha256=UPTtXDWHf3wFAb-apNPGcz8qw9CQwINGml_2YkYI-iM,13967
|
|
57
57
|
arviz/plots/rankplot.py,sha256=lz0swHs6EBe-gXn4udP1Um3RS-EatsOAmguYqGMlIjU,8648
|
|
@@ -59,39 +59,39 @@ arviz/plots/separationplot.py,sha256=Fx_QVeFUcF45fm7nn06pt0qubOzvH8QMU1cw5RLyaik
|
|
|
59
59
|
arviz/plots/traceplot.py,sha256=dwcF7rsjMAIxZ_LPv7Z8os01uQZHXTkDFWEBtsbzI9k,10216
|
|
60
60
|
arviz/plots/tsplot.py,sha256=haTyvfGX5fA8Zle9bzllybG5n307BUJIxGywNAnOsU0,15925
|
|
61
61
|
arviz/plots/violinplot.py,sha256=yxoEMGTIt4CDinZaNHPYI5MqFvXB2J2gyKdKJ47PKdk,7129
|
|
62
|
-
arviz/plots/backends/__init__.py,sha256=
|
|
62
|
+
arviz/plots/backends/__init__.py,sha256=LQbEHNuGuD2CRNmO-Djnfuk4kMF58guFGjEYr68mAxI,7867
|
|
63
63
|
arviz/plots/backends/bokeh/__init__.py,sha256=e2wfZNdGTFU5GjsLokCLpknweaNgjZ5v3k7NB0gry6g,4877
|
|
64
64
|
arviz/plots/backends/bokeh/autocorrplot.py,sha256=9CruVndfMnqsi4waav7Gcr7pn0nmUB0mkJxkzOjtGtw,2463
|
|
65
65
|
arviz/plots/backends/bokeh/bfplot.py,sha256=ydjomuA5iTw9LE2_eq9_u6Ox3MCy0ulE_DU4qgH0MO8,406
|
|
66
|
-
arviz/plots/backends/bokeh/bpvplot.py,sha256=
|
|
66
|
+
arviz/plots/backends/bokeh/bpvplot.py,sha256=FItG_h39UeoZX9nNE7GfM95cvT2gstlf374b2XuCEsM,6673
|
|
67
67
|
arviz/plots/backends/bokeh/compareplot.py,sha256=52jOjhrRqB-Dgdw8odKfM4aPXk9med6MopCiHxKNgJM,4736
|
|
68
|
-
arviz/plots/backends/bokeh/densityplot.py,sha256=
|
|
68
|
+
arviz/plots/backends/bokeh/densityplot.py,sha256=LHkRpz7QJDobpBgw6Wuy23nFr8Ruc2CUBUDVwbj5A9c,6356
|
|
69
69
|
arviz/plots/backends/bokeh/distcomparisonplot.py,sha256=o8FHMb1ZzKPpt7fXhwBr6HGhqpclO1Qk9o6aTGypgv0,431
|
|
70
70
|
arviz/plots/backends/bokeh/distplot.py,sha256=a2yY4waIPdwGhDpUtYi87Ra-TJiAA67oQumIiU-nXiA,4851
|
|
71
|
-
arviz/plots/backends/bokeh/dotplot.py,sha256=
|
|
71
|
+
arviz/plots/backends/bokeh/dotplot.py,sha256=xnbaCSyGjCSfdiIIRf5zuMeogfNdNPK-1LenasjTAa8,2923
|
|
72
72
|
arviz/plots/backends/bokeh/ecdfplot.py,sha256=Zrinhu6ViG3BbClxnRFZ_zIZm7S1nARiydHi-l1_i-g,1680
|
|
73
73
|
arviz/plots/backends/bokeh/elpdplot.py,sha256=5bn_rH1Aixm0--BArAP4m4kuZMjWxR8ox-8T-xK_GMY,6487
|
|
74
74
|
arviz/plots/backends/bokeh/energyplot.py,sha256=FKPYRaWwM32Vw0AHE0MIWBn9wZQeoYdP_YpYZGijIq0,4571
|
|
75
|
-
arviz/plots/backends/bokeh/essplot.py,sha256=
|
|
76
|
-
arviz/plots/backends/bokeh/forestplot.py,sha256=
|
|
75
|
+
arviz/plots/backends/bokeh/essplot.py,sha256=0i2E1TvlzzP9mTavlGlJ5hPoFW5tGWCkAPAKrVHbgYQ,5560
|
|
76
|
+
arviz/plots/backends/bokeh/forestplot.py,sha256=TAaXMqF2F1G7BIeDdWas14C6pCKZ3RTNhLIjUm-_IQs,27466
|
|
77
77
|
arviz/plots/backends/bokeh/hdiplot.py,sha256=bAhTPi9D7cw2ytSvjSIRD3g-PqpB9OFwusrQAnmKCYY,1538
|
|
78
78
|
arviz/plots/backends/bokeh/kdeplot.py,sha256=nKEgJfnP7NK2Y2cipF_RglEC6GpowaagH5wZP3iZq-U,9329
|
|
79
|
-
arviz/plots/backends/bokeh/khatplot.py,sha256=
|
|
80
|
-
arviz/plots/backends/bokeh/lmplot.py,sha256=
|
|
79
|
+
arviz/plots/backends/bokeh/khatplot.py,sha256=Iz2C6YaQOhnucAFbjSWTha2HNLFmctXc4tt_rLdS6Ko,4663
|
|
80
|
+
arviz/plots/backends/bokeh/lmplot.py,sha256=0VIu1CPngKFQZayOqASAYHfXU8s_SRzysjdmxkELRJo,5600
|
|
81
81
|
arviz/plots/backends/bokeh/loopitplot.py,sha256=FWjcsSWGJNy4wM63_N2qpg5oECb3Cq-uLy3xDS5x6j4,7172
|
|
82
|
-
arviz/plots/backends/bokeh/mcseplot.py,sha256=
|
|
83
|
-
arviz/plots/backends/bokeh/pairplot.py,sha256=
|
|
82
|
+
arviz/plots/backends/bokeh/mcseplot.py,sha256=QHyXeANcVSeLRdPJGh5RihZmaYq8cAPjSAn6FGJXQRk,5960
|
|
83
|
+
arviz/plots/backends/bokeh/pairplot.py,sha256=kNvB3pVcpWXz7GMjBKc0pNyJdbx7VYgyEQOZeFbVgKo,13416
|
|
84
84
|
arviz/plots/backends/bokeh/parallelplot.py,sha256=SNChOLWvcKxXuuJsIfWs9CNj7qDuVb95UZyp4CP1BQE,2230
|
|
85
85
|
arviz/plots/backends/bokeh/posteriorplot.py,sha256=yBAlGo3lQpFBVro724eZtKnOHgVkY7LXupa-8_VtE7c,9380
|
|
86
|
-
arviz/plots/backends/bokeh/ppcplot.py,sha256=
|
|
87
|
-
arviz/plots/backends/bokeh/rankplot.py,sha256=
|
|
86
|
+
arviz/plots/backends/bokeh/ppcplot.py,sha256=fDeXXn1WtjjSs-285nDo76NKJTp2m5hIZ7V9S6iqA30,13307
|
|
87
|
+
arviz/plots/backends/bokeh/rankplot.py,sha256=cRTAU-cWt__0J4CzsHHSf47SA_vB1n4mQ16XIfve7aE,4531
|
|
88
88
|
arviz/plots/backends/bokeh/separationplot.py,sha256=_VhJUnPW03xVpy2y4h8npLyPPD49H76WQMmj3hOq2Hc,2416
|
|
89
|
-
arviz/plots/backends/bokeh/traceplot.py,sha256=
|
|
90
|
-
arviz/plots/backends/bokeh/violinplot.py,sha256=
|
|
89
|
+
arviz/plots/backends/bokeh/traceplot.py,sha256=mnw2rBoLNVrWYDR-m0HyECHFD1-dlsS18gj6D5qGGQ4,14246
|
|
90
|
+
arviz/plots/backends/bokeh/violinplot.py,sha256=lfAzkv6qABLSz5R4uzFUotVExnG_c8HP3vkT_7Yc1dQ,4389
|
|
91
91
|
arviz/plots/backends/matplotlib/__init__.py,sha256=LBEWakXN4QFoIXp_aPXPMTzXnA8VJt24k5RaowPCQoY,3629
|
|
92
92
|
arviz/plots/backends/matplotlib/autocorrplot.py,sha256=ahyNnwyNrLubZTsxNvTi5hAZ5gV9dmo_wecrTYyMMDI,1807
|
|
93
93
|
arviz/plots/backends/matplotlib/bfplot.py,sha256=00-xGO_VpmTxCkYiC1cGGsAW0HNO3bhQJkFxA6ssMh0,1828
|
|
94
|
-
arviz/plots/backends/matplotlib/bpvplot.py,sha256=
|
|
94
|
+
arviz/plots/backends/matplotlib/bpvplot.py,sha256=EJ79XptBAPrERh59wg0PCkKliIS1oPgcdzMkLmSFcno,6301
|
|
95
95
|
arviz/plots/backends/matplotlib/compareplot.py,sha256=qvjSkNDBTZh3vxIw4pNEyRnaAM8qFG9vWw0X23hscsI,3695
|
|
96
96
|
arviz/plots/backends/matplotlib/densityplot.py,sha256=zlqzYvH3VXWPiiIvL--fxtMp3hIGrcttKkQxKPV1U2s,5479
|
|
97
97
|
arviz/plots/backends/matplotlib/distcomparisonplot.py,sha256=XZY2jITNKtcIMsg5tl_lzuwI-2DcdUdCWqrK7bsdvWE,3568
|
|
@@ -136,28 +136,28 @@ arviz/plots/styles/arviz-white.mplstyle,sha256=p3dbvWzOKhA-u8r3BmTF-bR5bhKh87iIk
|
|
|
136
136
|
arviz/plots/styles/arviz-whitegrid.mplstyle,sha256=IMjjlfG3wg7heUjcVrkez1SNoiMI6BLztGPmsUp1iws,1072
|
|
137
137
|
arviz/static/css/style.css,sha256=wcC7rvCT4E6TycEiw7YqxwyaaZ4tTRDGqMkYYjAqrao,5910
|
|
138
138
|
arviz/static/html/icons-svg-inline.html,sha256=t-ChbtS1Gv8uZxc31DCJS8SuXDsLGUHoKgwv8zu6j2M,1343
|
|
139
|
-
arviz/stats/__init__.py,sha256=
|
|
139
|
+
arviz/stats/__init__.py,sha256=kvrANzMkqyHMTdry7N5w836E2OP0tJM6bm5-G8OZaA0,721
|
|
140
140
|
arviz/stats/density_utils.py,sha256=WCEkXCQsaycY_usA6xkorhIqr3_5ru7wgwE9eJJgdH8,32216
|
|
141
|
-
arviz/stats/diagnostics.py,sha256=
|
|
141
|
+
arviz/stats/diagnostics.py,sha256=COTy2c5ROAirCAK_UNo7kQnggN71maBRPwy54ZdabKE,32656
|
|
142
142
|
arviz/stats/ecdf_utils.py,sha256=Wy38wL-bsHDlpyU9qnDjedYBvbP_6ZrzJuWo6NzD2Xg,11835
|
|
143
|
-
arviz/stats/stats.py,sha256=
|
|
143
|
+
arviz/stats/stats.py,sha256=0cpdhmTwEVNY6VedeYhl2D3zlXj2hn2Mp2yqVkufP94,89884
|
|
144
144
|
arviz/stats/stats_refitting.py,sha256=trbPC7LCnsb-n5D6g7J0bzXJCPfcDukJDniB4ud1z9E,5415
|
|
145
145
|
arviz/stats/stats_utils.py,sha256=XG8ILPVs8Jbh_v7jzLfwMkm2HraT2j2-Hxe_kEYlLjQ,20076
|
|
146
146
|
arviz/tests/__init__.py,sha256=TiS6C1IzwAXmNa8u36Y2xzL1CTTZm2PwzAtmZgoqepE,18
|
|
147
147
|
arviz/tests/conftest.py,sha256=6U9WpKmYf38EVRoFZNBpV0CunQvESBFJG2SJ8IBEkL4,1270
|
|
148
148
|
arviz/tests/helpers.py,sha256=qhsOhLtfyz-dC2yuT6ug0frYZlbims06BljJuEVDP6E,23593
|
|
149
149
|
arviz/tests/base_tests/__init__.py,sha256=zg7V5_0DZrCz7ozETqET6bUpAvUUmmkSoLpJLwaIj2E,23
|
|
150
|
-
arviz/tests/base_tests/test_data.py,sha256=
|
|
150
|
+
arviz/tests/base_tests/test_data.py,sha256=L3vfscLm8aMVjd3MswJqmJ_J7Y2sNjwjCeJQb4TX9_Q,64296
|
|
151
151
|
arviz/tests/base_tests/test_data_zarr.py,sha256=sPWnIQ7vPhN5Ql3Dq4JENuSwQV5IeignQjy9BAYe1_A,5441
|
|
152
|
-
arviz/tests/base_tests/test_diagnostics.py,sha256=
|
|
152
|
+
arviz/tests/base_tests/test_diagnostics.py,sha256=pbuy1-nvTKWSHv0nnhXOhpG4e2uy-4GGZb4lxAdoMpw,20353
|
|
153
153
|
arviz/tests/base_tests/test_diagnostics_numba.py,sha256=2G5O-7Hz66DSaHIZtjs2XL45RezYnXQZH6Dg2Ow-p4Q,2847
|
|
154
154
|
arviz/tests/base_tests/test_helpers.py,sha256=PogHpWCMBEtkuzKt9jGQ8uIPg0cLDwztXxOnPSPNyVE,669
|
|
155
155
|
arviz/tests/base_tests/test_labels.py,sha256=X08vTMmcgXkYGbE2Qnu_UUDSTAIvSNKdnyqoWwmj008,1686
|
|
156
156
|
arviz/tests/base_tests/test_plot_utils.py,sha256=lwDZYDNrlEOKP-asJv6qu3sH_4y-FiHcFlqnMTpZyhw,11771
|
|
157
157
|
arviz/tests/base_tests/test_plots_bokeh.py,sha256=1JqUqLKUb1g4c4w41K3j_LCT4eqb3u1qGnYbUuJMHPE,39148
|
|
158
|
-
arviz/tests/base_tests/test_plots_matplotlib.py,sha256=
|
|
158
|
+
arviz/tests/base_tests/test_plots_matplotlib.py,sha256=sRn-jWzBeCkk49i8DO_a1l9WXoia269sANOQfPpqYjQ,66197
|
|
159
159
|
arviz/tests/base_tests/test_rcparams.py,sha256=b9ueOXd9C0xiUIqgS0qnzvalHFgTFK7sUqL8UAzgJNs,10851
|
|
160
|
-
arviz/tests/base_tests/test_stats.py,sha256=
|
|
160
|
+
arviz/tests/base_tests/test_stats.py,sha256=zEK8uKvXBFpnLQPxoHkM5L9-KWqHQXvUcWAzKGMGgFQ,32809
|
|
161
161
|
arviz/tests/base_tests/test_stats_ecdf_utils.py,sha256=p1FnQzlC0fjjKDFfhbHIrrbwAVhLiygH4J0aarx89A0,6038
|
|
162
162
|
arviz/tests/base_tests/test_stats_numba.py,sha256=wGXgNuSO_gwJajoYtXSgpIe88PcBRyIkRihxC8paR-o,1582
|
|
163
163
|
arviz/tests/base_tests/test_stats_utils.py,sha256=Udkw8tODs8mLt3_hO3HgNczrU0n09IJrML2agXF-upQ,13864
|
|
@@ -176,8 +176,8 @@ arviz/wrappers/__init__.py,sha256=d8GTUuBW_30LyDyk6qn2MAnvg-GZCeUw_i5SUPqaa1w,35
|
|
|
176
176
|
arviz/wrappers/base.py,sha256=Vvh330pdzIvBEaikHsDP1ej6L2jCZZ0Dqj5TvUbYesI,9134
|
|
177
177
|
arviz/wrappers/wrap_pymc.py,sha256=ltKv55aG0WTWXVDJuff5TXkgJJ_ESLvlT-JPlh3yHAg,1143
|
|
178
178
|
arviz/wrappers/wrap_stan.py,sha256=c40brlajoPcc3xk00xI9Hqc-y0xcbAmFAIZOtfXWeqo,5525
|
|
179
|
-
arviz-0.
|
|
180
|
-
arviz-0.
|
|
181
|
-
arviz-0.
|
|
182
|
-
arviz-0.
|
|
183
|
-
arviz-0.
|
|
179
|
+
arviz-0.21.0.dist-info/LICENSE,sha256=xllut76FgcGL5zbIRvuRc7aezPbvlMUTWJPsVr2Sugg,11358
|
|
180
|
+
arviz-0.21.0.dist-info/METADATA,sha256=3zSEB4npy44RXZtTxQVEkIvjvCqbDXQ9s6vsAyxvXmg,8848
|
|
181
|
+
arviz-0.21.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
182
|
+
arviz-0.21.0.dist-info/top_level.txt,sha256=5MFvqrTtYRWsIx-SjKuFIUHtrnVJq0Ngd0Nc2_etQhE,6
|
|
183
|
+
arviz-0.21.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|