PosteriorSamples#
- class zfit.mcmc.PosteriorSamples(samples, params, loss, sampler, n_warmup, n_samples, raw_result=None, info=None)[source]#
Bases:
objectPosterior samples from MCMC bayesian inference.
- Parameters:
samples (npt.NDArray[np.float64]) – Array of shape (n_samples, n_params) containing MCMC samples.
params (Iterable[ZfitParameter]) – List of ZfitParameter objects.
loss (ZfitLoss) – The ZfitLoss that was sampled.
sampler (MCMCSampler) – The ZfitSampler that generated the samples.
n_warmup (int) – Number of warmup/burn-in steps.
n_samples (int) – Number of posterior samples per walker.
raw_result (object | None) – Raw result from the sampler.
info (dict | None) – Additional information dictionary.
- mean(params=None)[source]#
Posterior mean(s).
- Parameters:
params (str | ZfitParameter | Iterable[str | ZfitParameter] | None) – Parameter name, object, index, or list thereof. If None, return all means.
- Return type:
float | npt.NDArray[np.float64]
- Returns:
Mean value(s). - Single parameter: returns float. - Collection of parameters: returns array.
- symerr(params=None, *, sigma=None)[source]#
Symmetric error (standard deviation) of posterior samples.
- Parameters:
params (str | ZfitParameter | Iterable[str | ZfitParameter] | None) – Parameter name, object, or index. If None, return all errors.
sigma (float | None) – Number of standard deviations. Default is 1. For example, sigma=1 returns 1 standard deviation, sigma=2 returns 2 standard deviations.
- Return type:
float | npt.NDArray[np.float64]
- Returns:
Symmetric error(s) as float or array.
- std(params=None)[source]#
Standard deviation of posterior samples
- Parameters:
params (str | ZfitParameter | Iterable[str | ZfitParameter] | None) – Parameter name, object, index, or list thereof. If None, return all stds.
- Return type:
float | npt.NDArray[np.float64]
- Returns:
Standard deviation(s). - Single parameter: returns float. - Collection of parameters: returns array.
Examples
>>> result.std() # All parameters array([0.102, 0.234])
>>> result.std(['mu', 'sigma']) # Multiple parameters array([0.102, 0.234])
>>> result.std('mu') # Single parameter 0.102
>>> result.std(['mu']) # Single parameter in list array([0.102])
- credible_interval(params=None, *, alpha=None, sigma=None)[source]#
Equal-tailed credible interval(s).
- Parameters:
params (str | ZfitParameter | Iterable[str | ZfitParameter] | None) – Parameter name, object, index, or list thereof. If None, return all intervals.
alpha (float | None) – Significance level. Default is 0.05 for 95% interval.
sigma (float | None) – Number of standard deviations (e.g., 1 for ~68%, 2 for ~95%). Overrides alpha if given.
- Return type:
tuple[float | npt.NDArray[np.float64], float | npt.NDArray[np.float64]]
- Returns:
Tuple (lower, upper). - Single parameter: returns tuple of floats. - Collection of parameters: returns tuple of arrays.
- get_samples(params=None)[source]#
Get posterior samples.
- Parameters:
params (str | ZfitParameter | Iterable[str | ZfitParameter] | None) – Parameter name, object, index, or list thereof. If None, return all samples.
- Return type:
npt.NDArray[np.float64]
- Returns:
Array of samples. - Single parameter: returns 1D array. - Collection of parameters: returns 2D array with shape (n_samples, n_params).
- as_prior(param)[source]#
Get posterior samples as a KDE prior for hierarchical modeling.
- Parameters:
param (str | ZfitParameter | int) – Parameter name, object, or index to get posterior for.
- Return type:
KDE
- Returns:
KDE prior created from posterior samples.
- to_arviz()[source]#
Convert to ArviZ InferenceData format.
- Return type:
InferenceData- Returns:
ArviZ InferenceData object for advanced analysis.
- update_params(params=None, *, what=None)[source]#
Set all parameters to their posterior mean values.
- Return type:
PosteriorSamples
- property sampler: MCMCSampler#
Sampler used to generate samples.
- property loss: ZfitLoss#
Loss function that was sampled.
- property converged: bool#
Whether the MCMC chains have converged based on diagnostics.
Convergence is determined by: - R-hat < 1.1 for all parameters (Gelman-Rubin statistic) - Effective sample size > 100 for all parameters - No NaN or infinite values
- covariance(params=None)[source]#
Covariance matrix from posterior samples.
- Parameters:
params (str | ZfitParameter | Iterable[str | ZfitParameter] | None) – Parameters to include. If None, use all parameters.
- Return type:
npt.NDArray[np.float64]
- Returns:
Covariance matrix as numpy array. - Single parameter: returns scalar (variance). - Collection of parameters: returns matrix.
- property rhat: ndarray[tuple[Any, ...], dtype[float64]] | None#
Gelman-Rubin R-hat convergence diagnostic.
Values < 1.1 indicate good convergence. Only available when multiple chains are used.