{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/newma-a-new-method-for-scalable-model-free","title":"NEWMA: a new method for scalable model-free online change-point detection","arxiv_id":"1805.08061","date":"2018-05-21","proceeding":null,"authors":["Nicolas Keriven","Damien Garreau","Iacopo Poli"],"abstract":"We consider the problem of detecting abrupt changes in the distribution of a multi-dimensional time series, with limited computing power and memory. In this paper, we propose a new, simple method for model-free online change-point detection that relies only on fast and light recursive statistics, inspired by the classical Exponential Weighted Moving Average algorithm (EWMA). The proposed idea is to compute two EWMA statistics on the stream of data with different forgetting factors, and to compare them. By doing so, we show that we implicitly compare recent samples with older ones, without the need to explicitly store them. Additionally, we leverage Random Features (RFs) to efficiently use the Maximum Mean Discrepancy as a distance between distributions, furthermore exploiting recent optical hardware to compute high-dimensional RFs in near constant time. We show that our method is significantly faster than usual non-parametric methods for a given accuracy.","url_abs":"https://arxiv.org/abs/1805.08061v4","url_pdf":"https://arxiv.org/pdf/1805.08061v4.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"newma-a-new-method-for-scalable-model-free","repo_url":"https://github.com/lightonai/newma","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"change-point-detection","task_name":"Change Point Detection"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series","task_name":"Time Series Analysis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1805.08061","atlas_url":"https://app.syntology.ai/?focus=1805.08061","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1805.08061"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lightonai/newma","reach":null}],"summary":{"ran_violates":1,"ran_honours":2},"by_repo_kind":{"official":{"samples":3,"ran":3,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":3,"samples":[{"code_sha256_prefix":"34cea23e94895c4a","entry":"compute_adapt_threshold","repo":"lightonai/newma","repo_kind":"official","path":"onlinecp/algos.py","file_url":"https://github.com/lightonai/newma/blob/HEAD/onlinecp/algos.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"34cea23e94895c4a"}},{"code_sha256_prefix":"67438f96ae93d420","entry":"convert_parameters","repo":"lightonai/newma","repo_kind":"official","path":"onlinecp/algos.py","file_url":"https://github.com/lightonai/newma/blob/HEAD/onlinecp/algos.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"67438f96ae93d420"}},{"code_sha256_prefix":"94b2f3697cce4519","entry":"select_optimal_parameters","repo":"lightonai/newma","repo_kind":"official","path":"onlinecp/algos.py","file_url":"https://github.com/lightonai/newma/blob/HEAD/onlinecp/algos.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"94b2f3697cce4519"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}