Exemple #1
0
def test_dagum():
    p = Symbol("p", positive=True)
    b = Symbol("b", positive=True)
    a = Symbol("a", positive=True)

    X = Dagum('x', p, a, b)
    assert density(X)(x) == a*p*(x/b)**(a*p)*((x/b)**a + 1)**(-p - 1)/x
Exemple #2
0
def test_long_precomputed_cdf():
    x = symbols("x", real=True, finite=True)
    distribs = [
        Arcsin("A", -5, 9),
        Dagum("D", 4, 10, 3),
        Erlang("E", 14, 5),
        Frechet("F", 2, 6, -3),
        Gamma("G", 2, 7),
        GammaInverse("GI", 3, 5),
        Kumaraswamy("K", 6, 8),
        Laplace("LA", -5, 4),
        Logistic("L", -6, 7),
        Nakagami("N", 2, 7),
        StudentT("S", 4)
    ]
    for distr in distribs:
        for _ in range(5):
            assert tn(diff(cdf(distr)(x), x),
                      density(distr)(x),
                      x,
                      a=0,
                      b=0,
                      c=1,
                      d=0)

    US = UniformSum("US", 5)
    pdf01 = density(US)(x).subs(floor(x), 0).doit()  # pdf on (0, 1)
    cdf01 = cdf(US, evaluate=False)(x).subs(floor(x),
                                            0).doit()  # cdf on (0, 1)
    assert tn(diff(cdf01, x), pdf01, x, a=0, b=0, c=1, d=0)
Exemple #3
0
def test_dagum():
    p = Symbol("p", positive=True)
    b = Symbol("b", positive=True)
    a = Symbol("a", positive=True)

    X = Dagum('x', p, a, b)
    assert density(X) == Lambda(_x,
                                a*p*(_x/b)**(a*p)*((_x/b)**a + 1)**(-p - 1)/_x)
Exemple #4
0
def test_dagum():
    p = Symbol("p", positive=True)
    b = Symbol("b", positive=True)
    a = Symbol("a", positive=True)

    X = Dagum('x', p, a, b)
    assert density(X)(x) == a*p*(x/b)**(a*p)*((x/b)**a + 1)**(-p - 1)/x
    assert cdf(X)(x) == Piecewise(((1 + (x/b)**(-a))**(-p), x >= 0),
                                    (0, True))
Exemple #5
0
def test_dagum():
    p = Symbol("p", positive=True)
    b = Symbol("b", positive=True)
    a = Symbol("a", positive=True)

    X = Dagum('x', p, a, b)
    assert density(X)(x) == a*p*(x/b)**(a*p)*((x/b)**a + 1)**(-p - 1)/x
    assert cdf(X)(x) == Piecewise(((1 + (x/b)**(-a))**(-p), x >= 0),
                                    (0, True))

    p = Symbol("p", nonpositive=True)
    raises(ValueError, lambda: Dagum('x', p, a, b))

    p = Symbol("p", positive=True)
    b = Symbol("b", nonpositive=True)
    raises(ValueError, lambda: Dagum('x', p, a, b))

    b = Symbol("b", positive=True)
    a = Symbol("a", nonpositive=True)
    raises(ValueError, lambda: Dagum('x', p, a, b))
    X = Dagum('x', 1 , 1, 1)
    assert median(X) == FiniteSet(1)