Description Usage Arguments Value Details Methods References See Also Examples

An implementation of the block particle filter algorithm of Rebeschini and van Handel (2015), which is used to estimate the filter distribution
of a spatiotemporal partially-observed Markov process.
`bpfilter`

requires a partition of the spatial units which can be provided by either the `block_size`

or the `block_list`

argument.
The elements of the partition are called blocks. We perform resampling for each block independently based on sample weights within the block.
Each resampled block only contains latent states for the spatial components within the block which allows for a “cross-pollination" of
particles where the highest weighted segments of each particle are more likely to be resampled and get combined with resampled components of
other particles. The method mitigates the curse of dimensionality by resampling locally.

1 2 3 4 5 6 7 8 9 |

`object` |
A |

`Np` |
The number of particles used within each replicate for the adapted simulations. |

`block_size` |
The number of spatial units per block. If this is provided, the method subdivides units approximately evenly
into blocks with size |

`block_list` |
List that specifies an exact partition of the spatial units. Each partition element, or block, is an integer vector of neighboring units. |

`...` |
If a |

`verbose` |
logical; if |

Upon successful completion, `bpfilter()`

returns an object of class
‘bpfilterd_spatPomp’ containing the algorithmic parameters used to run `bpfilter()`

and the estimated likelihood.

Only one of `block_size`

or `block_list`

should be specified.
If both or neither is provided, an error is triggered.

The following methods are available for such an object:

`logLik`

yields an estimate of the log-likelihood of the data under the model.

2015

Other particle filter methods:
`abfir()`

,
`abf()`

,
`enkf()`

,
`girf()`

,
`ienkf()`

,
`igirf()`

,
`iubf()`

1 2 3 4 5 6 7 8 9 10 11 12 13 | ```
# Create a simulation of a Brownian motion
b <- bm(U=6, N=10)
# Run BPF with the specified number of units per block
bpfilterd_b1 <- bpfilter(b, Np = 100, block_size = 2)
# Run BPF with the specified partition
bpfilterd_b2 <- bpfilter(b,
Np = 20,
block_list = list(c(1,2), c(3,4), c(5,6)))
# Get a likelihood estimate
logLik(bpfilterd_b2)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.