MPCS 58020 Time Series Analysis and Stochastic Processes (Spring 2017)

Section 1
Instructor(s) Siegel, Andrew (siegela)
Location Young 302
Meeting Times Monday 5:30pm - 8:30pm
Fulfills Elective Specialization - Data Analytics (DA-2) Specialization - High Performance Computing (HPC-2)


Course Description

Stochastic processes are driven by random events. They can be used to model phenomena in a broad range of disciplines, including science/engineering (e.g. computational physics, chemistry, and biology), business/finance (e.g. investment models and operations research), and computer systems (e.g. client/server workloads and resilience modeling). In many cases relatively simple stochastic simulations can provide estimates for problems that are difficult or impossible to model with closed-form equations. In this class we focus on the rudimentary ideas and techniques that underlie stochastic time series analysis, discrete events modeling, and Monte Carlo simulations. Course lectures will focus on the basic principles of probability theory, their efficient implementation on modern computers, and examples of their application to real world problems. Upon completion of the course, students should have an adequate background to quickly learn in depth specific Monte Carlo approaches in their chosen field of interest.



  • Required

    • Robert H. Shumway, David S. Stoffer. Time Series Analysis and Its Applications, EZ – Third Edition. Free Texts in Statistics, 2015. Available for free at

    • Sheldon M. Ross. Simulation. Elsevier, 2013

  • Optional

    • Press, Numerical Recipes

    • Knuth, Algorithms vol 2


Course Contents

  • Class 1: Simulating ARIMA time series, Shumway Chapters 2 and 3

  • Class 2: Principal component analysis and single value decomposition

  • Class 3: Spectral analysis including Fourier transforms, Shumway Chapter 4, Press Chapters 12 and 13

  • Class 4: Coding and validating RNGs, simulating random variables, Ross Chapters 3, 4, and 5, Knuth Chapter 2, Press Chapter 7

  • Class 5: Simulating discrete events, Ross Chapter 6

  • Class 6: Monte Carlo integration w/variance reduction, Ross Chapter 8

  • Class 7: Markov Chain Monte Carlo (Hastings-Metropolis, Gibbs Sampler), Ross Chapter 10

  • Classes 8 and 9: Applications of Monte Carlo including:

    • Particle transport

    • Chemical kintetics (Gillespie algorithm)

    • Solving integral equations with Markov Chain Monte Carlo



4 or 5 biweekly homework assignments. Weekly readings. No exams.



  • Courses: Required: Immersion programming or waiver. Recommended: Immersion math.

  • Languages: Required: familiarity with C/C++, Python, or Java (other language options are acceptable, but consult instructor first). Recommended: C and Python.

Course Prerequisites

Core Programming

Other Prerequisites

Non-MPCS students need to complete a course request form.

Overlapping Classes

This class is scheduled at a time that conflicts with these other classes:

  • MPCS 51036-1 -- Java Programming
  • MPCS 51040-1 -- C Programming
  • MPCS 52040-1 -- Distributed Systems
  • MPCS 51032-1 -- Advanced iOS