five_safes_tes_analytics.aggregation package¶
Submodules¶
five_safes_tes_analytics.aggregation.data_processor module¶
- class five_safes_tes_analytics.aggregation.data_processor.DataProcessor[source]¶
Bases:
objectHandles data processing, aggregation, and file operations for federated analysis.
- aggregate_data(inputs: List[str] | Dict[str, List[float]] | List[Dict[str, Any]], analysis_type: str) ndarray | List[ndarray][source]¶
Aggregate data based on analysis type.
- Parameters:
inputs – Either List[str] (CSV strings), Dict[str, List[float]] (pre-aggregated JSON dict), or List[Dict[str, Any]] (list of JSON results from multiple TREs)
analysis_type (str) – Type of analysis to perform
- Returns:
Aggregated data
- Return type:
Union[np.ndarray, List[np.ndarray]]
- convert_csv_to_dict(csv_inputs: List[str], analysis_config: Dict[str, Any]) Dict[str, Any][source]¶
Convert CSV strings to dict format matching the analysis return_format.
- Parameters:
csv_inputs – List of CSV strings from multiple TREs
analysis_config – Analysis configuration with return_format
- Returns:
Dict in the format expected by the analysis (dict of lists for single-row, or dict with row_data_key for row-based analyses)
- five_safes_tes_analytics.aggregation.data_processor.combine_contingency_tables(contingency_tables: List[str] | Dict[str, Any]) Dict[str, Any][source]¶
Combine multiple contingency tables.
- Parameters:
contingency_tables (List[str]) – List of CSV strings containing contingency tables
- Returns:
Combined contingency table as dictionary
- Return type:
Dict[str, Any]
- five_safes_tes_analytics.aggregation.data_processor.dict_to_array(contingency_dict: Dict[str, Any]) ndarray[source]¶
Convert contingency table dictionary to numpy array.
- Parameters:
contingency_dict (Dict[str, Any]) – Contingency table as dictionary
- Returns:
Contingency table as 2D array
- Return type:
np.ndarray
five_safes_tes_analytics.aggregation.statistical_analyzer module¶
These classes are for the aggregation of data, and the analysis of data, i.e., to be run on the aggregator, NOT the client.
- class five_safes_tes_analytics.aggregation.statistical_analyzer.AnalysisBase[source]¶
Bases:
ABCAbstract base class for statistical analysis.
- abstractmethod aggregate_data(input_data: ndarray | List[ndarray] | Dict[str, List[float]]) ndarray | Dict[str, List[float]][source]¶
Aggregate data for analysis.
- abstractmethod analyze(aggregated_data: ndarray | Dict[str, List[float]]) float | Dict[str, Any][source]¶
Analyze aggregated data.
- abstract property return_format: dict¶
Return format specification.
- class five_safes_tes_analytics.aggregation.statistical_analyzer.ContingencyTableAnalysis[source]¶
Bases:
AnalysisBaseAnalysis class for chi-squared test using scipy.
- aggregate_data(input_data: ndarray | List[ndarray] | Dict[str, List[float]]) ndarray | Dict[str, List[float]][source]¶
Aggregate contingency tables.
- property return_format: dict¶
Return format specification.
- class five_safes_tes_analytics.aggregation.statistical_analyzer.MeanAnalysis[source]¶
Bases:
AnalysisBaseAnalysis class for calculating mean values.
- aggregate_data(input_data: ndarray | List[ndarray] | Dict[str, List[float]]) ndarray | Dict[str, List[float]][source]¶
Aggregate data for mean calculation.
- property return_format: dict¶
Return format specification.
- class five_safes_tes_analytics.aggregation.statistical_analyzer.MetadataAnalysis[source]¶
Bases:
AnalysisBaseAnalysis class for calculating metadata values.
- aggregate_data(input_data: ndarray | List[ndarray] | Dict[str, List[float]]) ndarray | Dict[str, List[float]][source]¶
Aggregate data for mean calculation.
- property return_format: dict¶
Return format specification.
- class five_safes_tes_analytics.aggregation.statistical_analyzer.PMCCAnalysis[source]¶
Bases:
AnalysisBaseAnalysis class for calculating Pearson’s correlation coefficient.
- aggregate_data(input_data: ndarray | List[ndarray] | Dict[str, List[float]]) ndarray | Dict[str, List[float]][source]¶
Aggregate data for PMCC calculation.
- property return_format: dict¶
Return format specification.
- class five_safes_tes_analytics.aggregation.statistical_analyzer.PercentileSketchAnalysis[source]¶
Bases:
AnalysisBase- aggregate_data(input_data: ndarray | List[ndarray] | Dict[str, List[float]]) ndarray | Dict[str, List[float]][source]¶
Aggregate percentile sketches.
- property return_format: dict¶
Return format specification.
- class five_safes_tes_analytics.aggregation.statistical_analyzer.StatisticalAnalyzer[source]¶
Bases:
objectHandles statistical calculations and analysis for federated data. Uses individual analysis classes that inherit from AnalysisBase.
- analyze_data(input_data: ndarray | List[ndarray] | Dict[str, List[float]], analysis_type: str) float | Dict[str, Any][source]¶
Analyze data using the specified analysis type.
- Parameters:
input_data – Input data (numpy array, list of arrays, or dict of lists)
analysis_type (str) – Type of analysis to perform
- Returns:
Analysis result
- Return type:
Union[float, Dict[str, Any]]
- Raises:
ValueError – If analysis type is not supported
- class five_safes_tes_analytics.aggregation.statistical_analyzer.VarianceAnalysis[source]¶
Bases:
AnalysisBaseAnalysis class for calculating variance.
- aggregate_data(input_data: ndarray | List[ndarray] | Dict[str, List[float]]) ndarray | Dict[str, List[float]][source]¶
Aggregate data for variance calculation.
- property return_format: dict¶
Return format specification.