evsi_regression

voi.evsi_regression(
    outcomes,
    summaries,
    wtp,
    *,
    effect=None,
    method='spline',
    n_knots=5,
    degree=3,
    seed=None,
)

EVSI by nonparametric regression on simulated study summaries.

Parameters

Name Type Description Default
outcomes Outcomes Outcomes from a probabilistic sensitivity analysis. required
summaries pd.DataFrame Simulated study summaries, one row per iteration, aligned on the outcomes’ iteration index (see simulate_summaries). required
wtp float Willingness to pay per unit of effect. required
effect str | None Effect column (default: the primary effect). None
method str Metamodel; see heormodel.voi.evppi.evppi. 'spline'
n_knots int Spline knot count. 5
degree int Spline degree. 3
seed int | None Subsample seed for the GP method. None

Returns

Name Type Description
float The EVSI estimate, clipped at zero.

Example

import numpy as np, pandas as pd from heormodel.models import Outcomes from heormodel.voi import evsi_regression rng = np.random.default_rng(0) n = 4000 e_b = rng.normal(0.0, 1.0, n) out = Outcomes.from_wide( … pd.DataFrame({“A”: np.zeros(n), “B”: np.zeros(n)}), … pd.DataFrame({“A”: np.zeros(n), “B”: e_b})) s = pd.DataFrame({“xbar”: e_b + rng.normal(0, 0.1, n)}) 0.0 <= evsi_regression(out, s, wtp=1.0) <= 0.45 True