Skip to content

Commit 40d9597

Browse files
authored
Improve documentation for distributions (#3837)
* partially fixes #3688 * fixes #3688 sd deprecated to sigma
1 parent e2979a3 commit 40d9597

File tree

4 files changed

+68
-4
lines changed

4 files changed

+68
-4
lines changed

Diff for: pymc3/distributions/continuous.py

+52-1
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,10 @@ class Normal(Continuous):
476476
def __init__(self, mu=0, sigma=None, tau=None, sd=None, **kwargs):
477477
if sd is not None:
478478
sigma = sd
479+
warnings.warn(
480+
"sd is deprecated, use sigma instead",
481+
DeprecationWarning
482+
)
479483
tau, sigma = get_tau_sigma(tau=tau, sigma=sigma)
480484
self.sigma = self.sd = tt.as_tensor_variable(sigma)
481485
self.tau = tt.as_tensor_variable(tau)
@@ -636,6 +640,10 @@ def __init__(self, mu=0, sigma=None, tau=None, lower=None, upper=None,
636640
transform='auto', sd=None, *args, **kwargs):
637641
if sd is not None:
638642
sigma = sd
643+
warnings.warn(
644+
"sd is deprecated, use sigma instead",
645+
DeprecationWarning
646+
)
639647
tau, sigma = get_tau_sigma(tau=tau, sigma=sigma)
640648
self.sigma = self.sd = tt.as_tensor_variable(sigma)
641649
self.tau = tt.as_tensor_variable(tau)
@@ -839,7 +847,10 @@ class HalfNormal(PositiveContinuous):
839847
def __init__(self, sigma=None, tau=None, sd=None, *args, **kwargs):
840848
if sd is not None:
841849
sigma = sd
842-
850+
warnings.warn(
851+
"sd is deprecated, use sigma instead",
852+
DeprecationWarning
853+
)
843854
super().__init__(*args, **kwargs)
844855
tau, sigma = get_tau_sigma(tau=tau, sigma=sigma)
845856

@@ -1232,6 +1243,10 @@ def __init__(self, alpha=None, beta=None, mu=None, sigma=None,
12321243
super().__init__(*args, **kwargs)
12331244
if sd is not None:
12341245
sigma = sd
1246+
warnings.warn(
1247+
"sd is deprecated, use sigma instead",
1248+
DeprecationWarning
1249+
)
12351250
alpha, beta = self.get_alpha_beta(alpha, beta, mu, sigma)
12361251
self.alpha = alpha = tt.as_tensor_variable(floatX(alpha))
12371252
self.beta = beta = tt.as_tensor_variable(floatX(beta))
@@ -1788,6 +1803,10 @@ def __init__(self, mu=0, sigma=None, tau=None, sd=None, *args, **kwargs):
17881803
super().__init__(*args, **kwargs)
17891804
if sd is not None:
17901805
sigma = sd
1806+
warnings.warn(
1807+
"sd is deprecated, use sigma instead",
1808+
DeprecationWarning
1809+
)
17911810

17921811
tau, sigma = get_tau_sigma(tau=tau, sigma=sigma)
17931812

@@ -1959,6 +1978,10 @@ def __init__(self, nu, mu=0, lam=None, sigma=None, sd=None, *args, **kwargs):
19591978
super(StudentT, self).__init__(*args, **kwargs)
19601979
if sd is not None:
19611980
sigma = sd
1981+
warnings.warn(
1982+
"sd is deprecated, use sigma instead",
1983+
DeprecationWarning
1984+
)
19621985
self.nu = nu = tt.as_tensor_variable(floatX(nu))
19631986
lam, sigma = get_tau_sigma(tau=lam, sigma=sigma)
19641987
self.lam = lam = tt.as_tensor_variable(lam)
@@ -2519,6 +2542,10 @@ def __init__(self, alpha=None, beta=None, mu=None, sigma=None,
25192542
super().__init__(*args, **kwargs)
25202543
if sd is not None:
25212544
sigma = sd
2545+
warnings.warn(
2546+
"sd is deprecated, use sigma instead",
2547+
DeprecationWarning
2548+
)
25222549

25232550
alpha, beta = self.get_alpha_beta(alpha, beta, mu, sigma)
25242551
self.alpha = alpha = tt.as_tensor_variable(floatX(alpha))
@@ -2677,6 +2704,10 @@ def __init__(self, alpha=None, beta=None, mu=None, sigma=None, sd=None,
26772704

26782705
if sd is not None:
26792706
sigma = sd
2707+
warnings.warn(
2708+
"sd is deprecated, use sigma instead",
2709+
DeprecationWarning
2710+
)
26802711

26812712
alpha, beta = InverseGamma._get_alpha_beta(alpha, beta, mu, sigma)
26822713
self.alpha = alpha = tt.as_tensor_variable(floatX(alpha))
@@ -3032,6 +3063,10 @@ def __init__(self, nu=1, sigma=None, lam=None, sd=None,
30323063
super().__init__(*args, **kwargs)
30333064
if sd is not None:
30343065
sigma = sd
3066+
warnings.warn(
3067+
"sd is deprecated, use sigma instead",
3068+
DeprecationWarning
3069+
)
30353070

30363071
self.mode = tt.as_tensor_variable(0)
30373072
lam, sigma = get_tau_sigma(lam, sigma)
@@ -3172,6 +3207,10 @@ def __init__(self, mu=0., sigma=None, nu=None, sd=None,
31723207

31733208
if sd is not None:
31743209
sigma = sd
3210+
warnings.warn(
3211+
"sd is deprecated, use sigma instead",
3212+
DeprecationWarning
3213+
)
31753214

31763215
self.mu = mu = tt.as_tensor_variable(floatX(mu))
31773216
self.sigma = self.sd = sigma = tt.as_tensor_variable(floatX(sigma))
@@ -3456,6 +3495,10 @@ def __init__(self, mu=0.0, sigma=None, tau=None, alpha=1, sd=None,
34563495

34573496
if sd is not None:
34583497
sigma = sd
3498+
warnings.warn(
3499+
"sd is deprecated, use sigma instead",
3500+
DeprecationWarning
3501+
)
34593502

34603503
tau, sigma = get_tau_sigma(tau=tau, sigma=sigma)
34613504
self.mu = mu = tt.as_tensor_variable(floatX(mu))
@@ -3877,6 +3920,10 @@ def __init__(self, nu=None, sigma=None, b=None, sd=None, *args, **kwargs):
38773920
super().__init__(*args, **kwargs)
38783921
if sd is not None:
38793922
sigma = sd
3923+
warnings.warn(
3924+
"sd is deprecated, use sigma instead",
3925+
DeprecationWarning
3926+
)
38803927

38813928
nu, b, sigma = self.get_nu_b(nu, b, sigma)
38823929
self.nu = nu = tt.as_tensor_variable(floatX(nu))
@@ -4148,6 +4195,10 @@ class LogitNormal(UnitContinuous):
41484195
def __init__(self, mu=0, sigma=None, tau=None, sd=None, **kwargs):
41494196
if sd is not None:
41504197
sigma = sd
4198+
warnings.warn(
4199+
"sd is deprecated, use sigma instead",
4200+
DeprecationWarning
4201+
)
41514202
self.mu = mu = tt.as_tensor_variable(floatX(mu))
41524203
tau, sigma = get_tau_sigma(tau=tau, sigma=sigma)
41534204
self.sigma = self.sd = tt.as_tensor_variable(sigma)

Diff for: pymc3/distributions/mixture.py

+5
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import numpy as np
1717
import theano
1818
import theano.tensor as tt
19+
import warnings
1920

2021
from pymc3.util import get_variable_name
2122
from ..math import logsumexp
@@ -610,6 +611,10 @@ class NormalMixture(Mixture):
610611
def __init__(self, w, mu, sigma=None, tau=None, sd=None, comp_shape=(), *args, **kwargs):
611612
if sd is not None:
612613
sigma = sd
614+
warnings.warn(
615+
"sd is deprecated, use sigma instead",
616+
DeprecationWarning
617+
)
613618
_, sigma = get_tau_sigma(tau=tau, sigma=sigma)
614619

615620
self.mu = mu = tt.as_tensor_variable(mu)

Diff for: pymc3/distributions/multivariate.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from theano.tensor.slinalg import Cholesky
2828
import pymc3 as pm
2929

30-
from pymc3.theanof import floatX
30+
from pymc3.theanof import floatX, intX
3131
from . import transforms
3232
from pymc3.util import get_variable_name
3333
from .distribution import (Continuous, Discrete, draw_values, generate_samples,
@@ -327,7 +327,7 @@ def logp(self, value):
327327
TensorVariable
328328
"""
329329
quaddist, logdet, ok = self._quaddist(value)
330-
k = value.shape[-1].astype(theano.config.floatX)
330+
k = intX(value.shape[-1]).astype(theano.config.floatX)
331331
norm = - 0.5 * k * pm.floatX(np.log(2 * np.pi))
332332
return bound(norm - 0.5 * quaddist - logdet, ok)
333333

@@ -441,7 +441,7 @@ def logp(self, value):
441441
TensorVariable
442442
"""
443443
quaddist, logdet, ok = self._quaddist(value)
444-
k = value.shape[-1].astype(theano.config.floatX)
444+
k = intX(value.shape[-1]).astype(theano.config.floatX)
445445

446446
norm = (gammaln((self.nu + k) / 2.)
447447
- gammaln(self.nu / 2.)

Diff for: pymc3/distributions/timeseries.py

+8
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@ def __init__(self, rho, sigma=None, tau=None,
123123
super().__init__(*args, **kwargs)
124124
if sd is not None:
125125
sigma = sd
126+
warnings.warn(
127+
"sd is deprecated, use sigma instead",
128+
DeprecationWarning
129+
)
126130

127131
tau, sigma = get_tau_sigma(tau=tau, sigma=sigma)
128132
self.sigma = self.sd = tt.as_tensor_variable(sigma)
@@ -210,6 +214,10 @@ def __init__(self, tau=None, init=Flat.dist(), sigma=None, mu=0.,
210214
raise TypeError("GaussianRandomWalk must be supplied a non-zero shape argument!")
211215
if sd is not None:
212216
sigma = sd
217+
warnings.warn(
218+
"sd is deprecated, use sigma instead",
219+
DeprecationWarning
220+
)
213221
tau, sigma = get_tau_sigma(tau=tau, sigma=sigma)
214222
self.tau = tt.as_tensor_variable(tau)
215223
sigma = tt.as_tensor_variable(sigma)

0 commit comments

Comments
 (0)