Skip to content

Latest commit

 

History

History
17 lines (14 loc) · 1.1 KB

File metadata and controls

17 lines (14 loc) · 1.1 KB

Type hierarchy

The type hierarchy is implemented in "src/types.jl".

AbstractLoss: is the base abstract type for all loss functions:

  • SemLoss{O <: SemObserved, I <: SemImplied}: is the subtype of AbstractLoss, which is the base for all SEM-specific loss functions (SemML, SemWLS etc) that evaluate how closely the implied covariation structure (represented by the object of type I) matches the observed one (contained in the object of type O);
  • regularizing terms (e.g. SemRidge) are implemented as subtypes of AbstractLoss.

AbstractSem is the base abstract type for all SEM models. It has two concrete subtypes:

  • Sem{L <: Tuple} <: AbstractSem: the main SEM model type that implements a list of weighted loss terms (using LossTerm wrapper around AbstractLoss) and allows modeling both single and multi-group SEMs and combining them with regularization terms.
  • SemFiniteDiff{S <: AbstractSem} <: AbstractSem: a wrapper around any AbstractSem that substitutes dedicated gradient/hessian evaluation with finite difference approximation.