pymc.sampling.jax.sample_blackjax_nuts#
- pymc.sampling.jax.sample_blackjax_nuts(draws=1000, tune=1000, chains=4, target_accept=0.8, random_seed=None, initvals=None, model=None, var_names=None, keep_untransformed=False, chain_method='parallel', postprocessing_backend=None, postprocessing_chunks=None, idata_kwargs=None, **kwargs)[source]#
Draw samples from the posterior using the NUTS method from the
blackjax
library.- Parameters
- draws
int
, default 1000 The number of samples to draw. The number of tuned samples are discarded by default.
- tune
int
, default 1000 Number of iterations to tune. Samplers adjust the step sizes, scalings or similar during tuning. Tuning samples will be drawn in addition to the number specified in the
draws
argument.- chains
int
, default 4 The number of chains to sample.
- target_accept
float
in
[0, 1]. The step size is tuned such that we approximate this acceptance rate. Higher values like 0.9 or 0.95 often work better for problematic posteriors.
- random_seed
int
,RandomState
orGenerator
, optional Random seed used by the sampling steps.
- initvals: StartDict or Sequence[Optional[StartDict]], optional
Initial values for random variables provided as a dictionary (or sequence of dictionaries) mapping the random variable (by name or reference) to desired starting values.
- model
Model
, optional Model to sample from. The model needs to have free random variables. When inside a
with
model context, it defaults to that model, otherwise the model must be passed explicitly.- var_namessequence of
str
, optional Names of variables for which to compute the posterior samples. Defaults to all variables in the posterior.
- keep_untransformedbool, default
False
Include untransformed variables in the posterior samples. Defaults to False.
- chain_method
str
, default “parallel” Specify how samples should be drawn. The choices include “parallel”, and “vectorized”.
- postprocessing_backend
str
, optional Specify how postprocessing should be computed. gpu or cpu
- postprocessing_chunks: Optional[int], default None
Specify the number of chunks the postprocessing should be computed in. More chunks reduces memory usage at the cost of losing some vectorization, None uses jax.vmap
- idata_kwargs
dict
, optional Keyword arguments for
arviz.from_dict()
. It also accepts a boolean as value for thelog_likelihood
key to indicate that the pointwise log likelihood should not be included in the returned object. Values forobserved_data
,constant_data
,coords
, anddims
are inferred from themodel
argument if not provided inidata_kwargs
. Ifcoords
anddims
are provided, they are used to update the inferred dictionaries.
- draws
- Returns
InferenceData
ArviZ
InferenceData
object that contains the posterior samples, together with their respective sample stats and pointwise log likeihood values (unless skipped withidata_kwargs
).