innovate.base package

Submodules

Module contents

class innovate.base.DiffusionModel[source]

Bases: ABC

Abstract base class for all diffusion models.

abstractmethod bounds(t: Sequence[float], y: Sequence[float]) Dict[str, tuple][source]

Returns bounds for the model parameters.

abstractmethod static differential_equation(y, t, p)[source]

Returns the differential equation for the model.

fit(fitter: Any, t: Sequence[float], y: Sequence[float], **kwargs) Self[source]

Fits the diffusion model to the given time and adoption data.

abstractmethod initial_guesses(t: Sequence[float], y: Sequence[float]) Dict[str, float][source]

Returns initial guesses for the model parameters.

abstract property param_names: Sequence[str]

Returns the names of the model parameters.

abstract property params_: Dict[str, float]

Returns a dictionary of fitted model parameters.

abstractmethod predict(t: Sequence[float]) Sequence[float][source]

Predicts adoption levels for given time points.

abstractmethod predict_adoption_rate(t: Sequence[float]) Sequence[float][source]

Predicts the rate of adoption (new adoptions per unit of time).

abstractmethod score(t: Sequence[float], y: Sequence[float]) float[source]

Returns the R^2 score of the model fit.