Python interface to CmdStan that provides comprehensive access to the Stan compiler and all Bayesian inference algorithms.
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Container for maximum likelihood and maximum a posteriori estimation results. The CmdStanMLE class provides access to optimized parameter values and optimization iterations when available.
Access optimized parameter estimates in multiple formats.
def optimized_params_np(self):
"""
Get optimized parameters as NumPy array.
Returns:
np.ndarray: Final parameter estimates
"""
def optimized_params_pd(self):
"""
Get optimized parameters as pandas DataFrame.
Returns:
pd.DataFrame: Parameters with names as index
"""
def optimized_params_dict(self):
"""
Get optimized parameters as dictionary.
Returns:
dict: Mapping from parameter names to values
"""
def optimized_iterations_np(self):
"""
Get optimization iterations as NumPy array.
Returns:
np.ndarray or None: Iteration history if save_iterations=True
"""
def optimized_iterations_pd(self):
"""
Get optimization iterations as pandas DataFrame.
Returns:
pd.DataFrame or None: Iteration history if save_iterations=True
"""Access individual Stan variables with automatic type handling.
def stan_variable(self, var, inc_iter=False):
"""
Get value for specific Stan variable.
Parameters:
- var (str): Variable name
- inc_iter (bool): Include optimization iterations if available
Returns:
float or np.ndarray: Variable value with original Stan dimensions
"""
def stan_variables(self, inc_iter=False):
"""
Get all Stan variables as dictionary.
Parameters:
- inc_iter (bool): Include optimization iterations if available
Returns:
dict: Mapping from variable names to values
"""def save_csvfiles(self, dir=None):
"""
Save CSV output files to directory.
Parameters:
- dir (str or PathLike, optional): Target directory
Returns:
None
"""# Results information
mle.column_names # Tuple[str, ...]: Parameter names
mle.metadata # InferenceMetadata: Run configuration and timing# Run optimization
mle = model.optimize(data=data, algorithm="lbfgs", iter=1000)
# Access results in different formats
params_dict = mle.optimized_params_dict()
print(f"MLE estimate for theta: {params_dict['theta']}")
# Get specific variables
theta_mle = mle.stan_variable("theta")
sigma_mle = mle.stan_variable("sigma")
# Save results
mle.save_csvfiles(dir="./mle_results")Install with Tessl CLI
npx tessl i tessl/pypi-cmdstanpy