STReam Insight &
Drift Explanation

A comprehensive Python toolkit for concept drift detection and explanation. STRIDE provides a simultaneous, real-time analysis of streaming data across statistical, model performance, and explainability layers to reveal not just when drift occurs, but how and where it affects your models.

STRIDE Logo

Why Choose STRIDE?

Designed to assist both scientific researchers evaluating new drift dynamics and data analysts monitoring production ML systems. By bringing three analytical levels together in one dashboard, users are empowered to perform complex, on-the-fly forensic analysis of their data streams.

Unified Diagnostics

Instead of isolated detectors, STRIDE integrates Data, Model, and Explanation views into a cohesive, tab-based workflow. Users can seamlessly transition between statistical metrics and xAI boundaries for an exact point in time.

Beyond Detection

Standard drift detectors only indicate when a model fails. STRIDE bridges this critical gap, utilizing localized decision boundary mapping and prototype-based clustering to pinpoint exactly which specific regions of the feature space transformed.

Interactive Exploration

By shifting from rigid pipeline alerts to a reactive dashboard, analysts can dynamically switch datasets, tweak base models, and compute on-demand explanations, deeply interacting with the changing phenomena.

Interactive Demo

Follow along as we track a generated Hyperplane drift scenario through the three analytical layers.

The Three-Layer Architecture

STRIDE orchestrates a diverse set of analytical methods across three functional layers.

Architecture Pipeline

1. The Data Layer (Statistical & Clustering)

Monitors the input distribution independent of the model. Employs descriptive statistics, unsupervised tests (KS, AD), probability divergences (Wasserstein), and X-means clustering with the Hungarian algorithm.

2. The Model Layer (Performance Triggers)

Tracks predictive performance using standard drift detectors, including DDM and its extensions (available via the River library backend).

3. The Explanation Layer (xAI)

Bridges detection and understanding using Supervised Decision Boundary Maps, HDBSCAN for prototype analysis, and dual feature importance analysis (predictive vs. drift indicator value).

Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

  • Python 3.10-3.12
  • pip

Installation

1. Clone the repository

bash
git clone https://github.com/KubaCzech/STRIDE.git
cd STRIDE

2. Create a virtual environment

bash
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate

3. Install dependencies

bash
pip install -r requirements.txt

Running the Dashboard

The primary interface for this project is the Streamlit dashboard.

bash
streamlit run dashboard/app.py

Once running, navigate to the URL provided in the terminal (usually http://localhost:8501).