SFlexRCA: Lightweight, Scalable, and Flexible Root Cause Analysis for IIoT Edge Systems
Organizations: Lassonde School of Engineering, York University, Toronto, ON, Canada
Abstract
Industrial Internet of Things (IIoT) systems generate high-dimensional sensor telemetry from interconnected components, where faults can propagate across the system. To address these challenges, we propose SFlexRCA (Scalable and Flexible Root Cause Analysis), a topology-free RCA framework designed for resource-constrained IIoT environments. SFlexRCA transforms multivariate telemetry into compact orthogonal representations and applies shared lightweight linear modeling, avoiding explicit graph construction, message passing, and per-variable or lag-specific parameter growth. We evaluate SFlexRCA on three publicly available IIoT datasets, BATADAL, SWaT, and WADI, spanning different numbers of monitored variables, temporal characteristics, and training-data regimes. SFlexRCA is compared with 10 statistical, causal, and non-causal baselines in terms of RCA accuracy, training efficiency, inference latency, and memory consumption. In addition, inference efficiency and memory consumption are evaluated on Raspberry Pi 3 and Raspberry Pi 5, while energy consumption is additionally measured on Raspberry Pi 5. We further investigate temporalcontext sensitivity, architectural and loss components, and alternative representations. Notably, SFlexRCA maintains strong localization performance on BATADAL despite its limited normal-operation training data, while its compact shared architecture avoids the parameter growth associated with causal and graph-based approaches. Its lightweight shared architecture further enables efficient deployment on resource-constrained IIoT edge devices. The SFlexRCA code is available at https://github.com/theamrzaki/RootCause- Analysis-Correlation-Attentive-Modeling.
Figures & tables
| Method | Telemetry | Architecture | Edge Evaluation | Target |
| Statistical RCA | ||||
| -Diagnosis [ 31 ] | M | Two-sample testing | – | Microservices |
| RCD [ 32 ] | M | Conditional independence | – | Microservices |
| BARO [ 33 ] | M | Robust statistical scoring | – | Microservices |
| Multimodal RCA | ||||
| ART [ 10 ] | L+M+T | Transformer + GRU | – | Distributed systems |
| Method | Complexity | Description |
|---|---|---|
| cMLP | Separate MLP predictor for each target variable. | |
| cLSTM | Separate recurrent predictor for each target variable. | |
| GVAR | Explicitly models pairwise variable relationships across lags. | |
| AERCA | Three GVAR-based networks generate a full matrix at each lag. | |
| CUTS+ | Uses graph-based recurrent message passing with pairwise node interactions. | |
| SFlexRCA | Shared lightweight model; avoids explicit pairwise coefficient matrices. |
| Metric | BATADAL | SWaT | WADI |
|---|---|---|---|
| System Type | Simulated water distribution (C-Town) | Physical water treatment testbed | Physical water distribution testbed |
| Sampling Frequency | 1 hour | 1 second | 1 second |
| Number of Channels | 43 sensor/actuator features | 51 sensor/actuator features | 127 sensor/actuator features |
| Training Data (Normal) | 8,760 samples (365 days) | 410,400–480,800 samples (7 days) | 1,200,000 samples (14 days) |
| Amount of Attacks | 14 attacks total (7 train, 7 test) | 36–41 attack scenarios (4 days) | 15 attack scenarios (2 days) |
| BATADAL (K=16, P=43, training samples=8k) | SWAT (K=8, P=51, training samples=400k) | WADI (K=8, P=127, training samples=1.2M) | |||||||||||||
| Method | Params | AC@1 | AC@5 | AC@10 | auc@10 | Params | AC@1 | AC@5 | AC@10 | auc@10 | Params | AC@1 | AC@5 | AC@10 | auc@10 |
| Statistical Methods | |||||||||||||||
| rcd | 0 | 0.000 0.00 | 0.086 0.00 | 0.070 0.00 | 0.091 0.00 | 0 | 0.000 0.00 | 0.000 0.00 | 0.300 0.00 | 0.100 0.00 | 0 | 0.000 0.00 | 0.000 0.00 | 0.000 0.00 | 0.000 0.00 |
| baro | 0 | 0.286 0.00 | 0.162 0.00 | 0.221 0.00 | 0.200 0.00 | 0 | 0.000 0.00 | 0.200 0.00 | 0.250 0.00 | 0.180 0.00 | 0 | 0.267 0.00 | 0.267 0.00 | 0.356 0.00 | 0.283 0.00 |
| torai | 0 | 0.286 0.00 | 0.178 0.03 | 0.312 0.04 | 0.241 0.03 | 0 | 0.117 0.03 | 0.200 0.00 | 0.350 0.00 | 0.227 0.01 | 0 | 0.267 0.00 | 0.267 0.00 | 0.278 0.00 | 0.269 0.00 |
| Non-Causal Methods | |||||||||||||||
| BATADAL | SWAT | WADI | |||||||||||||
| Method | Params | AC@1 | AC@5 | AC@10 | auc@10 | Params | AC@1 | AC@5 | AC@10 | auc@10 | Params | AC@1 | AC@5 | AC@10 | auc@10 |
| Loss Ablations | |||||||||||||||
| w/o Sparse | 279.4K | 0.381 0.08 | 0.181 0.02 | 0.247 0.04 | 0.238 0.03 | 74.2K | 0.217 0.03 | 0.333 0.03 | 0.400 0.00 | 0.338 0.02 | 84.5K | 0.133 0.00 | 0.278 0.02 | 0.319 0.01 | 0.265 0.01 |
| w/o Smooth | 279.4K | 0.381 0.08 | 0.181 0.02 | 0.247 0.04 | 0.238 0.03 | 74.2K | 0.167 0.03 | 0.383 0.03 | 0.433 0.06 | 0.353 0.01 | 84.5K | 0.133 0.00 | 0.289 0.02 | 0.404 0.03 | 0.294 0.02 |
| w/o KL | 279.4K | 0.476 0.08 | 0.162 0.02 | 0.213 0.01 | 0.234 0.01 | 74.2K | 0.217 0.03 | 0.400 0.05 | 0.433 0.03 | 0.367 0.04 | 84.5K | 0.133 0.00 | 0.271 0.01 | 0.293 0.04 | 0.266 0.02 |
| Architecture Ablations | |||||||||||||||
| BATADAL | SWAT | WADI | ||||||||||
| Method | AC@1 | AC@5 | AC@10 | auc@10 | AC@1 | AC@5 | AC@10 | auc@10 | AC@1 | AC@5 | AC@10 | auc@10 |
| Baselines | ||||||||||||
| none | 0.429 0.00 | 0.143 0.03 | 0.209 0.02 | 0.210 0.02 | 0.217 0.06 | 0.317 0.03 | 0.400 0.00 | 0.308 0.01 | 0.333 0.00 | 0.289 0.02 | 0.367 0.00 | 0.309 0.00 |
| learned | 0.381 0.08 | 0.149 0.03 | 0.177 0.05 | 0.193 0.05 | 0.217 0.03 | 0.367 0.03 | 0.417 0.03 | 0.360 0.02 | 0.333 0.00 | 0.289 0.02 | 0.367 0.00 | 0.308 0.00 |
| Static Projections | ||||||||||||
| legendre | 0.381 0.08 | 0.152 0.04 | 0.178 0.03 | 0.204 0.03 | 0.200 0.00 | 0.333 0.03 | 0.400 0.05 | 0.318 0.01 | 0.333 0.00 | 0.289 0.02 | 0.367 0.00 | 0.307 0.01 |