interpret.slopes

interpret.slopes(
    model,
    idata,
    wrt,
    conditional=None,
    average_by=None,
    eps=0.0001,
    slope='dydx',
    target='mean',
    pps=False,
    use_hdi=True,
    prob=az.rcParams['stats.ci_prob'],
    transforms=None,
    sample_new_groups=False,
)

Compute conditional adjusted slopes.

Slopes are computed using finite differences. The wrt variable is evaluated at [x, x + eps] and the slope is approximated as (f(x + eps) - f(x)) / eps.

Parameters

model : Model

The fitted Bambi model.

idata : InferenceData

InferenceData object containing the posterior samples.

wrt : str or dict

The predictor variable to compute the slope with respect to. Either a variable name (uses mean/mode as evaluation point) or a single-entry dict mapping variable name to a specific evaluation point.

conditional : ConditionalParam = None

Variables to condition on for slopes.

average_by : (str, list or None) = None

Variables to average slopes over.

eps : float = 0.0001

Perturbation size for finite differencing. Default is 1e-4.

slope : str or SlopeFunc = 'dydx'

The type of slope to compute. Default is ‘dydx’. Built-in options: ‘dydx’ - unit change in wrt associated with a unit change in response. ‘eyex’ - percent change in wrt associated with a percent change in response. ‘eydx’ - unit change in wrt associated with a percent change in response. ‘dyex’ - percent change in wrt associated with a unit change in response.

target : str = 'mean'

The target parameter to compute slopes for. Default is “mean”.

pps : bool = False

Whether to use posterior predictive samples. Default is False.

use_hdi : bool = True

Whether to use highest density interval. Default is True.

prob : float or list[float] = az.rcParams['stats.ci_prob']

Probability or list of probabilities for credible intervals. Default is from arviz rcParams. When a list is provided, multiple nested intervals are computed.

transforms : dict or None = None

Dictionary of transformations to apply to predictions before differencing.

sample_new_groups : bool = False

Whether to sample new group levels. Default is False.

Returns

: DataFrame

A DataFrame containing the conditional adjusted slopes with summary statistics.

Raises

ValueError

If any prob value is not between 0 and 1.

TypeError

If slope is not a callable or valid string.