geostep.designer.SimpleRandomizationDesigner

class geostep.designer.SimpleRandomizationDesigner(num_groups: int = 2, seed: int = 42)[source]

Methods

__init__([num_groups, seed])

Initialize designer with configuration.

design(df, geo_col)

Assigns geographic units to experimental groups using simple randomization.

enable_monitoring([enabled])

Enable or disable performance monitoring.

get_metrics()

Get performance and execution metrics.

monitor_operation(operation_name[, ...])

Context manager for monitoring operations.

post_process_design(design_df)

Post-process design results.

prepare_data([df, geo_col])

Prepare data for simple randomization.

set_metrics_collector(collector)

Set the metrics collector for this instance.

validate_inputs([df, geo_col])

Validate inputs for simple randomization design.

Attributes

__init__(num_groups: int = 2, seed: int = 42)[source]

Initialize designer with configuration.

validate_inputs(df: DataFrame = None, geo_col: str = None, **kwargs) None[source]

Validate inputs for simple randomization design.

Parameters:
  • df (pd.DataFrame) – DataFrame containing the geographic units to randomize.

  • geo_col (str) – The name of the column containing the unique geographic identifiers.

Raises:
  • ValidationError – If input validation fails.

  • DesignError – If num_groups is not 2.

prepare_data(df: DataFrame = None, geo_col: str = None, **kwargs) None[source]

Prepare data for simple randomization.

Parameters:
  • df (pd.DataFrame) – DataFrame containing the geographic units to randomize.

  • geo_col (str) – The name of the column containing the unique geographic identifiers.

design(df: DataFrame, geo_col: str) DataFrame[source]

Assigns geographic units to experimental groups using simple randomization.

Parameters:
  • df (pd.DataFrame) – DataFrame containing the geographic units to randomize.

  • geo_col (str) – The name of the column containing the unique geographic identifiers.

Returns:

A DataFrame with a new ‘assignment’ column.

Return type:

pd.DataFrame

Raises:

ValidationError – If input validation fails.