Pipeline OverviewΒΆ

This page summarizes the full telemetry anomaly detection workflow.

  1. Ingestion - Load telemetry from CSV or CCSDS into a long-form TelemetryDataset

  2. Preprocessing - Clean, deduplicate, resample, interpolate gaps, normalize (pipeline())

  3. Feature Extraction - Pivot to wide form, slide windows via windowify(), producing a 3D tensor (n_windows, window_size, n_features)

  4. Detection - Pass the 3D tensor to AnomalyEnsemble.fit() (training) or decision_function() / is_anomaly() (inference). The ensemble combines scores from PCAAnomaly, KMeansAnomaly, and IsolationForestModel (classical) and, in Phase 2, GDN and TranAD (deep). All detectors share the BaseDetector interface; the caller never adapts per model.

  5. Attribution - score_components() returns per-model raw scores. SHAPExplainer (Phase 3) perturbs input channels to produce per-channel attribution weights.

  6. Diagnosis - The LLM reasoning layer (Phase 4) receives SHAP attributions and generates a structured DiagnosticReport with anomaly type, severity, primary channels, explanation, and recommended action.