You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
correlation structures: composites support (ML and GLS routes)
Composite models (the <~ operator) now work with correlation = TRUE,
on both the D-augmented ML route (the default) and the GLS route.
Root cause of the old failure (the GLS combination never converged;
the ML route stopped with a clean error): the correlation completion
ran BEFORE lav_lisrel_comp_set_intresvar(), so the completed residual
variances were computed from stale composite quantities, and the
implied diagonal drifted away from the unit target during
optimization (objective/gradient mismatch). The composite completion
now runs FIRST in lav_model_set_parameters() and lav_model_x2glist();
plain composite models are unaffected (nothing runs between the two
blocks when no correlation structure is present).
Two more fixes in the same setting:
- lav_pt_ndat(): the fixed composite-indicator VARIANCES were removed
from the statistic count on top of the correlation correction (fixed
~*~ rows) or the free ~*~ scales that fit them -- the df now match
an ordinary composite ML fit (which has the same chi-square).
- lav_lisrel_dimplied_dx(): in the D-augmented mode the composite
psi* chain-rule block must not reintroduce diagonal-row entries for
the non-delta columns (the unit-diagonal completion makes
diag(Sigma*) constant); the analytic gradient again matches
numDeriv at and off the solution.
missing = "ml" works for composite correlation models as well (same
likelihood as an ordinary composite FIML fit).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0 commit comments