On Wed, Oct 22, 2025 at 10:58 AM Paolo Chirico <paolo.chirico@uniupo.it> wrote:
>
> Hi all,
> sorry to bring this up again, but there are a few things I don't understand:
> 1) If I set diffuse=2 and dejong=0, I expect the default method to be sequential=1. Instead, into the filter bundle, I find:
[something apparently different]

Thanks for the report, Paolo.

There's definitely something confusing here, which needs to be fixed. However, in general things are done right. Here's the source of confusion: the initial user input allows setting diffuse (to 0, 1 or 2) and either sequential (to 0 or 1) or dejong (to 0 or 1). but internally such settings get translated to three booleans: diffuse, exact and sequential. I'm attaching a little script which illustrates how this goes.

I think the mismatch between user settings and the internals stemmed from a desire to maintain backward compatibility, from before we had implementations of the sequential and de Jong methods for handling diffuse initialization exactly. But clearly we should come up with a less confusing interface. I'll report back once that's in place.

(BTW, running the attached script shows little difference between the diffuse variants, other than the first estimate of the predicted error variance, pevar. That's not unexpected, although there could well be more differences in a more complex state-space model, where it takes more observations to resolve the initial "diffuseness".)

Allin Cottrell