Periodicity detection in time series databases

Mohamed G. Elfeky, Walid G. Aref, Ahmed K. Elmagarmid

Research output: Contribution to journalArticle

145 Citations (Scopus)


Periodicity mining is used for predicting trends in time series data. Discovering the rate at which the time series is periodic has always been an obstacle for fully automated periodicity mining. Existing periodicity mining algorithms assume that the periodicity rate (or simply the period) is user-specified. This assumption is a considerable limitation, especially in time series data where the period is not known a priori. In this paper, we address the problem of detecting the periodicity rate of a time series database. Two types of periodicities are defined, and a scalable, computationally efficient algorithm is proposed for each type. The algorithms perform in O(n log n) time for a time series of length n. Moreover, the proposed algorithms are extended in order to discover the periodic patterns of unknown periods at the same time without affecting the time complexity. Experimental results show that the proposed algorithms are highly accurate with respect to the discovered periodicity rates and periodic patterns. Real-data experiments demonstrate the practicality of the discovered periodic patterns.

Original languageEnglish
Pages (from-to)875-887
Number of pages13
JournalIEEE Transactions on Knowledge and Data Engineering
Issue number7
Publication statusPublished - 1 Jul 2005



  • Periodic patterns mining
  • Temporal data mining
  • Time series analysis
  • Time series forecasting

ASJC Scopus subject areas

  • Information Systems
  • Computer Science Applications
  • Computational Theory and Mathematics

Cite this