Cargando…
A linear-time algorithm that avoids inverses and computes Jackknife (leave-one-out) products like convolutions or other operators in commutative semigroups
BACKGROUND: Data about herpesvirus microRNA motifs on human circular RNAs suggested the following statistical question. Consider independent random counts, not necessarily identically distributed. Conditioned on the sum, decide whether one of the counts is unusually large. Exact computation of the p...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
BioMed Central
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7502207/ https://www.ncbi.nlm.nih.gov/pubmed/32968428 http://dx.doi.org/10.1186/s13015-020-00178-x |
Sumario: | BACKGROUND: Data about herpesvirus microRNA motifs on human circular RNAs suggested the following statistical question. Consider independent random counts, not necessarily identically distributed. Conditioned on the sum, decide whether one of the counts is unusually large. Exact computation of the p-value leads to a specific algorithmic problem. Given [Formula: see text] elements [Formula: see text] in a set [Formula: see text] with the closure and associative properties and a commutative product without inverses, compute the jackknife (leave-one-out) products [Formula: see text] ([Formula: see text] ). RESULTS: This article gives a linear-time Jackknife Product algorithm. Its upward phase constructs a standard segment tree for computing segment products like [Formula: see text] ; its novel downward phase mirrors the upward phase while exploiting the symmetry of [Formula: see text] and its complement [Formula: see text] . The algorithm requires storage for [Formula: see text] elements of [Formula: see text] and only about [Formula: see text] products. In contrast, the standard segment tree algorithms require about [Formula: see text] products for construction and [Formula: see text] products for calculating each [Formula: see text] , i.e., about [Formula: see text] products in total; and a naïve quadratic algorithm using [Formula: see text] element-by-element products to compute each [Formula: see text] requires [Formula: see text] products. CONCLUSIONS: In the herpesvirus application, the Jackknife Product algorithm required 15 min; standard segment tree algorithms would have taken an estimated 3 h; and the quadratic algorithm, an estimated 1 month. The Jackknife Product algorithm has many possible uses in bioinformatics and statistics. |
---|