Skip to content

voiage.fluent.FluentDecisionAnalysis

A class to represent a decision analysis problem with fluent API support.

with_parameters([positional or keyword] self: None = None, [positional or keyword] parameter_samples: np.ndarray | ParameterSet | dict[str, np.ndarray] = None) -> FluentDecisionAnalysis

Set parameter samples for the analysis.

Args: parameter_samples: Parameter samples for EVPPI calculation

FluentDecisionAnalysis: Self for method chaining

Parameters:

  • self
  • parameter_samples np.ndarray | ParameterSet | dict[str, np.ndarray]

Returns: FluentDecisionAnalysis

with_backend([positional or keyword] self: None = None, [positional or keyword] backend: str = None) -> FluentDecisionAnalysis

Set the computational backend.

Args: backend: Backend name (‘numpy’, ‘jax’, etc.)

FluentDecisionAnalysis: Self for method chaining

Parameters:

  • self
  • backend str

Returns: FluentDecisionAnalysis

with_jit([positional or keyword] self: None = None, [positional or keyword] use_jit: bool = True) -> FluentDecisionAnalysis

Enable or disable JIT compilation.

Args: use_jit: Whether to use JIT compilation

FluentDecisionAnalysis: Self for method chaining

Parameters:

  • self
  • use_jit bool (default: True)

Returns: FluentDecisionAnalysis

with_streaming([positional or keyword] self: None = None, [positional or keyword] window_size: int = None) -> FluentDecisionAnalysis

Enable streaming data support with specified window size.

Args: window_size: Size of the streaming window

FluentDecisionAnalysis: Self for method chaining

Parameters:

  • self
  • window_size int

Returns: FluentDecisionAnalysis

with_caching([positional or keyword] self: None = None, [positional or keyword] enable: bool = True) -> FluentDecisionAnalysis

Enable or disable caching.

Args: enable: Whether to enable caching

FluentDecisionAnalysis: Self for method chaining

Parameters:

  • self
  • enable bool (default: True)

Returns: FluentDecisionAnalysis

add_data([positional or keyword] self: None = None, [positional or keyword] new_nb_data: np.ndarray | ValueArray = None, [positional or keyword] new_parameter_samples: np.ndarray | ParameterSet | dict[str, np.ndarray] | None = None) -> FluentDecisionAnalysis

Add new data to the analysis (for streaming support).

Args: new_nb_data: New net benefit data to add new_parameter_samples: New parameter samples corresponding to the net benefit data

FluentDecisionAnalysis: Self for method chaining

Parameters:

  • self
  • new_nb_data np.ndarray | ValueArray
  • new_parameter_samples np.ndarray | ParameterSet | dict[str, np.ndarray] | None (default: None)

Returns: FluentDecisionAnalysis

calculate_evpi([positional or keyword] self: None = None, [positional or keyword] population: float | None = None, [positional or keyword] time_horizon: float | None = None, [positional or keyword] discount_rate: float | None = None, [positional or keyword] chunk_size: int | None = None) -> FluentDecisionAnalysis

Calculate the Expected Value of Perfect Information (EVPI).

Args: population: The relevant population size time_horizon: The relevant time horizon in years discount_rate: The annual discount rate chunk_size: Size of chunks for incremental computation

FluentDecisionAnalysis: Self for method chaining

Parameters:

  • self
  • population float | None (default: None)
  • time_horizon float | None (default: None)
  • discount_rate float | None (default: None)
  • chunk_size int | None (default: None)

Returns: FluentDecisionAnalysis

calculate_evppi([positional or keyword] self: None = None, [positional or keyword] population: float | None = None, [positional or keyword] time_horizon: float | None = None, [positional or keyword] discount_rate: float | None = None, [positional or keyword] n_regression_samples: int | None = None, [positional or keyword] regression_model: RegressionModelProtocol | type[RegressionModelProtocol] | None = None, [positional or keyword] chunk_size: int | None = None) -> FluentDecisionAnalysis

Calculate the Expected Value of Partial Perfect Information (EVPPI).

Args: population: Population size for scaling time_horizon: Time horizon for scaling discount_rate: Discount rate for scaling n_regression_samples: Number of samples to use for fitting the regression model regression_model: An unfitted scikit-learn compatible regression model chunk_size: Size of chunks for incremental computation

FluentDecisionAnalysis: Self for method chaining

Parameters:

  • self
  • population float | None (default: None)
  • time_horizon float | None (default: None)
  • discount_rate float | None (default: None)
  • n_regression_samples int | None (default: None)
  • regression_model RegressionModelProtocol | type[RegressionModelProtocol] | None (default: None)
  • chunk_size int | None (default: None)

Returns: FluentDecisionAnalysis

get_evpi_result([positional or keyword] self: None = None) -> float | None

Get the last calculated EVPI result.

Optional[float]: Last EVPI result or None if not calculated

Parameters:

  • self

Returns: float | None

get_evppi_result([positional or keyword] self: None = None) -> float | None

Get the last calculated EVPPI result.

Optional[float]: Last EVPPI result or None if not calculated

Parameters:

  • self

Returns: float | None

get_results([positional or keyword] self: None = None) -> dict[str, float | None]

Get all calculated results.

Dict[str, Optional[float]]: Dictionary of results

Parameters:

  • self

Returns: dict[str, float | None]