A Temporal Pattern Search Algorithm for Personal History Event Visualization

TitleA Temporal Pattern Search Algorithm for Personal History Event Visualization
Publication TypeJournal Articles
Year of Publication2012
AuthorsWang TD, Deshpande A, Shneiderman B
JournalKnowledge and Data Engineering, IEEE Transactions on
Volume24
Issue5
Pagination799 - 812
Date Published2012/05//
ISBN Number1041-4347
Keywordsautomaton-based approach, binary search, bit-parallel approach, data visualisation, electronic health records, event array, finite automata, interactive visualization program, Lifelines2 visualization tool, medical information systems, NFA approach, nondeterministic finite automaton, O(m<sup>2</sup>n lg(n)) problem, pattern matching, personal history event visualization, Shift-And approach, temporal pattern search algorithm, time stamp
Abstract

We present Temporal Pattern Search (TPS), a novel algorithm for searching for temporal patterns of events in historical personal histories. The traditional method of searching for such patterns uses an automaton-based approach over a single array of events, sorted by time stamps. Instead, TPS operates on a set of arrays, where each array contains all events of the same type, sorted by time stamps. TPS searches for a particular item in the pattern using a binary search over the appropriate arrays. Although binary search is considerably more expensive per item, it allows TPS to skip many unnecessary events in personal histories. We show that TPS's running time is bounded by O(m2n lg(n)), where m is the length of (number of events) a search pattern, and n is the number of events in a record (history). Although the asymptotic running time of TPS is inferior to that of a nondeterministic finite automaton (NFA) approach (O(mn)), TPS performs better than NFA under our experimental conditions. We also show TPS is very competitive with Shift-And, a bit-parallel approach, with real data. Since the experimental conditions we describe here subsume the conditions under which analysts would typically use TPS (i.e., within an interactive visualization program), we argue that TPS is an appropriate design choice for us.

DOI10.1109/TKDE.2010.257