Real-Time Anomaly Detection Example

This tutorial shows a minimal example of processing streaming telemetry data in real time.

Simulated Streaming Data

from telemetry_anomdet.preprocessing import preprocessing
from telemetry_anomdet.feature_extraction import features
from telemetry_anomdet.models.unsupervised import IsolationForestModel

# Simulate a small telemetry data stream
stream = [
    {"sensor1": 0.5, "sensor2": 1.2},
    {"sensor1": 0.6, "sensor2": 1.1},
    {"sensor1": 5.0, "sensor2": -2.0},  # simulated anomaly
]

# Initialize preprocessing and model
model = IsolationForestModel(config={"n_estimators": 50, "contamination": 0.1})

# Convert streaming data into a small batch
import numpy as np

X = np.array([[d["sensor1"], d["sensor2"]] for d in stream])

# Fit model (in real use, you'd train it on baseline / normal data first)
model.fit(X)

# Predict anomaly scores
scores = model.predict(X)

for data_point, score in zip(stream, scores):
    print(f"Input: {data_point}, Anomaly Score: {score:.4f}")