src.llm_interpreter.analysis.heuristics¶
Rule-based heuristics for AMMM model diagnostics.
This module implements diagnostic rules that identify potential issues based on established statistical thresholds and best practices.
Author: AMMM Team Created: 2025-04-10 Last Modified: 2025-04-10
Module Contents¶
- class src.llm_interpreter.analysis.heuristics.Severity(*args, **kwds)¶
Bases:
enum.EnumSeverity levels for diagnostic findings.
- class src.llm_interpreter.analysis.heuristics.DiagnosticFinding¶
Represents a diagnostic finding from heuristic rules.
- src.llm_interpreter.analysis.heuristics.check_stationarity(summary: src.llm_interpreter.analysis.summarizers.StationaritySummary | None) list[DiagnosticFinding]¶
Check for stationarity issues.
- src.llm_interpreter.analysis.heuristics.check_multicollinearity(summary: src.llm_interpreter.analysis.summarizers.VIFSummary | None) list[DiagnosticFinding]¶
Check for multicollinearity issues.
Excludes variables that naturally have high VIF but are not problematic: - trend: Time trends always have high VIF due to collinearity with time - intercept: Not meaningful for VIF analysis
- src.llm_interpreter.analysis.heuristics.check_model_convergence(summary: src.llm_interpreter.analysis.summarizers.ModelSummary | None) list[DiagnosticFinding]¶
Check for model convergence issues.
- src.llm_interpreter.analysis.heuristics.check_model_diagnostics(summary: src.llm_interpreter.analysis.summarizers.ELPDSummary | None) list[DiagnosticFinding]¶
Check model diagnostic metrics.
- src.llm_interpreter.analysis.heuristics.check_media_performance(summary: src.llm_interpreter.analysis.summarizers.MediaPerformanceSummary | None) list[DiagnosticFinding]¶
Check media channel performance.
- src.llm_interpreter.analysis.heuristics.check_budget_scenarios(summary: src.llm_interpreter.analysis.summarizers.BudgetScenarioSummary | None) list[DiagnosticFinding]¶
Check budget scenario analysis.
- src.llm_interpreter.analysis.heuristics.run_all_heuristics(summary: src.llm_interpreter.analysis.summarizers.ComprehensiveSummary) list[DiagnosticFinding]¶
Run all heuristic checks on the detailed summary.
- Parameters:
summary – ComprehensiveSummary containing all analyzed data
- Returns:
List of all diagnostic findings
- src.llm_interpreter.analysis.heuristics.filter_findings_by_severity(findings: list[DiagnosticFinding], min_severity: Severity = Severity.INFO) list[DiagnosticFinding]¶
Filter findings by minimum severity level.
- Parameters:
findings – List of diagnostic findings
min_severity – Minimum severity level to include
- Returns:
Filtered list of findings
- src.llm_interpreter.analysis.heuristics.group_findings_by_category(findings: list[DiagnosticFinding]) dict[str, list[DiagnosticFinding]]¶
Group findings by category.
- Parameters:
findings – List of diagnostic findings
- Returns:
Dictionary mapping categories to findings