seismometer.configuration.model.Event

class seismometer.configuration.model.Event(*, type='binary classification', group_keys='group_undefined', source, display_name='', window_hr=None, offset_hr=0, impute_val=None, usage=None, aggregation_method='max', merge_strategy='forward')

The definition of an event.

This structure defines an event and which predictions are relevant to it. If a window is specified:

  • the offset_hr defines the upper bound of the window relative to the event time, has default value of 0 (event time),

  • the window_hr defines the size of the window looking backwards from the offset_hr.

If an event is present but the prediction is not in the window, the predictions are ignored for the event type. If multiple events are present then the closest one is used.

The impute_val is used as the value for the event if no event is present.

Usage is used for context when selecting events, such as analyzing performance of the model with respect to a target or when comparing an expected intervention to a monitored outcome.

Parameters:
  • type (str)

  • group_keys (str | List[str] | None)

  • source (list[str])

  • display_name (str)

  • window_hr (float | None)

  • offset_hr (float)

  • impute_val (Any | None)

  • usage (str | None)

  • aggregation_method (Literal['min', 'max', 'first', 'last'] | None)

  • merge_strategy (Literal['first', 'last', 'nearest', 'forward', 'count'] | None)

__init__(**data)

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

Return type:

None

Methods

__init__(**data)

Create a new model by parsing and validating input data from keyword arguments.

coerce_source_list(v)

Coerce single values for source into a list so all downstream processing can assume a list.

construct([_fields_set])

copy(*[, include, exclude, update, deep])

Returns a copy of the model.

default_display_name(display_name, values)

Ensures that display_name exists.

dict(*[, include, exclude, by_alias, ...])

from_orm(obj)

json(*[, include, exclude, by_alias, ...])

model_construct([_fields_set])

Creates a new instance of the Model class with validated data.

model_copy(*[, update, deep])

!!! abstract "Usage Documentation"

model_dump(*[, mode, include, exclude, ...])

!!! abstract "Usage Documentation"

model_dump_json(*[, indent, ensure_ascii, ...])

!!! abstract "Usage Documentation"

model_json_schema([by_alias, ref_template, ...])

Generates a JSON schema for a model class.

model_parametrized_name(params)

Compute the class name for parametrizations of generic classes.

model_post_init(context, /)

Override this method to perform additional initialization after __init__ and model_construct.

model_rebuild(*[, force, raise_errors, ...])

Try to rebuild the pydantic-core schema for the model.

model_validate(obj, *[, strict, extra, ...])

Validate a pydantic model instance.

model_validate_json(json_data, *[, strict, ...])

!!! abstract "Usage Documentation"

model_validate_strings(obj, *[, strict, ...])

Validate the given object with string data against the Pydantic model.

parse_file(path, *[, content_type, ...])

parse_obj(obj)

parse_raw(b, *[, content_type, encoding, ...])

schema([by_alias, ref_template])

schema_json(*[, by_alias, ref_template])

update_forward_refs(**localns)

validate(value)

Attributes

model_computed_fields

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_extra

Get extra fields set during validation.

model_fields

model_fields_set

Returns the set of fields that have been explicitly set on this model instance.

source

The source(s) for an event.

display_name

The display name for the event.

window_hr

The size of the valid window in hours.

offset_hr

The number of hours to offset the valid window before the reference time.

impute_val

The value to use if no event is present.

usage

The type of event being defined; can be target, intervention, or outcome.

aggregation_method

The strategy for aggregating (or selecting) scores for an event.

merge_strategy

The strategy for merging events with predictions.

type

The type of the object (e.g., 'binary classification', 'ordinal/categorical').

group_keys

The group or groups to which the metric belongs.