Create an "unfilter" object, which can be used to compute a deterministic likelihood following the same algorithm as the particle filter, but limited to a single particle. The name for this method will change in future.
Usage
dust_unfilter_create(
generator,
time_start,
data,
n_particles = 1,
n_groups = NULL,
dt = NULL,
ode_control = NULL,
shared_data = FALSE,
n_threads = 1,
preserve_particle_dimension = FALSE,
preserve_group_dimension = FALSE
)
Arguments
- generator
A system generator object, with class
dust_system_generator
- time_start
The start time for the simulation - this is typically before the first data point. Must be an integer-like value.
- data
The data to fit to. This can be a
data.frame
, in which case it will be passed into dust_filter_data for validation, or it can be a dust_filter_data-augmented data.frame. The times for comparison will be taken from this, andtime_start
must be no later than than the earliest time.- n_particles
The number of particles to run. Typically this is 1, but you can run with more than 1 if you want - currently they produce the same likelihood but if you provide different initial conditions then you would see different likelihoods.
- n_groups
Optionally, the number of parameter groups
- dt
The time step for discrete time systems, defaults to 1 if not given. It is an error to provide a non-NULL argument with continuous-time systems.
- ode_control
The ODE integration control for continuous time systems. Defaults to the default return of dust_ode_control. It is an error to provide this with discrete-time systems.
Logical, indicating if
data
is shared among all groups.- n_threads
Integer, the number of threads to use in parallelisable calculations. See Details.
- preserve_particle_dimension
Logical, indicating if output from the system should preserve the particle dimension in the case where a single particle is run. In the case where more than one particle is run, this argument has no effect as the dimension is always preserved.
- preserve_group_dimension
Logical, indicating if state and output from the system should preserve the group dimension in the case where a single group is run. In the case where more than one group is run, this argument has no effect as the dimension is always preserved.
Value
A dust_likelihood
object, which can be used with
dust_likelihood_run