src.driver.exceptions¶
Custom exception classes for the AMMM driver module.
This module defines domain-specific exceptions for better error handling and more informative error messages throughout the driver workflow.
Module Contents¶
- exception src.driver.exceptions.AMMBaseException(message: str, details: Dict[str, Any] | None = None, suggestions: List[str] | None = None)¶
Bases:
ExceptionBase exception class for all AMMM-specific exceptions.
- exception src.driver.exceptions.ConfigurationError(message: str, details: Dict[str, Any] | None = None, suggestions: List[str] | None = None)¶
Bases:
AMMBaseExceptionRaised when there are issues with the configuration file or settings.
This includes: - Invalid configuration format - Missing required configuration fields - Invalid parameter values - Incompatible configuration combinations
- exception src.driver.exceptions.DataValidationError(message: str, details: Dict[str, Any] | None = None, suggestions: List[str] | None = None)¶
Bases:
AMMBaseExceptionRaised when input data fails validation checks.
This includes: - Missing required columns - Invalid data types - Data quality issues (NaN, infinite values) - Insufficient data for modeling
- exception src.driver.exceptions.FileNotFoundError(filepath: str, file_type: str = 'file')¶
Bases:
AMMBaseExceptionRaised when required files are missing or inaccessible.
This includes: - Missing configuration file - Missing input data file - Missing holidays file - Unreadable files due to permissions
- exception src.driver.exceptions.InsufficientDataError(required: int, actual: int, context: str = 'observations')¶
Bases:
DataValidationErrorRaised when there’s not enough data for model fitting.
This includes: - Too few observations - Not enough data points after train/test split - Insufficient variation in features
- exception src.driver.exceptions.ModelFittingError(message: str, details: Dict[str, Any] | None = None, suggestions: List[str] | None = None)¶
Bases:
AMMBaseExceptionRaised when model fitting fails.
This includes: - Convergence failures - Numerical issues during fitting - Memory errors - Invalid model configuration
- exception src.driver.exceptions.ModelNotFittedError(operation: str)¶
Bases:
AMMBaseExceptionRaised when operations requiring a fitted model are called before fitting.
This includes: - Attempting predictions before fitting - Trying to visualize results before fitting - Accessing model parameters before fitting
- exception src.driver.exceptions.DataQualityWarning¶
Bases:
UserWarningWarning for data quality issues that don’t prevent execution but may affect results.
This includes: - High correlation between features - Low variance in some features - Potential outliers detected - Missing values that were imputed
- exception src.driver.exceptions.ColumnMismatchError(expected_columns: List[str], actual_columns: List[str], missing_columns: List[str] | None = None)¶
Bases:
DataValidationErrorRaised when expected columns are missing or there’s a mismatch in column structure.
This includes: - Missing media columns specified in config - Missing control columns - Column name mismatches between config and data
- exception src.driver.exceptions.DateContinuityError(issue_type: str, problem_dates: List[str] | None = None)¶
Bases:
DataValidationErrorRaised when there are gaps or issues in the date sequence.
This includes: - Missing dates in time series - Duplicate dates - Non-sequential dates - Invalid date formats
- exception src.driver.exceptions.TensorShapeError(expected_shape: tuple | None = None, actual_shape: tuple | None = None)¶
Bases:
ModelFittingErrorRaised when there’s a tensor shape mismatch, often due to configuration changes.
This is a common issue when the PyMC session isn’t properly cleared between runs with different configurations.