|
2 | 2 | import pytest |
3 | 3 |
|
4 | 4 | from pymc import Bernoulli, Flat, HalfFlat, Normal, TruncatedNormal, Uniform |
5 | | -from pymc.distributions import Beta, Cauchy, Exponential, HalfNormal, Laplace, StudentT |
| 5 | +from pymc.distributions import ( |
| 6 | + Beta, |
| 7 | + Cauchy, |
| 8 | + Exponential, |
| 9 | + HalfNormal, |
| 10 | + Kumaraswamy, |
| 11 | + Laplace, |
| 12 | + StudentT, |
| 13 | +) |
6 | 14 | from pymc.distributions.shape_utils import rv_size_is_none |
7 | 15 | from pymc.initial_point import make_initial_point_fn |
8 | 16 | from pymc.model import Model |
@@ -217,3 +225,19 @@ def test_cauchy_moment(alpha, beta, size, expected): |
217 | 225 | with Model() as model: |
218 | 226 | Cauchy("x", alpha=alpha, beta=beta, size=size) |
219 | 227 | assert_moment_is_expected(model, expected) |
| 228 | + |
| 229 | + |
| 230 | +@pytest.mark.parametrize( |
| 231 | + "a, b, size, expected", |
| 232 | + [ |
| 233 | + (1, 1, None, 0.5), |
| 234 | + (1, 1, 5, np.full(5, 0.5)), |
| 235 | + (1, np.arange(1, 6), None, 1 / np.arange(2, 7)), |
| 236 | + (np.arange(1, 6), 1, None, np.arange(1, 6) / np.arange(2, 7)), |
| 237 | + (1, np.arange(1, 6), (2, 5), np.full((2, 5), 1 / np.arange(2, 7))), |
| 238 | + ], |
| 239 | +) |
| 240 | +def test_kumaraswamy_moment(a, b, size, expected): |
| 241 | + with Model() as model: |
| 242 | + Kumaraswamy("x", a=a, b=b, size=size) |
| 243 | + assert_moment_is_expected(model, expected) |
0 commit comments