A reproducible benchmark framework for evaluating long-range dependence estimators on canonical, contaminated, and observational time series.
Project description
lrdbench
A reproducible benchmark framework for evaluating long-range dependence estimators on canonical, contaminated, and observational time series.
Documentation: lrdbench.readthedocs.io (built with MkDocs and Read the Docs).
Current public release: 1.0.2. No DOI is attached yet; cite the software using CITATION.cff
and the GitHub release.
lrdbench is a research-oriented benchmarking framework for studying the behaviour of long-range dependence (LRD) estimators across three distinct settings:
- ground-truth mode for canonical synthetic time series with declared target truth;
- stress-test mode for synthetic time series under controlled contamination;
- observational mode for biomedical or user-provided time series without benchmark truth.
The framework is designed to support:
- rigorous comparison of classical and new LRD estimators;
- uncertainty-aware benchmarking, including empirical interval coverage where applicable;
- robustness analysis under heavy tails, nonstationarity, artefacts, level shifts, outliers, polynomial trends, and low-frequency contamination;
- transparent failure analysis and validity-rate reporting;
- manifest-driven, provenance-complete, reproducible benchmark execution.
Why this project exists
There is currently no widely adopted, comprehensive, reproducible benchmark specifically designed for long-range dependence estimation that simultaneously addresses:
- canonical synthetic processes with known targets;
- contamination-induced estimator instability;
- uncertainty quantification and interval coverage;
- observational biomedical time series with no benchmark truth;
- extensible enrolment of new estimators under a common interface.
lrdbench aims to fill that gap.
It is especially intended to support the careful evaluation of the hypothesis that many classical second-order LRD estimators behave well in their intended stationary finite-variance regime, but become unstable, miscalibrated, or non-identifiable under nonstationarity, heavy-tailed fluctuations, artefacts, and other out-of-regime conditions.
Scope
lrdbench is a research benchmark framework. It is not:
- a clinical decision system;
- a diagnostic tool;
- a guarantee of “true LRD” in arbitrary empirical signals;
- a universal ranking oracle for all estimators in all regimes.
Benchmark results must always be interpreted in light of:
- the declared benchmark mode;
- the target estimand;
- the source specification;
- the contamination design;
- the metric definitions;
- the aggregation and leaderboard rules.
See RESEARCH_USAGE.md for the full policy.
Core features
Benchmark modes
-
Ground-truth mode
- bias, MAE, RMSE
- empirical coverage
- interval width
- validity rate
- runtime and efficiency
-
Stress-test mode
- estimate drift
- degradation ratios
- validity collapse
- coverage collapse
- robustness leaderboards
-
Observational mode
- instability across windows
- preprocessing sensitivity
- resampling variability
- failure analysis
- stability leaderboards
Supported data sources
- implemented synthetic generators:
- fGn
- fBm
- ARFIMA(0,d,0)
- MRW
- fOU
- contaminated synthetic pipelines
- custom CSV datasets
- future observational/API-based datasets
Reporting
- HTML reports
- Markdown reports
- CSV exports
- Parquet result stores
- JSON metadata exports
- LaTeX tables for publication workflows
Extensibility
- pluggable estimator interface
- manifest-driven benchmark runs
- explicit estimator metadata and estimand declarations
- registry-based component enrolment
Design principles
lrdbench is built around a few non-negotiable principles:
-
Explicit estimands
Every estimator must declare the quantity it is intended to estimate. -
Mode-aware evaluation
Truth-based metrics are not used where truth does not exist. -
Failure transparency
Invalid outputs, crashes, and missing uncertainty are recorded explicitly. -
Provenance preservation
Every benchmark result is traceable to a manifest, source, estimator configuration, and software version. -
Reproducibility first
A benchmark run should be reproducible from a single manifest plus the relevant package version and data sources.
Installation
Core installation
pip install lrdbench
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lrdbench-1.0.2.tar.gz.
File metadata
- Download URL: lrdbench-1.0.2.tar.gz
- Upload date:
- Size: 115.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b049575284b82a0003b44438d13c8271efda2f24d089917ef84f62fd1d495fdc
|
|
| MD5 |
e557cab7c0a805ebca69ecb540bf229d
|
|
| BLAKE2b-256 |
b885e8af557e502c4ed6ae55853b124fdb777e91c17bd5131a8d430c8693d697
|
Provenance
The following attestation bundles were made for lrdbench-1.0.2.tar.gz:
Publisher:
release.yml on dave2k77/lrdbench
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lrdbench-1.0.2.tar.gz -
Subject digest:
b049575284b82a0003b44438d13c8271efda2f24d089917ef84f62fd1d495fdc - Sigstore transparency entry: 1390396927
- Sigstore integration time:
-
Permalink:
dave2k77/lrdbench@b847d8e032d2ed1d3865fe796a662d10845f5a15 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/dave2k77
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b847d8e032d2ed1d3865fe796a662d10845f5a15 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lrdbench-1.0.2-py3-none-any.whl.
File metadata
- Download URL: lrdbench-1.0.2-py3-none-any.whl
- Upload date:
- Size: 85.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20a1a207d038d8e455219b6351cdc84d8fef2e22bfa7c78de105214cf0155fbc
|
|
| MD5 |
b8b9e8140695aa458628642c4d43c938
|
|
| BLAKE2b-256 |
d637583fde3073baff438baa89856ef3a24e7457ef3ae4740fe2e6419cf08210
|
Provenance
The following attestation bundles were made for lrdbench-1.0.2-py3-none-any.whl:
Publisher:
release.yml on dave2k77/lrdbench
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lrdbench-1.0.2-py3-none-any.whl -
Subject digest:
20a1a207d038d8e455219b6351cdc84d8fef2e22bfa7c78de105214cf0155fbc - Sigstore transparency entry: 1390397038
- Sigstore integration time:
-
Permalink:
dave2k77/lrdbench@b847d8e032d2ed1d3865fe796a662d10845f5a15 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/dave2k77
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b847d8e032d2ed1d3865fe796a662d10845f5a15 -
Trigger Event:
push
-
Statement type: