smooth {FVDDPpkg} | R Documentation |
Compute the smoothing distribution of the Fleming-Viot latent signal
Description
Compute the smoothing distribution of the Fleming-Viot latent signal
Usage
smooth(fvddp.past, fvddp.future, t.past, t.future, y.new)
Arguments
fvddp.past |
An instance of class |
fvddp.future |
Same as |
t.past |
The time between the last collection of data (in the past) and the time at which the smoothing is performed. |
t.future |
Same as |
y.new |
The data collected at the time the smoothing is performed. |
Value
The function returns an instance of class fvddp
whose hyperparametrs
are the same of fvddp.past
and fvddp.future
. The values of y.star
and M
are such that to represent the state of the FVDDP signal in the present time,
i.e. the one Which is t.past
away from the time at which fvddp.past
i
estimated, and is t.future
away from the time at which fvddp.future
is ,
estimated. Since the computation is usually extemely long, one can rely on the
Monte-Carlo approximation provided by approx.smooth()
.
References
Ascolani F, Lijoi A, Ruggiero M (2023). “Smoothing distributions for conditional Fleming–Viot and Dawson–Watanabe diffusions.” Bernoulli, 29(2), 1410 – 1434. doi:10.3150/22-BEJ1504.
See Also
approx.smooth()
for a (faster) approximation based on importance
sampling.
Examples
#create wo process and sequentilly update and propagate them
FVDDP = initialize(3, function(x) rbinom(x, 10, .2),
function(x) dbinom(x, 10, .2), TRUE)
#for the past
FVDDP.PAST = update(FVDDP, c(2,3))
#for the future
FVDDP.FUTURE = update(FVDDP, c(4))
FVDDP.FUTURE = propagate(FVDDP.FUTURE, 0.5)
FVDDP.FUTURE = update(FVDDP.FUTURE, c(1))
#get a smoothed FVDDP merging them (with new values too)
smooth(fvddp.past = FVDDP.PAST, fvddp.future = FVDDP.FUTURE,
t.past= 0.4, t.future = 0.3, y.new = c(1,3))