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