voiage.methods.ceaf.calculate_ceaf
calculate_ceaf
Section titled “calculate_ceaf”calculate_ceaf([positional or keyword] value_array: ValueArray = None, [positional or keyword] wtp_thresholds: np.ndarray | list[float] = None, [positional or keyword] strategy_names: list[str] | None = None, [positional or keyword] confidence_level: float = 0.95) -> CEAFResultCalculate a cost-effectiveness acceptability frontier.
Parameters
Section titled “Parameters”value_array : ValueArray 3D net-benefit surface with samples, strategies, and WTP thresholds. wtp_thresholds : numpy.ndarray or list[float] Willingness-to-pay thresholds used for the frontier. strategy_names : list[str], optional Override strategy names. confidence_level : float, default=0.95 Confidence level used to build the probability band.
Returns
Section titled “Returns”CEAFResult Frontier result with optimal strategies, probabilities, and uncertainty bounds.
At each willingness-to-pay threshold :math:\lambda, CEAF selects the
strategy with the largest expected net benefit:
.. math::
d^*(\lambda) = \arg\max_d E[NB_d(\lambda)].
The acceptability probability is the fraction of PSA samples for which the selected strategy is also optimal under the sample-level net benefits.
References
Section titled “References”Fenwick, E., Claxton, K., & Sculpher, M. (2001). Representing uncertainty: the cost-effectiveness acceptability curve, the cost-effectiveness acceptability frontier, and the expected value of sample information. Briggs, A. H., O’Brien, B. J., & Blackhouse, G. (2002). Thinking outside the box: CEAF as a decision summary.
Examples
Section titled “Examples”>>> import numpy as np >>> from voiage.methods.ceaf import calculate_ceaf >>> from voiage.schema import ValueArray >>> values = np.array( … [ … [[10.0, 11.0], [12.0, 9.0]], … [[9.0, 10.5], [11.0, 10.0]], … ] … ) >>> va = ValueArray.from_numpy_perspectives( … values, … strategy_names=[“A”, “B”], … perspective_names=[“10000”, “20000”], … ) >>> result = calculate_ceaf(va, [10000.0, 20000.0]) >>> result.wtp_thresholds.tolist() [10000.0, 20000.0]
Parameters:
value_arrayValueArraywtp_thresholdsnp.ndarray | list[float]strategy_nameslist[str] | None(default:None)confidence_levelfloat(default:0.95)
Returns: CEAFResult