Beispiel #1
0
def _f(x, beta, gamma, eta, dt):
    lam = beta * (x[..., 1] + eta) / x.sum(-1)

    i_f = 1. - (-lam * dt).exp()
    r_f = 1. - (-gamma * dt).exp()

    return concater(i_f, r_f)
Beispiel #2
0
        def f_(x, beta, gamma, alpha, rho, sigma, eps, nu):
            s = -beta * x[..., 0] * x[..., 1]
            r = (1 - alpha) * gamma * x[..., 1]
            i = -s - r - alpha * rho * x[..., 1]
            d = alpha * rho * x[..., 1]

            return concater(s, i, r, d)
Beispiel #3
0
        def f(x, beta, gamma, delta, alpha, rho, sigma, eps):
            s = -beta * x[..., 0] * x[..., 2]
            e = -s - delta * x[..., 1]
            r = (1 - alpha) * gamma * x[..., 2]
            i = delta * x[..., 1] - r - alpha * rho * x[..., 2]
            d = alpha * rho * x[..., 2]

            return concater(s, e, i, r, d)
Beispiel #4
0
def prop_state(x, beta, gamma, eta, dt):
    f = _f(x, beta, gamma, eta, dt)

    bins = Independent(Binomial(x[..., :-1], f), 1)
    samp = bins.sample()

    s = x[..., 0] - samp[..., 0]
    i = x[..., 1] + samp[..., 0] - samp[..., 1]
    r = x[..., 2] + samp[..., 1]

    return concater(s, i, r)
Beispiel #5
0
def gmvn(x, alpha, sigma):
    return concater(sigma, sigma)
Beispiel #6
0
def fmvn(x, alpha, sigma):
    x1 = alpha * x[0] + x[1] / 3
    x2 = x[1]
    return concater(x1, x2)
Beispiel #7
0
def fmvn(x, a, sigma):
    return concater(x[0], x[1])
Beispiel #8
0
def fmvn(x, a, sigma):
    return concater(x[..., 0], x[..., 1])
Beispiel #9
0
def fmvn(x, alpha, sigma):
    x1 = alpha * x[..., 0]
    x2 = x[..., 1]
    return concater(x1, x2)
Beispiel #10
0
        def g(x, beta, gamma, sigma):
            g1 = -sigma * x[..., 0] * x[..., 1]
            g3 = torch.zeros_like(g1)

            return concater(g1, -g1, g3)
Beispiel #11
0
def f(x, beta, gamma, sigma):
    f1 = -beta * x[..., 0] * x[..., 1]
    f2 = x[..., 1] * (beta * x[..., 0] - gamma)
    f3 = x[..., 1] * gamma

    return concater(f1, f2, f3)