Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Formula specification container for learned encoding state.

Classes:

NameDescription
FormulaSpecLearned formula encoding — everything needed to replay on new data.

Classes

FormulaSpec

Learned formula encoding — everything needed to replay on new data.

This container captures the full state of formula parsing and evaluation:

Created by: parse_formula() Consumed by: build_design_matrices(), evaluate_newdata(), build_bundle_from_data() Augmented by: attrs.evolve() after build_design_matrices() adds learned contrasts/transforms

Attributes:

NameTypeDescription
formulastrOriginal formula string.
response_varstr | NoneLHS variable name, or None for RHS-only formulas.
response_transformtuple[str, ...] | NoneTransform chain applied to response, innermost first. E.g. (“rank”, “zscore”) means zscore(rank(y)). None if no transform.
has_interceptboolWhether the intercept is included.
rhs_termstupleParsed AST nodes for fixed-effect RHS terms.
re_termstupleRandom effect AST nodes (Binary with PIPE operator).
factorsdict[str, tuple[str, ...]]Factor name to ordered level list mapping.
contrast_matricesdict[str, NDArray]Factor name to contrast matrix mapping.
contrast_typesdict[str, str]Factor name to contrast type string mapping.
transform_statedict[str, dict]Transform key to state dict mapping.
transformsdict[str, object]Transform key to fitted StatefulTransform instance mapping.
custom_contrastsdict[str, NDArray]User-provided contrast matrices.
uncorr_metadatadictMetadata from
nested_metadatadictMetadata from / expansion.

Attributes

contrast_matrices
contrast_matrices: dict[str, NDArray] = field(factory=dict, converter=to_frozen_dict)
contrast_types
contrast_types: dict[str, str] = field(factory=dict, converter=to_frozen_dict)
custom_contrasts
custom_contrasts: dict[str, NDArray] = field(factory=dict, converter=to_frozen_dict)
factors
factors: dict[str, tuple[str, ...]] = field(factory=dict, converter=to_factor_dict)
formula
formula: str = field(validator=(validators.instance_of(str)))
has_intercept
has_intercept: bool = field(default=True, validator=(validators.instance_of(bool)))
has_random_effects
has_random_effects: bool

Whether formula contains random effect terms.

nested_metadata
nested_metadata: dict = field(factory=dict, converter=to_frozen_dict)
re_terms
re_terms: tuple = field(factory=tuple, converter=to_tuple)
response_transform
response_transform: tuple[str, ...] | None = field(default=None, validator=is_optional_tuple_of_str)
response_var
response_var: str | None = field(default=None, validator=is_optional_str)
rhs_terms
rhs_terms: tuple = field(factory=tuple, converter=to_tuple)
transform_state
transform_state: dict[str, dict] = field(factory=dict, converter=to_frozen_dict)
transforms
transforms: dict[str, object] = field(factory=dict, converter=to_frozen_dict)
uncorr_metadata
uncorr_metadata: dict = field(factory=dict, converter=to_frozen_dict)

Functions