Giter Club home page Giter Club logo

ga-ds829-flex-time-series's Introduction

Working with Time Series Data

Unit 4, Flex


Materials We Provide

Topic Description Link
Lesson Part I. Working With Time Series Data Here
Part II. Rolling Statistics Here
Part III. Autocorrelation Here
Part IV. Decomposition Here
Practice Part V. Time Series Practice Here
Lesson (Bonus) Part VI. Time Series Forecasting Models Here
Solutions Sample solutions for lesson prompts and practice activity Here
Data 10 datasets used in lesson samples and practice activities Here

Learning Objectives

After this lessons, students will be able to:

  1. Explain how time series data are distinct and how to account for that.
  2. Create rolling means and plot time series data.
  3. Perform autocorrelation on sample time series data.
  4. Decompose time series data into trend and residual components.
  5. Bonus: Explain the benefits and drawbacks of ARIMA as compared to other methods.

Student Requirements

Before this lesson(s), students should already be able to:

  1. Manipulate data with Pandas.
  2. Create basic data visualizations with Matplotlib and Seaborn.
  3. Define and demonstrate techniques for correlating data points.

Lesson Outline

TOTAL (190 min) I. Foundations (190 min)

  • Part 1: Time Series Data (20 min)
    • What is Time Series Data?
    • Examples of Time Series Data and Domains That Find it Useful
    • Trends and Seasonality
    • Preprocessing Time Series Data With Pandas
    • Processing Date Information as datetime Objects
    • Filtering by Date With Pandas
    • Differencing/Lagging
  • Practice (15 min)
  • Part 2: Rolling Means and Plotting Time Series Data (20 min)
    • What is a Trend?
    • Visualizing Trends
    • Computing Aggregates With Pandas' .resample() Function
    • Computing Rolling Averages With Pandas
    • Other Pandas Window Functions (Rolling Sum, Rolling Max, Diff)
    • Exponentially Weighted Windows
    • Plotting Time Series Data
  • Practice (15 min)
  • Part 3: Autocorrelation on Time Series Data (25 min)
    • Define Autocorrelation
    • Examples of Autocorrelation
    • Computing Autocorrelation
    • Using the Pandas autocorr() Function Calculating and Plotting ACF and PACF Using StatsModels
  • Practice (15 min)
  • Part 4: Decomposing Time Series (15 min)
    • Decomposing Time Series Into Trend, Seasonality, Cyclical, and Residual Components
    • Using the .seasonal_decompose() Function
    • Plotting the Seasonal, Trend, and Residual Components of a Time Series
  • Practice (15 min)
  • Closing and Recap (5 min) II. Bonus (30 min)
  • Time Series Forecasting Models (25 min)
    • What are Time Series Models?
    • Properties of Time Series Models
    • Assumption of Stationarity
    • Compare/Contrast Time Series Forecasting Models
  • Closing and Recap (5 min)

Additional Resources

If you are interested in more resources, check out the following:

  • In Pandas' datetime library, search for more information on .dt here.
  • For additional review of these concepts, see some inspiration from the Python Data Science Handbook.
  • There are lots of additional tutorials on ARIMA models out there; here is a good one.

ga-ds829-flex-time-series's People

Contributors

choleness avatar carletonlsmith avatar lasisioo avatar claireoliver avatar ggodreau avatar gsganden avatar

Watchers

James Cloos avatar Aidan Connolly avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.