MyNixOS website logo
Description

Concept Drift Detection Methods for Stream Data.

A system designed for detecting concept drift in streaming datasets. It offers a comprehensive suite of statistical methods to detect concept drift, including methods for monitoring changes in data distributions over time. The package supports several tests, such as Drift Detection Method (DDM), Early Drift Detection Method (EDDM), Hoeffding Drift Detection Methods (HDDM_A, HDDM_W), Kolmogorov-Smirnov test-based Windowing (KSWIN), Adaptive WINdowing (ADWIN) and Page Hinkley (PH) tests. The methods implemented in this package are based on established research and have been demonstrated to be effective in real-time data analysis. For more details on the methods, please check to the following sources. Kobylińska et al. (2023) <doi:10.48550/arXiv.2308.11446>, S. Kullback & R.A. Leibler (1951) <doi:10.1214/aoms/1177729694>, Gama et al. (2004) <doi:10.1007/978-3-540-28645-5_29>, Baena-Garcia et al. (2006) <https://www.researchgate.net/publication/245999704_Early_Drift_Detection_Method>, Frías-Blanco et al. (2014) <https://ieeexplore.ieee.org/document/6871418>, Bifet and Gavalda (2007) <doi:10.1137/1.9781611972771>, Raab et al. (2020) <doi:10.1016/j.neucom.2019.11.111>, Page (1954) <doi:10.1093/biomet/41.1-2.100>, Montiel et al. (2018) <https://jmlr.org/papers/volume19/18-251/18-251.pdf>.

datadriftR

R-CMD-check CRAN status License: MIT

datadriftR is an R package for detecting data drift in streaming data. It monitors when statistical properties of your data change over time, which is essential for maintaining machine learning model performance in production.

Available Methods

MethodDescription
ddmDrift Detection Method
eddmEarly Drift Detection Method
hddm_aHoeffding's bound with averaging
hddm_wHoeffding's bound with weighting
kswinKolmogorov-Smirnov Windowing
adwinADaptive WINdowing
page_hinkleyPage-Hinkley Test
kl_divergenceKL Divergence
profile_differenceProfile Difference

Installation

# Install from CRAN
install.packages("datadriftR")

# Or install the development version from GitHub with pak
# install.packages("pak")
pak::pak("ugurdar/datadriftR")

# Or install the development version from GitHub with remotes
# install.packages("remotes")
# remotes::install_github("ugurdar/datadriftR")

Documentation: https://ugurdar.github.io/datadriftR

Simple DDM Example

library(datadriftR)

# Create a stream with drift at position 501
set.seed(123)
stream <- c(

  sample(c(0, 1), 500, replace = TRUE, prob = c(0.7, 0.3)),
  sample(c(0, 1), 500, replace = TRUE, prob = c(0.3, 0.7))
)

# Detect drift
results <- detect_drift(stream, method = "ddm")
print(results)

Documentation

Citation

@article{dar2025datadriftr,
  title={datadriftR: Drift Detection Methods for Stream Data},
  author={Dar, Ugur and Cavus, Mustafa},
  journal={Journal of Open Source Software},
  year={2025}
}

Authors

Metadata

Version

1.1.0

License

Unknown

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows