Aims and Objectives

This course aims to introduce advanced topics in time series analysis. At the end of the course, the students shall be able to create pattern recognition models for world time series data. The main software used in this course for statistical programming is R. Students shall be able to use R and its related packages. The content of the course is dynamic and changing in every year. This year content includes (but not limited):

Suggested Readings Before Start (Check ECO665 Course Web Page)

What Will be Covered

In general two types of similarity are being discussed in Literature. These are Structural and Shape similarities. The first one deals with more structure of data generating process and the latter deals with patterns of trajectories. We will be covering the following similarity (and association) measures a bit in detail (we will skip some structural similarity measures since they are the part of Time Series Analysis and Econometrics courses);

References and Suggested Readings

Steps for Learning from Data

1. Data Collection, Raw Data Preparation

2. Data Preprocessing, First Steps in Exploratory Data Analysis

Numerical summaries:

summary(), aggregate() functions are the first step but several good packages available for numerical summaries. Among them, Hmisc package (describe() function), skimr package (skim()) function etc.

Plotting and Graphical Summaries
+ Some useful time series plot functions are avaliable in forecast library, such as, tsdisplay(), tsdiag(), seasonplot() etc.

Missing Values and Treatments (imputations/interpolations/deletions, etc):

There are some functions/packages available for missing value treatment. As functions, na.approx, na.spline, na.locf of zoo package may be used. For imputations Amelia, mi and mice, imputation are the packages one may want to check. Alse refer to missing data section of SocialSciences task view

Some Preliminary Ttransformations (if needed) helpers
+ Aggregation of time seris: There are several functions available for aggregation of time series. The examples are, base function: aggregate(); xts functions: apply.daily(), apply.weekly(), apply.monthly(), apply.quarterly(), apply.yearly(), to.daily(), to.weekly(), to.monthly(), to.quarterly(), to.yearly(), to_period(); zoo function rollapply()

  • tempdisagg package is a good starting point. Check in-class example for temporal diaggregation.

  • Normalization and Standardization etc.

  • Classical Decomposition of Time series: decompose() (using classical moving average) and stl() (using local polynomial Regression-loess-) functions of stats (a base) package can be used for decomposition.

  • Filtering of Time Series: mFilter package implements, Baxter-King filter (M. Baxter and R.G. King. Measuring business cycles: Approximate bandpass filters. The Review of Economics and Statistics, 81(4):575-93, 1999), Butterworth filter (D.S.G. Pollock. Trend estimation and de-trending via rational square-wave filters. Journal of Econometrics, 99:317-334, 2000), Christiano-Fitzgerald filter (L. Christiano and T.J. Fitzgerald. The bandpass filter. International Economic Review, 44(2):435-65, 2003) download, Hodrick-Prescott filter (R.J. Hodrick and E.C. Prescott. Postwar US business cycles: an empirical investigation. Journal of Money, Credit, and Banking, 29(1):1-16, 1997) and Trigonometric regression filter. See the package Reference Manual for details.

Hodrick-Prescott is one of the widely used filter in Economics. Hence we will discuss this filtering a bit in detail. There exist ongoing discussion about the smoothing parameter of this filter. One optimal filtering will be discussed and implemented as in-class activity

3. Knowledge Extraction (Modelling and Inference)

  • Traditional Modelling (in Economics mostly) in Time Domain (we will be discussing mostly in this domain)
  • Challenges in real world time series
    • Very Long Time Series (we will not discuss)

    • The (very wide let’s say) large number of Dimension and Associations

      • Similarity of Time Series
    • Clustering (of time Series)

      • Issues of clustering of time series (does it make sense to find the groups?): In-class discussion. Please do read some related material before joining our discussion.

      • Introduction to clustering algorithms

      • hierarchical clustering

      • K-means clustering

      • Soft clustering example. Fuzzy c-mean clustering

    • Classification example. Decision Trees see an example for a brief introduction and an introductory example for time series.

    • Symbolic Aggregations of Time Seires (optional topic to discuss)