Skip to content

v0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Jun 15:43

StructuralEquationModels v0.5.0

Diff since v0.4.2

StructuralEquationModels.jl v0.5.0

This is a large, breaking release centered on a modular redesign of the model/type system to unify single models and collections/multigroup models.

Highlights

  • a Sem is now a weighted sum of loss terms, each SEM loss bundling its own observed + implied parts.
  • New inference methods: CFI, p-values (z-test) and confidence intervals, parallel bootstrap.
  • Multigroup χ²/RMSEA/estimates now match lavaan.
  • Optimization backends (NLopt, Proximal) moved to package extensions.
  • Data simulation, FIML mean structures, and efficient re-fitting via replace_observed.

Breaking changes

  • Type-system & evaluation overhaul.
    • Loss functions are now AbstractLoss/SemLoss; evaluate! is implemented per loss term (no model argument) (#214).
    • SemImplySemImplied (#235).
    • Multigroup/collections handled by the new Sem term structure (#317).
    • Specification and Variables APIs refactored (#203, #207).
  • SemOptimizer API refactor (#299).
  • Optimization backends are now extensions — you must using NLopt / using ProximalAlgorithms to enable engine = :NLopt / :Proximal (#228, #234).
  • Renames: params / param_labels (#253, #257); dfdof (#254).
  • Multigroup fit statistics now use the per-group Wishart/GLS convention: χ² = Σ_g (N_g−1)·F_g (new :nsamples_corrected default weighting; N−G χ² multiplier for ML/WLS; matching RMSEA). Multigroup ML/WLS results now match lavaan wishart/GLS; single-group results are unchanged except ML RMSEA. FIML is unchanged.

New features

  • CFI fit measure (#313).
  • Inference: z-test p-values and normal-theory confidence intervals (#316).
  • Bootstrap standard errors refactored, with optional parallel fitting (#314).
  • replace_observed for collections (#266).

Bug fixes

  • Multigroup fit-measure corrections (#311), RMSEA correction, and the χ² multiplier/weighting fix.

Merged pull requests:

Closed issues:

  • se for WLS and FIML (#57)
  • v0.4.1 (#261)
  • v0.4.2 (#263)
  • sem_fit() was deprecated for fit()? (#267)
  • (in)equality constraints via StenoGraphs specification (#270)
  • Status message for converged models (#273)
  • Error (#274)
  • Numerical precision of model-implied covariance matrix (#276)
  • Simulate data from a model (#282)
  • StenoGraphs has to be loaded manually (#289)