Since everything in TemporalGPs.jl is build around SSMs, it should be easy to obtain filtered posteriors of various forms, e.g. p(f_t|Y_0,...,Y_t) or p(f_t|Y_0,...,Y_{t-1}) for all t in some range. It seems that e.g. the latter can be done by using some internals like so:
function one_step_ahead_predictions(f, x, y)
fx = f(x, obs_noise + 1e-6)
lgssm = build_lgssm(fx)
F = vcat(x0(lgssm), _filter(lgssm, y)[1:end-1])
E = emissions(lgssm)
return predict.(F, E)
end
but
- not having a complete understanding of the internals, I'm not sure this is correct
- It would be nice to expose this (or the correct version) as a public API
Since everything in TemporalGPs.jl is build around SSMs, it should be easy to obtain filtered posteriors of various forms, e.g.
p(f_t|Y_0,...,Y_t)orp(f_t|Y_0,...,Y_{t-1})for alltin some range. It seems that e.g. the latter can be done by using some internals like so:but