def model(y): lambda1 = numpyro.sample( 'lambda1', dist.ImproperUniform(dist.constraints.real, (), ())) lambda2 = numpyro.sample( 'lambda2', dist.ImproperUniform(dist.constraints.real, (), ())) sigma = numpyro.sample( 'sigma', dist.ImproperUniform(dist.constraints.positive, (), ())) mu = numpyro.deterministic('mu', lambda1 + lambda2) numpyro.sample('y', dist.Normal(mu, sigma), obs=y)
def model(y): lambda1 = numpyro.sample( "lambda1", dist.ImproperUniform(dist.constraints.real, (), ())) lambda2 = numpyro.sample( "lambda2", dist.ImproperUniform(dist.constraints.real, (), ())) sigma = numpyro.sample( "sigma", dist.ImproperUniform(dist.constraints.positive, (), ())) mu = numpyro.deterministic("mu", lambda1 + lambda2) numpyro.sample("y", dist.Normal(mu, sigma), obs=y)
def model(): population = jnp.array([1000., 2000., 3000.]) with numpyro.plate("region", 3): d = dist.ImproperUniform(support=constraints.interval(0, population), batch_shape=(3,), event_shape=event_shape) incidence = numpyro.sample("incidence", d) assert d.log_prob(incidence).shape == (3,)
def __call__(self, name, fn, obs): # Support must be circular support = fn.support if isinstance(support, constraints.independent): support = fn.support.base_constraint assert support is constraints.circular # Draw parameter-free noise. new_fn = dist.ImproperUniform(constraints.real, fn.batch_shape, fn.event_shape) value = numpyro.sample( f"{name}_unwrapped", new_fn, obs=obs, ) # Differentiably transform. value = jnp.remainder(value + math.pi, 2 * math.pi) - math.pi # Simulate a pyro.deterministic() site. numpyro.factor(f"{name}_factor", fn.log_prob(value)) return None, value
def model(): x = numpyro.sample( "x", dist.ImproperUniform(dist.constraints.positive, (), ())) return numpyro.sample("y", dist.Normal(x, 1), obs=1.0)
def model(data): mean = numpyro.sample("mean", dist.Normal(0, 1).mask(False)) std = numpyro.sample( "std", dist.ImproperUniform(dist.constraints.positive, (), ())) return numpyro.sample("obs", dist.Normal(mean, std), obs=data)
def model(): numpyro.sample("c", dist.Bernoulli(0.8)) numpyro.sample( "u", dist.ImproperUniform(dist.constraints.unit_interval, (), ()) )