Jump to content

Concept drift

From Wikipedia, the free encyclopedia
(Redirected from Drift detection)

In predictive analytics, data science, machine learning and related fields, concept drift or drift is an evolution of data that invalidates the data model. It happens when the statistical properties of the target variable, which the model is trying to predict, change over time in unforeseen ways. This causes problems because the predictions become less accurate as time passes. Drift detection and drift adaptation are of paramount importance in the fields that involve dynamically changing data and data models.

Predictive model decay

[edit]

In machine learning and predictive analytics this drift phenomenon is called concept drift. In machine learning, a common element of a data model are the statistical properties, such as probability distribution of the actual data. If they deviate from the statistical properties of the training data set, then the learned predictions may become invalid, if the drift is not addressed.[1][2][3][4]

Data configuration decay

[edit]

Another important area is software engineering, where three types of data drift affecting data fidelity may be recognized. Changes in the software environment ("infrastructure drift") may invalidate software infrastructure configuration. "Structural drift" happens when the data schema changes, which may invalidate databases. "Semantic drift" is changes in the meaning of data while the structure does not change. In many cases this may happen in complicated applications when many independent developers introduce changes without proper awareness of the effects of their changes in other areas of the software system.[5][6]

For many application systems, the nature of data on which they operate are subject to changes for various reasons, e.g., due to changes in business model, system updates, or switching the platform on which the system operates.[6]

In the case of cloud computing, infrastructure drift that may affect the applications running on cloud may be caused by the updates of cloud software.[5]

There are several types of detrimental effects of data drift on data fidelity. Data corrosion is passing the drifted data into the system undetected. Data loss happens when valid data are ignored due to non-conformance with the applied schema. Squandering is the phenomenon when new data fields are introduced upstream the data processing pipeline, but somewhere downstream there data fields are absent.[6]

Inconsistent data

[edit]

"Data drift" may refer to the phenomenon when database records fail to match the real-world data due to the changes in the latter over time. This is a common problem with databases involving people, such as customers, employees, citizens, residents, etc. Human data drift may be caused by unrecorded changes in personal data, such as place of residence or name, as well as due to errors during data input.[7]

"Data drift" may also refer to inconsistency of data elements between several replicas of a database. The reasons can be difficult to identify. A simple drift detection is to run checksum regularly. However the remedy may be not so easy.[8]

Examples

[edit]

The behavior of the customers in an online shop may change over time. For example, if weekly merchandise sales are to be predicted, and a predictive model has been developed that works satisfactorily. The model may use inputs such as the amount of money spent on advertising, promotions being run, and other metrics that may affect sales. The model is likely to become less and less accurate over time – this is concept drift. In the merchandise sales application, one reason for concept drift may be seasonality, which means that shopping behavior changes seasonally. Perhaps there will be higher sales in the winter holiday season than during the summer, for example. Concept drift generally occurs when the covariates that comprise the data set begin to explain the variation of your target set less accurately — there may be some confounding variables that have emerged, and that one simply cannot account for, which renders the model accuracy to progressively decrease with time. Generally, it is advised to perform health checks as part of the post-production analysis and to re-train the model with new assumptions upon signs of concept drift.

Possible remedies

[edit]

To prevent deterioration in prediction accuracy because of concept drift, reactive and tracking solutions can be adopted. Reactive solutions retrain the model in reaction to a triggering mechanism, such as a change-detection test,[9][10] to explicitly detect concept drift as a change in the statistics of the data-generating process. When concept drift is detected, the current model is no longer up-to-date and must be replaced by a new one to restore prediction accuracy.[11][12] A shortcoming of reactive approaches is that performance may decay until the change is detected. Tracking solutions seek to track the changes in the concept by continually updating the model. Methods for achieving this include online machine learning, frequent retraining on the most recently observed samples,[13] and maintaining an ensemble of classifiers where one new classifier is trained on the most recent batch of examples and replaces the oldest classifier in the ensemble.[14]

Contextual information, when available, can be used to better explain the causes of the concept drift: for instance, in the sales prediction application, concept drift might be compensated by adding information about the season to the model. By providing information about the time of the year, the rate of deterioration of your model is likely to decrease, but concept drift is unlikely to be eliminated altogether. This is because actual shopping behavior does not follow any static, finite model. New factors may arise at any time that influence shopping behavior, the influence of the known factors or their interactions may change.

Concept drift cannot be avoided for complex phenomena that are not governed by fixed laws of nature. All processes that arise from human activity, such as socioeconomic processes, and biological processes are likely to experience concept drift. Therefore, periodic retraining, also known as refreshing, of any model is necessary.

See also

[edit]

Further reading

[edit]

Many papers have been published describing algorithms for concept drift detection. Only reviews, surveys and overviews are here:

Reviews

[edit]
[edit]

Software

[edit]
  • Frouros: An open-source Python library for drift detection in machine learning systems.[15]
  • NannyML: An open-source Python library for detecting univariate and multivariate distribution drift and estimating machine learning model performance without ground truth labels.
  • RapidMiner: Formerly Yet Another Learning Environment (YALE): free open-source software for knowledge discovery, data mining, and machine learning also featuring data stream mining, learning time-varying concepts, and tracking drifting concept. It is used in combination with its data stream mining plugin (formerly concept drift plugin).
  • EDDM (Early Drift Detection Method): free open-source implementation of drift detection methods in Weka.
  • MOA (Massive Online Analysis): free open-source software specific for mining data streams with concept drift. It contains a prequential evaluation method, the EDDM concept drift methods, a reader of ARFF real datasets, and artificial stream generators as SEA concepts, STAGGER, rotating hyperplane, random tree, and random radius based functions. MOA supports bi-directional interaction with Weka.

Datasets

[edit]

Real

[edit]
  • USP Data Stream Repository, 27 real-world stream datasets with concept drift compiled by Souza et al. (2020). Access
  • Airline, approximately 116 million flight arrival and departure records (cleaned and sorted) compiled by E. Ikonomovska. Reference: Data Expo 2009 Competition [1]. Access
  • Chess.com (online games) and Luxembourg (social survey) datasets compiled by I. Zliobaite. Access
  • ECUE spam 2 datasets each consisting of more than 10,000 emails collected over a period of approximately 2 years by an individual. Access from S.J.Delany webpage
  • Elec2, electricity demand, 2 classes, 45,312 instances. Reference: M. Harries, Splice-2 comparative evaluation: Electricity pricing, Technical report, The University of South Wales, 1999. Access from J.Gama webpage. Comment on applicability.
  • PAKDD'09 competition data represents the credit evaluation task. It is collected over a five-year period. Unfortunately, the true labels are released only for the first part of the data. Access
  • Sensor stream and Power supply stream datasets are available from X. Zhu's Stream Data Mining Repository. Access
  • SMEAR is a benchmark data stream with a lot of missing values. Environment observation data over 7 years. Predict cloudiness. Access
  • Text mining, a collection of text mining datasets with concept drift, maintained by I. Katakis. Access
  • Gas Sensor Array Drift Dataset, a collection of 13,910 measurements from 16 chemical sensors utilized for drift compensation in a discrimination task of 6 gases at various levels of concentrations. Access

Other

[edit]
  • KDD'99 competition data contains simulated intrusions in a military network environment. It is often used as a benchmark to evaluate handling concept drift. Access

Synthetic

[edit]

Data generation frameworks

[edit]

Projects

[edit]
  • INFER: Computational Intelligence Platform for Evolving and Robust Predictive Systems (2010–2014), Bournemouth University (UK), Evonik Industries (Germany), Research and Engineering Centre (Poland)
  • HaCDAIS: Handling Concept Drift in Adaptive Information Systems (2008–2012), Eindhoven University of Technology (the Netherlands)
  • KDUS: Knowledge Discovery from Ubiquitous Streams, INESC Porto and Laboratory of Artificial Intelligence and Decision Support (Portugal)
  • ADEPT: Adaptive Dynamic Ensemble Prediction Techniques, University of Manchester (UK), University of Bristol (UK)
  • ALADDIN: autonomous learning agents for decentralised data and information networks (2005–2010)
  • GAENARI: C++ incremental decision tree algorithm. it minimize concept drifting damage. (2022)

Benchmarks

[edit]
  • NAB: The Numenta Anomaly Benchmark, benchmark for evaluating algorithms for anomaly detection in streaming, real-time applications. (2014–2018)

Meetings

[edit]
  • 2014
    • [] Special Session on "Concept Drift, Domain Adaptation & Learning in Dynamic Environments" @IEEE IJCNN 2014
  • 2013
    • RealStream Real-World Challenges for Data Stream Mining Workshop-Discussion at the ECML PKDD 2013, Prague, Czech Republic.
    • LEAPS 2013 The 1st International Workshop on Learning stratEgies and dAta Processing in nonStationary environments
  • 2011
    • LEE 2011 Special Session on Learning in evolving environments and its application on real-world problems at ICMLA'11
    • HaCDAIS 2011 The 2nd International Workshop on Handling Concept Drift in Adaptive Information Systems
    • ICAIS 2011 Track on Incremental Learning
    • IJCNN 2011 Special Session on Concept Drift and Learning Dynamic Environments
    • CIDUE 2011 Symposium on Computational Intelligence in Dynamic and Uncertain Environments
  • 2010
    • HaCDAIS 2010 International Workshop on Handling Concept Drift in Adaptive Information Systems: Importance, Challenges and Solutions
    • ICMLA10 Special Session on Dynamic learning in non-stationary environments
    • SAC 2010 Data Streams Track at ACM Symposium on Applied Computing
    • SensorKDD 2010 International Workshop on Knowledge Discovery from Sensor Data
    • StreamKDD 2010 Novel Data Stream Pattern Mining Techniques
    • Concept Drift and Learning in Nonstationary Environments at IEEE World Congress on Computational Intelligence
    • MLMDS’2010 Special Session on Machine Learning Methods for Data Streams at the 10th International Conference on Intelligent Design and Applications, ISDA’10

References

[edit]
  1. ^ Koggalahewa, Darshika; Xu, Yue; Foo, Ernest (2021). "A Drift Aware Hierarchical Test Based Approach for Combating Social Spammers in Online Social Networks". Data Mining. Communications in Computer and Information Science. Vol. 1504. pp. 47–61. doi:10.1007/978-981-16-8531-6_4. ISBN 978-981-16-8530-9. S2CID 245009299.
  2. ^ Widmer, Gerhard; Kubat, Miroslav (1996). "Learning in the presence of concept drift and hidden contexts". Machine Learning. 23: 69–101. doi:10.1007/BF00116900. S2CID 206767784.
  3. ^ Xia, Yuan; Zhao, Yunlong (2020). "A Drift Detection Method Based on Diversity Measure and McDiarmid's Inequality in Data Streams". Green, Pervasive, and Cloud Computing. Lecture Notes in Computer Science. Vol. 12398. pp. 115–122. doi:10.1007/978-3-030-64243-3_9. ISBN 978-3-030-64242-6. S2CID 227275380.
  4. ^ Lu, Jie; Liu, Anjin; Dong, Fan; Gu, Feng; Gama, Joao; Zhang, Guangquan (2018). "Learning under Concept Drift: A Review". IEEE Transactions on Knowledge and Data Engineering: 1. arXiv:2004.05785. doi:10.1109/TKDE.2018.2876857. S2CID 69449458.
  5. ^ a b "Driftctl and Terraform, they're two of a kind!"
  6. ^ a b c Girish Pancha, Big Data's Hidden Scourge: Data Drift, CMSWire, April 8, 2016
  7. ^ Matthew Magne, "Data Drift Happens: 7 Pesky Problems with People Data", InformationWeek, July 19, 2017
  8. ^ Daniel Nichter, Efficient MySQL Performance, 2021, ISBN 1098105060, p. 299
  9. ^ Basseville, Michele (1993). Detection of abrupt changes: theory and application. Prentice Hall. ISBN 0-13-126780-9. OCLC 876004326.
  10. ^ Alippi, C.; Roveri, M. (2007). "Adaptive Classifiers in Stationary Conditions". 2007 International Joint Conference on Neural Networks. IEEE. pp. 1008–13. doi:10.1109/ijcnn.2007.4371096. ISBN 978-1-4244-1380-5. S2CID 16255206.
  11. ^ Gama, J.; Medas, P.; Castillo, G.; Rodrigues, P. (2004). "Learning with Drift Detection". Advances in Artificial Intelligence – SBIA 2004. Springer. pp. 286–295. doi:10.1007/978-3-540-28645-5_29. ISBN 978-3-540-28645-5. S2CID 2606652.
  12. ^ Alippi, C.; Boracchi, G.; Roveri, M. (2011). "A just-in-time adaptive classification system based on the intersection of confidence intervals rule". Neural Networks. 24 (8): 791–800. doi:10.1016/j.neunet.2011.05.012. PMID 21723706.
  13. ^ Widmer, G.; Kubat, M. (1996). "Learning in the presence of concept drift and hidden contexts". Machine Learning. 23 (1): 69–101. doi:10.1007/bf00116900. S2CID 206767784.
  14. ^ Elwell, R.; Polikar, R. (2011). "Incremental Learning of Concept Drift in Nonstationary Environments". IEEE Transactions on Neural Networks. 22 (10): 1517–31. doi:10.1109/tnn.2011.2160459. PMID 21824845. S2CID 9136731.
  15. ^ Céspedes Sisniega, Jaime; López García, Álvaro (2024). "Frouros: An open-source Python library for drift detection in machine learning systems" (PDF). SoftwareX. 26. Elsevier: 101733. doi:10.1016/j.softx.2024.101733. hdl:10261/358367.