Hello R Community,
I'm excited to announce RegimeChange, an R package designed for econometricians, data scientists, and researchers who need to detect structural breaks and regime shifts in complex, real-world time series.
What does it do?
Drawing from its core philosophical foundations of distinguishing true structural change from inherent stochastic variability, RegimeChange offers a comprehensive toolkit that integrates multiple analytical approaches into a single orchestrator:
- Frequentist & Non-Parametric Methods: Implementations of PELT, Binary Segmentation, WBS, FPOP, and Kernel-based CPD to find globally optimal segmentations in offline contexts.
- Bayesian & Online Detection: Features Bayesian Online Changepoint Detection (BOCPD) and Shiryaev-Roberts for real-time surveillance, allowing you to maintain posterior distributions over run lengths and sequentially calculate the probability of a regime shift.
- Deep Learning Integrations: Optional neural network architectures, including Autoencoders, Temporal Convolutional Networks (TCN), and Transformers for detecting changes in highly complex or high-dimensional sequences.
Why is it useful?
Detecting regime changes often fails in applied econometrics and signal processing due to noise, heavy tails, or autocorrelation. RegimeChange is built with a focus on statistical rigor and robustness in these challenging scenarios:
- Robust Performance: Built-in robust estimation (Huber M-estimation, Qn scale estimators) and AR correction specifically designed to handle low signal-to-noise ratios, subtle variance changes, and heavy-tailed distributions.
- Dual Operational Modes: Fully supports both Offline Mode (retrospective historical analysis where the whole dataset is available) and Online Mode (real-time streaming surveillance balancing detection speed against false alarms).
- High-Performance Architecture: Combines a Tidyverse-compatible R API with an optional high-performance Julia backend to heavily accelerate computationally intensive algorithms.
Getting Started:
- Browse the Code & Documentation: GitHub - IsadoreNabi/RegimeChange
The package provides detailed workflows for everything from identifying market crashes in finance to monitoring macroeconomic cycles. I hope RegimeChange becomes a valuable asset for untangling signal from noise and locating true rupture points in your data.
I welcome any feedback, bug reports, or contributions on GitHub. What are your biggest challenges with detecting structural breaks in noisy environments?
Best,
José Mauricio Gómez Julián