Quickstart#

Visualization of Problems#

You can visualize problems.

Start the Problem problem_viewer#
1simba_ml_problem_viewer --module simba_ml.example_problems.trigonometry
2# or
3simba_ml_problem_viewer --module my_own_costum_module

You can find available example_problems in the example_problems package.

Note

The module you want to vizualize should create a PredictionTask named sm.

Generation of CSV Files#

In order to generate CSV files of a problem, you need to create a PredictionTask and then call generate_csvs. Example PredictionTasks can be found in problems.

>>> from simba_ml.example_problems import sir
>>> from simba_ml.simulation import generators
>>> generator = generators.TimeSeriesGenerator(sir.sm)
>>> generator.generate_csvs(10)  
>>> from simba_ml.simulation import system_model
>>> from simba_ml.simulation import species
>>> from simba_ml.simulation import noisers
>>> from simba_ml.simulation import generators
>>> from simba_ml.simulation import distributions
>>> from simba_ml.simulation import kinetic_parameters as kinetic_parameters_module
>>> name = "SIR"
>>> specieses = [
...         species.Species("Suspectible", distributions.Constant(999)),
...         species.Species("Infected", distributions.VectorDistribution([10, 500, 1000])),
...         species.Species("Recovered", distributions.VectorDistribution([1, 2, 10]), contained_in_output=False),
...     ]
>>> kinetic_parameters = {
...     "beta":kinetic_parameters_module.ConstantKineticParameter(distributions.Constant(0.2)),
...     "gamma":kinetic_parameters_module.ConstantKineticParameter(distributions.Constant(0.04))
... }
>>> def deriv(_t, y, kinetic_parameters):
...     S, I, _t = y
...     N = sum(y)
...     dS_dt = -kinetic_parameters["beta"] * S * I / N
...     dI_dt = kinetic_parameters["beta"] * S * I / N - (kinetic_parameters["gamma"]) * I
...     dR_dt = kinetic_parameters["gamma"] * I
...     return dS_dt, dI_dt, dR_dt
...
>>> noiser = noisers.AdditiveNoiser(distributions.LogNormalDistribution(0, 2))
>>> sm = system_model.SystemModel(name, specieses, kinetic_parameters, deriv=deriv, noiser=noiser)
>>> generator = generators.TimeSeriesGenerator(sm)
>>> generator.generate_csvs(10)