Course Overview

Class Hours

T-Th 11:45 to 1:00 (Gross Hall 304B)
To join class on Zoom click here.
Passcode: Sp24


Luana Medeiros Marangon Lima
Office: Gross Hall - 102K
Office hours: Tuesdays 13:15-14:15 (Gross Hall 102K or Luana’s Zoom), or by appointment.

Teaching Assistant

Lynn Wu
Office hour: Wed 3-4pm (351 Gross Hall)


We will use Slack for communication. I will add all students to the slack workspace I’ve created for the class. Using slack will assure I never miss a message from you and will also keep us one text message away! You may use slack on your computer and/or phone.

Click here to join our slack workspace. Once you join the worksapce you can access using the Slack icon on the footnote this webpage.

Course Description

Time series and forecasting methods continue to improve due to the enhancements in computing power and capability of dealing with larger data sets.

Time series analysis provides a unique lens for understanding and interpreting patterns, trends, and behaviors over time. By understanding past performance and behavior, stakeholders can make informed decisions, optimize resource allocation, and forecast future trends.

This course will focus on time series analysis, modeling and forecasting, with emphasis on energy and environment applications.

Key Features

  • Real-World Data Sets: Immerse yourself in practical applications using datasets from the US Energy Information Administration (EIA), National Oceanic and Atmospheric Administration (NOAA), and the National Renewable Energy Laboratory (NREL).

  • R Programming Emphasis: Navigate the world of statistical analysis using R. Lectures include hands-on demonstrations using the R Studio interface. Note that R and R Studio work on Windows, Linux, and Mac operating systems.

Course Topics

The topics covered in this course are divided in twelve modules. There will be readings and/or recording associated with each module.

  • M1 - Getting started, Intro to TSA, R and RStudio
    Lay the foundation with an introduction to time series analysis, R, and RStudio.
  • M2 - Autocovariance and autocorrelation
    Explore the intricacies of autocovariance and autocorrelation.
  • M3 - Trend and seasonality
    Uncover methods to identify and handle trends and seasonality.
  • M4 - Missing data and outliers
    Address challenges posed by missing data and outliers in time series analysis.
  • M5 - ARIMA Models
    Dive into the essentials of Autoregressive Integrated Moving Average (ARIMA) models.
  • M6 - Seasonal ARIMA Models
    Extend your knowledge to Seasonal ARIMA models for enhanced forecasting.
  • M7 - Intro to forecasting
    Gain insights into the fundamentals of forecasting methodologies.
  • M8 - Model Performance
    Assess and optimize the performance of your time series models.
  • M9 - State space models
    Explore the application of state space models in time series analysis.
  • M10 - Advanced forecasting models
    Delve into sophisticated forecasting models to address complex scenarios.
  • M11 - Model based scenario generation
    Learn to generate scenarios based on robust modeling approaches.

Course Schedule

Please check our detailed proposed schedule here .

Course Outcomes

Upon completion of the course, you will have the ability to conduct time series analyses, model scenarios, and extract valuable insights, positioning yourself at the forefront of impactful decision-making in energy and environmental sustainability.


A basic understanding of statistics and programming is recommended, though not mandatory. The course provides introductory segments for R programming.

Course Format and Grading

The course consists of lectures at which we will discuss theory and applications. We will learn the time series concepts through data analysis projects. During the classes we will also dedicate some time to learn the statistical packages in R related to the topic as well as small group problem solving. Aside from the in class problems, there will be a set of assignments, a forecasting competition and a final project. Grades will be based on:

Assignments - A1 to A7 70%
A8 - Forecasting Competition 15%
Final Project 15%

The assignments involve applying concepts and tools learned in class to an specific data set or problem. Students might work together and help each other. However, the assignments are to be submitted individually. The Assignments tab shows due dates for the assignments.

Policy on late submissions: Assignments are due at 11:59pm. Assignments submitted at least 2 hours after the deadline will have 1 point out of 100 deduction by hour. After that, there will be a 5 points out of 100 deduction per day.

The final project could take several forms. If you have an interesting dataset, you may choose to work with it using existing methods and software tools to run your time series analysis. Another idea is to take some previously published data and analysis and use it as a starting point. You could simply take the data and do your own analysis. Or you may reproduce part of the published analysis, but in this case you will need to go further and try different models and analysis with the data. Make sure you clearly state the difference between what you have done and what was done previously. Students are encouraged to work in teams of two or three for a project.

There will be two short presentations of your final project. For the first you will present the data set you will use, what you plan to do with it and the project motivation. For the second presentation you will show the class the main results obtained throughout the analysis. Aside from the presentations, you are required to submit a final report that will be the knitted Rmd file you used for teh project. Make sure you add some text to balance the flow from one analysis/grpah to the other. Describe the data sets, tools used and results. If the data set has been used before show what else you have done with it and compare with previous published results.More information on the report requirements will be given later in the semester.

The final project grading will be weighted as follows:

Proposal Presentation 20%
Final Presentation 40%
Report 40%

Class Etiquette

You should take responsibility for your education. I expect students to attend every class and get to class on time. If you must enter the class late, please do so quietly. Retain from using phones and tablets for social media during class. Some classes will involve coding on your laptop. I expect you to focus on the assignment and refrain from any web browsing that may disrupt the progress of your work. Your classmates deserve your respect and support. We will likely have students from many different backgrounds and nationalities in this class and you should all feel comfortable and make each other comfortable while participating.

Nicholas School Honor Code

All activities of Nicholas School students, including those in this course, are governed by the Duke Community Standard, which states: “Duke University is a community dedicated to scholarship, leadership, and service and to the principles of honesty, fairness, respect, and accountability. Citizens of this community commit to reflect upon and uphold these principles in all academic and nonacademic endeavors, and to protect and promote a culture of integrity. To uphold the Duke Community Standard:

  • I will not lie, cheat, or steal in my academic endeavors;
  • I will conduct myself honorably in all my endeavors; and
  • I will act if the Standard is compromised.”

Please add the following affirmation to the end of all assignments, and sign your name beside it: “I have adhered to the Duke Community Standard in completing this assignment.”

Policy for the use of Artificial Intelligence (AI)

We acknowledge that AI is a powerful tool and something we don’t want to ignore. We therefore allow you to explore how AI can be used in course materials, but with the following constraints:

First, don’t blindly submit any AI produced text and/or code. Second, in the spirit of learning and transparency, do cite where and when you used AI in generating code and include the prompts used. Failing to do this when you have used AI to supplement your work will be considered a breach of the honor code.

Land Acknowledgment

“What is now Durham was originally the territory of several Native nations, including Tutelo (TOO-tee-lo) and Saponi (suh-POE-nee) - speaking peoples. Many of their communities were displaced or killed through war, disease, and colonial expansion. Today, the Triangle is surrounded by contemporary Native nations, the descendants of Tutelo, Saponi, and other Indigenous peoples who survived early colonization. These nations include the Haliwa-Saponi (HALL-i-wa suh-POE-nee), Sappony (suh-POE-nee), and Occaneechi (oh-kuh-NEE-chee) Band of Saponi. North Carolina’s Research Triangle is also home to a thriving urban Native American community who represent Native nations from across the United States. Together, these Indigenous nations and communities contribute to North Carolina’s ranking as the state with the largest Native American population east of Oklahoma.”