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