Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions bletl/growth.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
import logging
from typing import Dict, Optional, Sequence, Tuple, Union

import arviz
import calibr8
import numpy
import pymc as pm
import pytensor.tensor as pt
import xarray as xa
from packaging import version

_log = logging.getLogger(__file__)
Expand Down Expand Up @@ -94,8 +94,8 @@ def theta_map(self) -> Dict[str, numpy.ndarray]:
return self._theta_map

@property
def idata(self) -> Optional[arviz.InferenceData]:
"""ArviZ InferenceData object of the MCMC trace."""
def idata(self) -> Optional[xa.DataTree]:
"""MCMC trace obtained from running :func:`GrowthRateResult.sample`."""
return self._idata

@property
Expand All @@ -114,15 +114,15 @@ def mu_mcmc(self) -> Optional[numpy.ndarray]:
if not self.idata:
return None
assert hasattr(self.idata, "posterior")
return self.idata.posterior.mu_t.stack(sample=("chain", "draw")).values.T
return self.idata["posterior"].mu_t.stack(sample=("chain", "draw")).values.T

@property
def x_mcmc(self) -> Optional[numpy.ndarray]:
"""Posterior samples of biomass curve."""
if self.idata is None:
return None
assert hasattr(self.idata, "posterior")
return self.idata.posterior["X"].stack(sample=("chain", "draw")).T
return self.idata["posterior"]["X"].stack(sample=("chain", "draw")).T

def sample(self, **kwargs) -> None:
"""Runs MCMC sampling with default settings on the growth model.
Expand All @@ -134,7 +134,6 @@ def sample(self, **kwargs) -> None:
"""
if importlib.util.find_spec("nutpie"):
sample_kwargs = dict(
return_inferencedata=True,
target_accept=0.95,
nuts_sampler="nutpie",
init="adapt_diag",
Expand All @@ -144,7 +143,6 @@ def sample(self, **kwargs) -> None:
)
else:
sample_kwargs = dict(
return_inferencedata=True,
target_accept=0.95,
init="adapt_diag",
initvals=self.theta_map,
Expand Down
Loading