deepcausalmmm.postprocess.comprehensive_analysis

Comprehensive post-processing analysis for DeepCausalMMM with inverse transformation. Includes all visualizations: coefficients, contributions, DAG, actual vs predicted, channel analysis. Automatically handles burn-in/padding removal from all outputs.

Classes

ComprehensiveAnalyzer(model, media_cols, ...)

Modernized comprehensive analyzer for DeepCausalMMM with config-driven visualizations.

class deepcausalmmm.postprocess.comprehensive_analysis.ComprehensiveAnalyzer(model, media_cols: List[str], control_cols: List[str], output_dir: str = 'mmm_analysis_results', pipeline=None, auto_detect_burnin: bool = True, manual_burnin_weeks: int | None = None, config: Dict | None = None, inference: InferenceManager | None = None)[source]

Modernized comprehensive analyzer for DeepCausalMMM with config-driven visualizations.

__init__(model, media_cols: List[str], control_cols: List[str], output_dir: str = 'mmm_analysis_results', pipeline=None, auto_detect_burnin: bool = True, manual_burnin_weeks: int | None = None, config: Dict | None = None, inference: InferenceManager | None = None)[source]

Initialize the comprehensive analyzer.

Parameters:
  • model – Trained DeepCausalMMM model

  • media_cols – List of media column names

  • control_cols – List of control column names

  • output_dir – Directory to save outputs

  • pipeline – UnifiedDataPipeline instance for modern data processing

  • auto_detect_burnin – Whether to automatically detect burn-in weeks from model

  • manual_burnin_weeks – Manually specify burn-in weeks (overrides auto-detection)

  • config – Configuration dictionary (uses default if None)

  • inference – Modern InferenceManager instance

inverse_transform_target(y_scaled: ndarray) ndarray[source]

Apply inverse transformation to target variable using modern pipeline.

Parameters:

y_scaled – Scaled target values

Returns:

Unscaled target values

inverse_transform_contributions(contributions_scaled: ndarray, y_original: ndarray) ndarray[source]

Apply inverse transformation to contributions using modern pipeline.

Parameters:
  • contributions_scaled – Scaled contributions

  • y_original – Original scale target values

Returns:

Contributions in original scale

analyze_with_unified_pipeline(X_media: ndarray, X_control: ndarray, y_true: ndarray, create_plots: bool = True) Dict[str, Any][source]

Perform comprehensive analysis using the unified pipeline.

Parameters:
  • X_media – Media data (full dataset)

  • X_control – Control data (full dataset)

  • y_true – True target values (full dataset)

  • create_plots – Whether to create visualization plots

Returns:

Dictionary with analysis results

analyze_comprehensive(X_media: ndarray, X_control: ndarray, y_true: ndarray, region_ids: ndarray, weeks: List[int] | None = None) Dict[str, Any][source]

Run comprehensive analysis with all visualizations. Automatically removes burn-in/padding from all outputs.

Parameters:
  • X_media – Media variables [n_regions, n_weeks, n_channels] (may include padding)

  • X_control – Control variables [n_regions, n_weeks, n_controls] (may include padding)

  • y_true – True target values (scaled, may include padding)

  • region_ids – Region identifiers

  • weeks – Week labels (optional)

Returns:

Dictionary containing all analysis results (burn-in removed)