EP16.TOKT11122 · 3 credits
Time Series Analysis and Forecasting
Practical, project-based exploration of classical and modern time series methods with real data in Python.
1. General Information
| Course title | Time Series Analysis and Forecasting |
|---|---|
| Course code | EP16.TOKT11122 |
| Type | Compulsory |
| Credits / hours | 3 credits · Lecture: 30h · Lab: 15h · Self-study: 90h |
| Prerequisites | EP16.TOKT1145; EP16.TOKT11108 |
2. Department and Instructor
Department: Faculty of Data Science and Artificial Intelligence, National Economics University.
Address: Suite 1105, Building A1, NEU.
Dr. Trong-Nghia Nguyen
Email: nghiant@neu.edu.vn
Website: http://nghianguyen7171.github.io/
Office Hours: To be determined
3. Course Description
This course provides a practical introduction to time series analysis and forecasting with applications in finance, economics, and healthcare. Students use Python (NumPy, Pandas, Matplotlib, Statsmodels, Scikit-learn, and optionally deep learning frameworks) to work with real-world time-indexed data.
Core topics include time series concepts and components, exploratory analysis, stationarity, ARIMA and SARIMA models. In later weeks, students are introduced to machine learning and deep learning methods for time series, such as tree-based models and simple recurrent or convolutional neural networks.
The course is strongly project-based with groups working on real datasets (e.g., stock prices, macroeconomic indicators, vital signs, EEG/ECG signals). Labs focus on project progress. A Midterm Project Baseline replaces a written exam; the final deliverable is a comprehensive group project combining classical and ML/DL methods.
4. Learning Resources
Main textbooks
- Gebhard Kirchgässner, Jürgen Wolters (2013), Introduction to Modern Time Series Analysis, Springer.
- Wes McKinney (2022), Python for Data Analysis, O’Reilly Media.
- Eryk Lewinson (2022), Python for Finance Cookbook, Packt Publishing.
Other references
- Tarek A. Atwan (2022), Time Series Analysis with Python Cookbook, Packt Publishing.
- Changquan Huang & Alla Petukhina (2022), Applied Time Series Analysis and Forecasting with Python, Springer.
- Ben Auffarth (2021), Machine Learning for Time-Series with Python, Packt Publishing.
- Francesca Lazzeri (2020), Machine Learning for Time Series Forecasting with Python, Wiley.
- Online notes: https://online.stat.psu.edu/stat510/
5. Course Objectives
- G1. Understand fundamental time series concepts and applications in finance, economics, healthcare.
- G2. Collect, preprocess, and manipulate time series data in Python using appropriate libraries.
- G3. Conduct exploratory time series analysis, including visualization, decomposition, and stationarity assessment.
- G4. Model and forecast time series data using core statistical methods such as ARIMA and SARIMA.
- G5. Apply and compare traditional time series models with basic machine learning and deep learning methods.
- G6. Develop teamwork, self-study, and shared responsibility through project-based learning.
6. Course Learning Outcomes
- CLO 1.1 (G1): Explain key time series concepts and real-world relevance.
- CLO 1.2 (G2): Use Python (Pandas, NumPy, Matplotlib, Statsmodels) to load, preprocess, and visualize time series.
- CLO 2.1 (G3): Perform exploratory analysis using ACF/PACF, decomposition, and smoothing.
- CLO 3.1 (G3, G4): Explain stationarity and apply differencing and ADF tests.
- CLO 3.2 (G4): Build and interpret AR, MA, and ARMA models in Python.
- CLO 4.1 (G4): Build, evaluate, and diagnose ARIMA and SARIMA models using Box–Jenkins.
- CLO 4.2 (G5): Transform time series into supervised format and implement ML models (e.g., tree-based).
- CLO 4.3 (G5): Describe and implement simple DL models (RNN/LSTM/CNN) for time series.
- CLO 5.1 (G5): Design and implement a complete forecasting pipeline on a real dataset, combining classical and ML/DL approaches.
- CLO 5.2 (G5): Analyze and interpret results, compare methods, and provide insights.
- CLO 6.1 (G6): Demonstrate self-study and independent work via homework and project contributions.
- CLO 6.2 (G6): Collaborate effectively in teams and report progress clearly.
7. Course Assessment
| Type | Content | Week | CLOs | Tools / Criteria | Weight |
|---|---|---|---|---|---|
| Homework | Theory & programming (individual) | Selected weeks | 1.2, 2.1, 3.1, 3.2, 4.1, 4.2, 4.3, 6.1 | LMS submission; correctness; application to time series; time management | 20% |
| Midterm Project Baseline | Group baseline report (PDF) + presentation | Week 10 | 1.2–4.1, 5.1, 5.2, 6.1, 6.2 | EDA, ARIMA/SARIMA baseline, forecasts & plots; clarity and structure | 30% |
| Final Project | Full group project report + final presentation | Week 15 | 1.1–5.2, 6.1, 6.2 | Integration of classical + ML/DL models; depth; comparison; clarity; teamwork | 50% |
Lab weeks are used for group progress presentations; midterm baseline replaces a written exam.
8. Teaching Plan (15 Weeks)
| Week | Format | Content Highlights | Activities / Assessment | CLOs |
|---|---|---|---|---|
| 1 | Lecture | Intro, project requirements, Python ecosystem, environment setup, Kaggle overview | Lecture, demo, Q&A | 1.1, 1.2, 6.1, 6.2 |
| 2 | Lecture | NumPy review; Pandas for time series; resampling, rolling stats; SMA/EMA/RSI/MACD | Lecture + code walkthrough; Homework 1 | 1.2, 2.1, 6.1 |
| 3 | Lab | Project kick-off; dataset intro; first plots | Short group presentations; progress check | 1.2, 5.1, 6.1, 6.2 |
| 4 | Lecture | Time series components; ACF/PACF; decomposition; smoothing | Lecture + code examples; Homework 2 | 2.1, 3.1, 6.1 |
| 5 | Lab | EDA on project data; trends/seasonality; issues | Group presentations; feedback | 2.1, 3.1, 5.1, 5.2, 6.1, 6.2 |
| 6 | Lecture | Stationarity; unit root tests; differencing; AR/MA/ARMA models | Lecture + examples; Homework 3 | 3.1, 3.2, 4.1, 6.1 |
| 7 | Lab | Stationarity checks; AR/MA/ARMA on project data | Group presentations; feedback | 3.1, 3.2, 4.1, 5.1, 6.1, 6.2 |
| 8 | Lecture | ARIMA, Box–Jenkins process, model selection, forecasting | Lecture + code-along; Homework 4 | 3.1, 4.1, 5.1, 6.1 |
| 9 | Lab | ARIMA on project data; model selection; diagnostics; midterm briefing | Group presentations; midterm prep guidance | 3.1, 4.1, 5.1, 5.2, 6.1, 6.2 |
| 10 | Lecture/Presentations | Midterm Project Baseline submissions and presentations | 5–7 min group presentations; feedback | 1.2–4.1, 5.1, 5.2, 6.1, 6.2 |
| 11 | Lecture | Seasonality, SARIMA structure, seasonal differencing, SARIMAX | Lecture + demos; Homework 5 | 3.1, 4.1, 5.1, 6.1 |
| 12 | Lab | SARIMA refinements; finalize classical models; plan ML/DL phase | Group presentations; design discussion | 3.1, 4.1, 5.1, 5.2, 6.1, 6.2 |
| 13 | Lecture | Time series as supervised learning; features; tree-based models; validation | Lecture + examples; Homework 6 | 4.2, 5.1, 5.2, 6.1 |
| 14 | Lecture | Deep learning basics for time series: RNN/LSTM/GRU/CNN; workflows; simple example | Lecture + walkthrough; optional DL mini-extension | 4.3, 5.1, 5.2, 6.1 |
| 15 | Lab/Presentations | Final project presentations; model comparison; insights | 10–15 min group presentations; submit report, code, slides | 1.1–5.2, 6.1, 6.2 |
9. Class Regulations
- Attendance: at least 80% of classes.
- Active participation in lectures and labs is expected.
- Participation in the group project is mandatory.
- In class: avoid phones/eating; use laptops/tablets for course activities only.
- Academic integrity is strictly enforced; plagiarism/cheating follow university rules.
Contact
Questions about the course or projects? Reach out anytime.
Email: nghiant@neu.edu.vn
Website: http://nghianguyen7171.github.io/


