当前位置: X-MOL 学术Comput. Phys. Commun. › 论文详情
A fast algorithm for computing a matrix transform used to detect trends in noisy data
Computer Physics Communications ( IF 3.627 ) Pub Date : 2020-05-19 , DOI: 10.1016/j.cpc.2020.107382
Dan Kestner; Glenn Ierley; Alex Kostinski

A recently discovered universal rank-based matrix method to extract trends from noisy time series is described in Ierley and Kostinski (2019) but the formula for the output matrix elements, implemented there as an open-access supplement MATLAB computer code, is O(N4), with N the matrix dimension. This can become prohibitively large for time series with hundreds of sample points or more. Based on recurrence relations, here we derive a much faster O(N2) algorithm and provide code implementations in MATLAB and in open-source JULIA. In some cases one has the output matrix and needs to solve an inverse problem to obtain the input matrix. A fast algorithm and code for this companion problem, also based on the recurrence relations, are given. Finally, in the narrower, but common, domains of (i) trend detection and (ii) parameter estimation of a linear trend, users require, not the individual matrix elements, but simply their accumulated mean value. For this latter case we provide a yet faster O(N) heuristic approximation that relies on a series of rank one matrices. These algorithms are illustrated on a time series of high energy cosmic rays with N>4×104. Program summary Program Title: Pfromdata, QofP, mbasisandcoeffs, nonzerop, Qavgapprox, PofQ, mexact, CodeTesting CPC Library link to program files: http://dx.doi.org/10.17632/mkcxrky9jc.1 Licensing provisions: MIT Programming language: MATLAB and Julia Nature of problem: An order-rank data matrix and its transform to a stable form are used repeatedly to detect and/or extract trends from noisy data. An efficient yet accurate calculation of the matrix transform is therefore required. Solution method: We introduce and apply an analytic recursion relation, which speeds up the execution of the matrix transform from O(N4) arithmetic operations to O(N2). Since this matrix transform is called often during optimization, our improvement allows for far shorter optimization times, for a given sample size. For example, a transform whose time is extrapolated to an unrealistic 75 days on a Dell personal laptop computer with a 2.2 GHz quad-core AMD processor running 32 bit MATLAB version R2015b on 64 bit Windows 10 (N=5000), now takes a fraction of a second. References [1] Universal Rank-Order Transform to Extract Signals from Noisy Data, Glenn Ierley and Alex Kostinski, Phys. Rev. X 9 031039 (2019).
更新日期:2020-05-19

 

全部期刊列表>>
材料学研究精选
Springer Nature Live 产业与创新线上学术论坛
胸腔和胸部成像专题
自然科研论文编辑服务
ACS ES&T Engineering
ACS ES&T Water
屿渡论文,编辑服务
杨超勇
周一歌
华东师范大学
段炼
清华大学
中科大
唐勇
跟Nature、Science文章学绘图
隐藏1h前已浏览文章
中洪博元
课题组网站
新版X-MOL期刊搜索和高级搜索功能介绍
ACS材料视界
x-mol收录
福州大学
南京大学
王杰
左智伟
电子显微学
何凤
洛杉矶分校
吴杰
赵延川
试剂库存
天合科研
down
wechat
bug