Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove deprecated stuff #3906

Merged
merged 4 commits into from
May 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions .readthedocs.yml

This file was deleted.

1 change: 1 addition & 0 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
- Deprecated `sd` in version 3.7 has been replaced by `sigma` now raises `DepreciationWarning` on using `sd` in continuous, mixed and timeseries distributions. (see #3837 and #3688).
- In named models, `pm.Data` objects now get model-relative names (see [#3843](https://github.com/pymc-devs/pymc3/pull/3843)).
- `pm.sample` now takes 1000 draws and 1000 tuning samples by default, instead of 500 previously (see [#3855](https://github.com/pymc-devs/pymc3/pull/3855)).
- Dropped some deprecated kwargs and functions (see [#3906](https://github.com/pymc-devs/pymc3/pull/3906))
- Dropped the outdated 'nuts' initialization method for `pm.sample` (see [#3863](https://github.com/pymc-devs/pymc3/pull/3863)).
- Moved argument division out of `NegativeBinomial` `random` method. Fixes [#3864](https://github.com/pymc-devs/pymc3/issues/3864) in the style of [#3509](https://github.com/pymc-devs/pymc3/pull/3509).
- The Dirichlet distribution now raises a ValueError when it's initialized with <= 0 values (see [#3853](https://github.com/pymc-devs/pymc3/pull/3853)).
Expand Down
2 changes: 1 addition & 1 deletion docs/source/notebooks/api_quickstart.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -1284,7 +1284,7 @@
}
],
"source": [
"pm.gelman_rubin(trace)"
"pm.rhat(trace)"
]
},
{
Expand Down
6 changes: 3 additions & 3 deletions docs/source/notebooks/bayes_param_survival_pymc3.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -594,7 +594,7 @@
}
],
"source": [
"max(np.max(gr_stats) for gr_stats in pm.gelman_rubin(weibull_trace).values())"
"max(np.max(gr_stats) for gr_stats in pm.rhat(weibull_trace).values())"
]
},
{
Expand Down Expand Up @@ -904,7 +904,7 @@
}
],
"source": [
"max(np.max(gr_stats) for gr_stats in pm.gelman_rubin(log_logistic_trace).values())"
"max(np.max(gr_stats) for gr_stats in pm.rhat(log_logistic_trace).values())"
]
},
{
Expand Down Expand Up @@ -1030,4 +1030,4 @@
},
"nbformat": 4,
"nbformat_minor": 2
}
}
4 changes: 2 additions & 2 deletions docs/source/notebooks/rugby_analytics.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -801,7 +801,7 @@
"outputs": [],
"source": [
"bfmi = np.max(pm.stats.bfmi(trace))\n",
"max_gr = max(np.max(gr_stats) for gr_stats in pm.stats.gelman_rubin(trace).values()).values"
"max_gr = max(np.max(gr_stats) for gr_stats in pm.stats.rhat(trace).values()).values"
]
},
{
Expand Down Expand Up @@ -1470,4 +1470,4 @@
},
"nbformat": 4,
"nbformat_minor": 4
}
}
2 changes: 1 addition & 1 deletion pymc3/examples/samplers_mvnormal.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ def run(steppers, p):
runtimes[name] = time.time() - t_start
print('{} samples across {} chains'.format(len(mt) * mt.nchains, mt.nchains))
traces[name] = mt
en = pm.diagnostics.effective_n(mt)
en = pm.ess(mt)
print('effective: {}\r\n'.format(en))
if USE_XY:
effn[name] = np.mean(en['x']) / len(mt) / mt.nchains
Expand Down
32 changes: 0 additions & 32 deletions pymc3/sampling.py
Original file line number Diff line number Diff line change
Expand Up @@ -368,36 +368,9 @@ def sample(
"""
model = modelcontext(model)

nuts_kwargs = kwargs.pop("nuts_kwargs", None)
if nuts_kwargs is not None:
warnings.warn(
"The nuts_kwargs argument has been deprecated. Pass step "
"method arguments directly to sample instead",
DeprecationWarning,
)
kwargs.update(nuts_kwargs)
step_kwargs = kwargs.pop("step_kwargs", None)
if step_kwargs is not None:
warnings.warn(
"The step_kwargs argument has been deprecated. Pass step "
"method arguments directly to sample instead",
DeprecationWarning,
)
kwargs.update(step_kwargs)

if cores is None:
cores = min(4, _cpu_count())

if "njobs" in kwargs:
cores = kwargs["njobs"]
warnings.warn(
"The njobs argument has been deprecated. Use cores instead.", DeprecationWarning
)
if "nchains" in kwargs:
chains = kwargs["nchains"]
warnings.warn(
"The nchains argument has been deprecated. Use chains instead.", DeprecationWarning
)
if chains is None:
chains = max(2, cores)
if isinstance(start, dict):
Expand All @@ -412,11 +385,6 @@ def sample(
random_seed = [np.random.randint(2 ** 30) for _ in range(chains)]
if not isinstance(random_seed, Iterable):
raise TypeError("Invalid value for `random_seed`. Must be tuple, list or int")
if "chain" in kwargs:
chain_idx = kwargs["chain"]
warnings.warn(
"The chain argument has been deprecated. Use chain_idx instead.", DeprecationWarning
)

if start is not None:
for start_vals in start:
Expand Down
15 changes: 0 additions & 15 deletions pymc3/stats/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,19 +53,6 @@ def wrapped(*args, **kwargs):
waic = map_args(az.waic)


def gelman_rubin(*args, **kwargs):
warnings.warn("gelman_rubin has been deprecated. In the future, use rhat instead.")
return rhat(*args, **kwargs)

gelman_rubin.__doc__ = rhat.__doc__


def effective_n(*args, **kwargs):
warnings.warn("effective_n has been deprecated. In the future, use ess instead.")
return ess(*args, **kwargs)

effective_n.__doc__ = ess.__doc__

__all__ = [
"bfmi",
"compare",
Expand All @@ -78,6 +65,4 @@ def effective_n(*args, **kwargs):
"rhat",
"summary",
"waic",
"gelman_rubin", # deprecated, remove after 3.8
"effective_n", # deprecated, remove after 3.8
]
4 changes: 2 additions & 2 deletions pymc3/tests/sampler_fixtures.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,12 +149,12 @@ def setup_class(cls):

def test_neff(self):
if hasattr(self, 'min_n_eff'):
n_eff = pm.effective_n(self.trace[self.burn:])
n_eff = pm.ess(self.trace[self.burn:])
for var in n_eff:
npt.assert_array_less(self.min_n_eff, n_eff[var])

def test_Rhat(self):
rhat = pm.gelman_rubin(self.trace[self.burn:])
rhat = pm.rhat(self.trace[self.burn:])
for var in rhat:
npt.assert_allclose(rhat[var], 1, rtol=0.01)

Expand Down
2 changes: 1 addition & 1 deletion pymc3/tests/test_sampling.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ def test_sample_args(self):
assert "'foo'" in str(excinfo.value)

with pytest.raises(ValueError) as excinfo:
pm.sample(50, tune=0, init=None, step_kwargs={"foo": {}})
pm.sample(50, tune=0, init=None, foo={})
assert "foo" in str(excinfo.value)

with pytest.raises(ValueError) as excinfo:
Expand Down