CaDrift: A Time-dependent Causal Generator of Drifting Data Streams
Organizations: LIVIA, École de Technologie Supérieure (ÉTS), Université du Québec, Montreal, QC, Canada · Graduate Program in Informatics (PPGIa), Pontifícia Universidade Católica do Paraná (PUCPR), Curitiba, PR, Brazil
Abstract
This work presents Causal Drift Generator (CaDrift), a time-dependent synthetic data generator framework based on Structural Causal Models (SCMs). The framework produces a virtually infinite combination of data streams with controlled shift events and time-dependent data, making it a tool to evaluate methods under evolving data. CaDrift synthesizes various distributional and covariate shifts by drifting mapping functions of the SCM, which change underlying cause-and-effect relationships between features and the target. In addition, CaDrift models occasional perturbations by leveraging interventions in causal modeling. Experimental results show that, after distributional shift events, the accuracy of classifiers tends to drop, followed by a gradual retrieval, confirming the generator's effectiveness in simulating shifts. The framework has been made available on GitHub.
Figures & tables
| Method | Causal | Time-dependent | Generates drift | No source |
|---|---|---|---|---|
| STAGGER ( Schlimmer & Granger, 1986 ) | X | X | ||
| SEA ( Street & Kim, 2001 ) | X | X | ||
| Sine ( Gama et al., 2004 ) | X | X | ||
| RandomRBF ( Bifet et al., 2009b ) | X | X | ||
| TabPFN ( Hollmann et al., 2025 ) | X | X | ||
| Drift-resilient TabPFN ( Helli et al., 2024 ) | X | X | X |
| Dataset | IncA-DES | TabPFN | ARF | LevBag | OAUE | HT | LAST |
|---|---|---|---|---|---|---|---|
| 1 | 86.69 | 68.83 | 87.78 | 78.08 | 62.38 | 59.08 | 86.17 |
| 2 | 70.73 | 67.18 | 73.82 | 72.94 | 45.33 | 53.00 | 67.67 |
| 3 | 87.33 | 75.44 | 84.50 | 82.23 | 75.04 | 76.92 | 78.21 |
| 4 | 67.49 | 86.00 | 66.99 | 65.06 | 67.23 | 45.51 | 66.43 |
| 5 | 91.61 | 96.85 | 94.91 | 94.47 | 88.99 | 88.08 | 91.17 |
| 6 | 73.80 | 80.26 | 76.75 | 75.17 | 72.36 | 66.23 | 69.58 |
| iid | EWMA | AR | EWMA+AR | |||||
|---|---|---|---|---|---|---|---|---|
| p-value | Reject | p-value | Reject | p-value | Reject | p-value | Reject | |
| x1 | 0.194 | N | Y | Y | Y | |||
| x2 | 0.444 | N | Y | Y | Y | |||
| x3 | 0.716 | N | Y | Y | Y | |||
| x4 | 0.412 | N | Y | Y | Y | |||
| x5 | 0.386 | N | 0.612 | N | Y | Y | ||
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| Mapper | Hyperparameters |
|---|---|
| Learned MLP | , , , , , |
| Random MLP | , |
| Decision Tree | , |
| Regression w/ SGD | , , |
| Dataset | IncA-DES | TabPFN | ARF | LevBag | OAUE | HT | LAST |
| 1 | 77.50 (9.19) | 43.71(25.12) | 75.54(12.24) | 64.88(13.20) | 27.63(34.75) | 55.67(3.41) | 74.25(11.92) |
| 2 | 61.25(9.48) | 52.33(14.85) | 61.29 (12.53) | 58.00(14.94) | 21.75(23.58) | 49.17(3.83) | 54.79(12.88) |
| 3 | 79.08 (8.25) | 74.29(1.15) | 77.29(7.21) | 76.17(6.06) | 75.20(-0.16) | 75.96(0.96) | 75.96(2.25) |
| 4 | 61.75 (5.74) | 29.98(56.02) | 57.23(9.06) | 59.05(8.01) | 56.45(10.78) | 42.70(2.81) | 63.86(2.57) |
| 5 | 90.04(1.57) | 72.37(24.48) | 92.63 (2.28) | 91.11(3.36) | 81.61(7.38) | 83.49(4.59) | 87.36(3.81) |
| 6 | 71.11(2.69) | 76.51 (3.75) | 72.94(3.81) | 71.19(3.98) | 67.18(5.18) | 64.33(1.90) | 67.10(2.48) |
| RandomRBF | SEAConcepts | Sine | ||||
|---|---|---|---|---|---|---|
| p-value | Reject | p-value | Reject | p-value | Reject | |
| x1 | 0.011 | Y | 0.299 | N | 0.387 | N |
| x2 | 0.012 | Y | 0.626 | N | 0.324 | N |
| x3 | 0.192 | N | 0.337 | N | – | – |
| x4 | 0.612 | N | – | – | – | – |
| y | 0.723 | N | 0.083 | N | 0.547 | N |
| Electricity | NOAA | |||
|---|---|---|---|---|
| p-value | Reject | p-value | Reject | |
| x1 | Y | Y | ||
| x2 | Y | Y | ||
| x3 | Y | Y | ||
| x4 | Y | Y | ||
| x5 | Y | Y | ||
| Node | Mapper | Target Function |
|---|---|---|
| Dataset 1 | ||
| Normal Distribution | – | |
| Uniform Distribution | – | |
| MLP | Sine | |
| Random MLP | – | |
| Linear Reg. | Checkerboard | |
| Dataset | # dim. | # classes | # concepts | % min. class | # samples | % Missing | % Interventions |
|---|---|---|---|---|---|---|---|
| 1 | 5 | 4 | 5 | 16.48% | 2,500 | 0 | 0 |
| 2 | 5 | 5 | 5 | 8.76% | 2,500 | 0 | 0 |
| 3 | 5 | 3 | 5 | 10.4% | 2,500 | 0 | 0 |
| 4 | 10 | 10 | 10 | 1.98% | 10,000 | 0 | 10% |
| 5 | 25 | 2 | 10 | 33.53% | 10,000 | 10% | 10% |
| 6 | 100 | 3 | 20 | 13.46% | 10,000 | 10% | 10% |
| Shift | Type | Description | |
| Dataset 1 | |||
| 1 | Abrupt Covariate Shift | 1 | Mean of Normal distribution in changed. |
| 2 | Abrupt Distributional Shift | 1 | Position of centroids changed; Target function of node changed to a Sine Function. |
| 3 | Abrupt Severe Shift | 1 | The outcome between two classes was swapped. |
| 4 | Abrupt Distributional Shift | 1 | Position of centroids changed; Target function of node changed to a Step Function. |
| Dataset 2 | |||
| Method | Source | Category |
|---|---|---|
| HT | Domingos & Hulten (2000) | Online Learner |
| LAST | Assis et al. (2025) | Online Learner |
| LevBag | Bifet et al. (2010b) | Ensemble |
| OAUE | Brzezinski & Stefanowski (2014) | Ensemble |
| ARF | Gomes et al. (2017) | Ensemble |
| IncA-DES | Barboza et al. (2025) | Dynamic Ensemble Selection |
| Method | Hyperparameters |
|---|---|
| HT | |
| LAST | |
| LevBag | , |
| OAUE | , |
| ARF | , |
| IncA-DES | , |
Synthetic Data Generation
Synthetic data generation creates artificial examples, simulations, and datasets to train, test, or protect machine-learning systems.
See all 623 papers