Priors¶
Prior schemas used as regularizers in fitting objectives. Mirrors
ionworkspipeline.priors.
Schemas for priors (match ionworkspipeline: iwp.priors.Prior).
- class ionworks_schema.priors.Prior(name, distribution, regularizer_weight=None)
Bases:
RegularizerRegularization prior on a parameter.
Parameters¶
- namestr or list of str
Parameter name(s) the prior applies to.
- distributionionworks_schema.stats.Distribution
Probability distribution describing prior beliefs about the parameter(s).
- regularizer_weightfloat, optional
Weight applied to the prior’s contribution to the cost. Default is 1.0.
Examples¶
>>> prior = iws.priors.Prior("Q_pe", iws.stats.Normal(mean=3.0, std=0.2)) >>> fit = iws.DataFit( ... objectives={"ocp": iws.objectives.OCPHalfCell( ... electrode="positive", data_input="path/to/ocp.csv", ... )}, ... priors={"Q_pe": prior}, ... )
Extends:
ionworks_schema.objective_functions.regularizers.Regularizer- distribution: Annotated[dict[str, Any] | Distribution | Any, FieldInfo(annotation=NoneType, required=True, metadata=[_PydanticGeneralMetadata(union_mode='left_to_right')])]
- model_config = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'populate_by_name': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_post_init(context: Any, /) None
This function is meant to behave like a BaseModel method to initialise private attributes.
It takes context as an argument since that’s what pydantic-core passes when calling it.
- Args:
self: The BaseModel instance. context: The context.