biomedical_data_generator.CorrClusterConfig

class biomedical_data_generator.CorrClusterConfig(*, n_cluster_features, correlation_structure='equicorrelated', baseline_correlation=0.0, anchor_index=0, proxy_attenuation=1.0, mean_channel=None, covariance_channel=None, label=None)[source]

Bases: BaseModel

A correlated block with optional, independent mean and covariance channels.

The block geometry and the structural anchor are always present; signal is expressed only through the optional channels. Relevance is derived (a cluster is informative iff a channel varies across classes), never declared.

Anchor-to-proxy mean propagation is not configured directly: a proxy at block column j inherits effect * proxy_attenuation * structural_correlation[anchor_index, j], where the structural correlation matrix is built from correlation_structure and the effective per-class correlation (the covariance channel value for that class, or baseline_correlation when absent). With the default proxy_attenuation=1.0 this reproduces the v1 propagation model exactly, and uses the same correlation that samples the block.

Parameters:
n_cluster_features

Number of features in the block (>= 2): one anchor plus proxies.

Type:

int

correlation_structure

Within-block correlation pattern.

Type:

Literal[‘equicorrelated’, ‘toeplitz’]

baseline_correlation

Structural correlation used when no covariance channel overrides a given class. 0.0 means independence.

Type:

float

anchor_index

Index (within the block) of the structural anchor.

Type:

int

proxy_attenuation

Neutral multiplier on the structurally derived anchor-to-proxy mean propagation. 1.0 reproduces the v1 model (no extra attenuation).

Type:

float

mean_channel

Optional first-moment signal.

Type:

MeanChannel | None

covariance_channel

Optional second-moment signal.

Type:

CovarianceChannel | None

label

Optional descriptive name for documentation.

Type:

str | None

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.

__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.

construct([_fields_set])

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

Returns a copy of the model.

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

effective_correlation_for_class(class_index)

Resolve the within-block correlation for a class.

from_orm(obj)

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

mean_effect_for_class(class_index)

Resolve the anchor mean shift for a class (0.0 when absent or no channel).

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.

n_cluster_features

correlation_structure

baseline_correlation

anchor_index

proxy_attenuation

mean_channel

covariance_channel

label

effective_correlation_for_class(class_index)[source]

Resolve the within-block correlation for a class.

The covariance channel value for class_index if present, otherwise the cluster’s baseline_correlation.

Parameters:

class_index (int)

Return type:

float

mean_effect_for_class(class_index)[source]

Resolve the anchor mean shift for a class (0.0 when absent or no channel).

Parameters:

class_index (int)

Return type:

float

model_config = {'extra': 'forbid'}

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