I finally figured out where the problem was.
The original filter bundle (let's call it A) contains the correct settings, but if this bundle is copied (for example, B=A), B fails to copy everything because the "exact" member is not copyable and the default value, 0, remains in B!

Greetings
Paolo


Il 22/10/2025 18:44, Cottrell, Allin ha scritto:
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


-- 
Paolo Chirico
RU e Prof.Agg. di Statistica Economica
Università del Piemonte Orientale
Dip. di Giurisprudenza e Scienze Politiche,
Economiche e Sociali (DIGSPES)
Alessandria, Italia