Skip to content

voiage.methods.ceaf.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) -> CEAFResult

Calculate a cost-effectiveness acceptability frontier.

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.

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.

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.

>>> 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_array ValueArray
  • wtp_thresholds np.ndarray | list[float]
  • strategy_names list[str] | None (default: None)
  • confidence_level float (default: 0.95)

Returns: CEAFResult