{"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/fast-calculation-of-p-values-for-one-sided","title":"Fast calculation of p-values for one-sided Kolmogorov-Smirnov type statistics","arxiv_id":"2009.04954","date":"2020-09-10","proceeding":null,"authors":["Amit Moscovich"],"abstract":"A novel method for computing exact p-values of one-sided statistics from the Kolmogorov-Smirnov family is presented. It covers the Higher Criticism statistic, one-sided weighted Kolmogorov-Smirnov statistics, and the one-sided Berk-Jones statistics. In addition to p-values, the method can also be used for power analysis, finding alpha-level thresholds, and the construction of confidence bands for the empirical distribution function. With its quadratic runtime and numerical stability, the method easily scales to sample sizes in the hundreds of thousands and takes less than a second to run on a sample size of 25,000. This allows practitioners working on large data sets to use exact finite-sample computations instead of approximation schemes. The method is based on a reduction to the boundary-crossing probability of a pure jump stochastic process. FFT convolutions of two different sizes are then used to efficiently propagate the probabilities of the non-crossing paths. This approach has applications beyond statistics, for example in financial risk modeling.","url_abs":"https://arxiv.org/abs/2009.04954v3","url_pdf":"https://arxiv.org/pdf/2009.04954v3.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"fast-calculation-of-p-values-for-one-sided","repo_url":"https://github.com/mosco/crossing-probability","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2009.04954","atlas_url":"https://app.syntology.ai/?focus=2009.04954","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2009.04954"}},"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/mosco/crossing-probability","reach":null}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"b5ad42f6e3391ba0","entry":"ecdf1_mns2016_B","repo":"mosco/crossing-probability","repo_kind":"official","path":"python_extension/crossprob.py","file_url":"https://github.com/mosco/crossing-probability/blob/HEAD/python_extension/crossprob.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b5ad42f6e3391ba0"}},{"code_sha256_prefix":"377274558a500b94","entry":"ecdf1_mns2016_b","repo":"mosco/crossing-probability","repo_kind":"official","path":"python_extension/crossprob.py","file_url":"https://github.com/mosco/crossing-probability/blob/HEAD/python_extension/crossprob.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"377274558a500b94"}},{"code_sha256_prefix":"ea1ea0a692fa9aa2","entry":"ecdf2","repo":"mosco/crossing-probability","repo_kind":"official","path":"python_extension/crossprob.py","file_url":"https://github.com/mosco/crossing-probability/blob/HEAD/python_extension/crossprob.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea1ea0a692fa9aa2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}