FOR INSTRUCTOR PURPOSES ONLY
INSTRUCTOR NOTES
FOR INSTRUCTOR PURPOSES ONLY
MATERIALS
FOR INSTRUCTOR PURPOSES ONLY
PRE-WORK
Insert Instructor Name
Title, Company
TIME SERIES ANALYSIS
LEARNING OBJECTIVES
TIME SERIES ANALYSIS
COURSE
PRE-WORK
PRE-WORK REVIEW
OPENING
TIME SERIES ANALYSIS
TIME SERIES ANALYSIS
TIME SERIES ANALYSIS
INTRODUCTION
WHAT IS TIME SERIES DATA?
WHAT IS TIME SERIES DATA?
WHAT IS TIME SERIES DATA?
WHAT IS TIME SERIES DATA?
ACTIVITY: KNOWLEDGE CHECK
EXERCISE
Answers to the above questions
DELIVERABLE
ANSWER THE FOLLOWING QUESTIONS
WHAT IS TIME SERIES DATA?
WHAT IS TIME SERIES DATA?
WHAT IS TIME SERIES DATA?
WHAT IS TIME SERIES DATA?
WHAT IS TIME SERIES DATA?
WHAT IS TIME SERIES DATA?
WHAT IS TIME SERIES DATA?
WHAT IS TIME SERIES DATA?
ACTIVITY: KNOWLEDGE CHECK
EXERCISE
Answers to the above questions
DELIVERABLE
ANSWER THE FOLLOWING QUESTIONS
INTRODUCTION
COMMON ANALYSIS FOR TIME SERIES DATA
MOVING AVERAGES
ACTIVITY: KNOWLEDGE CHECK
EXERCISE
Answer to the above question
DELIVERABLE
ANSWER THE FOLLOWING QUESTIONS
MOVING AVERAGES
WHAT IS TIME SERIES DATA?
MOVING AVERAGES
For t = 1, EWMA1 = Y1
For t > 1, EWMAt = α • Yt + (1 - α) • EWMAt-1
MOVING AVERAGES
MOVING AVERAGES
AUTOCORRELATION
AUTOCORRELATION
AUTOCORRELATION
DEMO
EXPLORING ROSSMANN DRUGSTORE SALES DATA
EXPLORING ROSSMANN DRUGSTORE SALES DATA
import pandas as pd��data = pd.read_csv('../../assets/dataset/rossmann.csv', skipinitialspace=True, low_memory=False)
LOADING THE DATA
data['Date'] = pd.to_datetime(data['Date'])�data.set_index('Date', inplace=True)��data['Year'] = data.index.year�data['Month'] = data.index.month
LOADING THE DATA
data['2014']�
data['2015-05']
�
LOADING THE DATA
store1_data = data[data.Store == 1]
LOADING THE DATA
PLOTTING THE SALES DATA
sb.factorplot(� col='Open',� x='SchoolHoliday',� y='Sales',� data=store1_data, � kind='box'�)
PLOTTING THE SALES DATA
ACTIVITY: KNOWLEDGE CHECK
EXERCISE
Plot answering the question
DELIVERABLE
ANSWER THE FOLLOWING QUESTIONS
sb.factorplot(� col='Open',� x='Promo',� y='Sales',� data=store1_data, � kind='box'�)
PLOTTING THE SALES DATA
sb.factorplot(� col='Open',� x='DayOfWeek',� y='Sales',� data=store1_data,� kind='box',�)
PLOTTING THE SALES DATA
# Filter to days store 1 was open�store1_open_data = store1_data[store1_data.Open==1]�store1_open_data[['Sales']].plot()
PLOTTING THE SALES DATA
store1_open_data[['Customers']].plot()
PLOTTING THE SALES DATA
ACTIVITY: KNOWLEDGE CHECK
EXERCISE
Plot answering the question
DELIVERABLE
ANSWER THE FOLLOWING QUESTIONS
store1_data_2015 = store1_data['2015']�store1_data_2015[store1_data_2015.Open==1][['Sales']].plot()
PLOTTING THE SALES DATA
data['Sales'].resample('D', how='mean').autocorr(lag=1)
COMPUTING AUTOCORRELATION
ACTIVITY: KNOWLEDGE CHECK
EXERCISE
Answer to the above question
DELIVERABLE
ANSWER THE FOLLOWING QUESTIONS
AGGREGATES OF SALES OVER TIME
AGGREGATES OF SALES OVER TIME
data[['Sales']].resample('A', how=['median', 'mean'])��data[['Sales']].resample('M', how=['median', 'mean'])
AGGREGATES OF SALES OVER TIME
AGGREGATES OF SALES OVER TIME
pd.rolling_mean(data[['Sales']], window=3, center=True, freq='D')
AGGREGATES OF SALES OVER TIME
AGGREGATES OF SALES OVER TIME
pd.rolling_mean(data[['Sales']], window=3, center=True, freq='D')['2015']
pd.rolling_mean(data[['Sales']], window=10, center=True, freq='D').plot()
AGGREGATES OF SALES OVER TIME
pd.ewma(data['Sales'], span=10)
AGGREGATES OF SALES OVER TIME
ACTIVITY: KNOWLEDGE CHECK
EXERCISE
Discussion
DELIVERABLE
ANSWER THE FOLLOWING QUESTIONS
PANDAS WINDOW FUNCTIONS
data['Sales'].diff(periods=1)
PANDAS WINDOW FUNCTIONS
data['Sales'].diff(periods=7)
PANDAS WINDOW FUNCTIONS
WHAT IS TIME SERIES DATA?
PANDAS EXPANDING FUNCTIONS
pd.expanding_mean(data['Sales'], freq='d')
pd.expanding_sum(data['Sales'], freq='d')
PANDAS EXPANDING FUNCTIONS
INDEPENDENT PRACTICE
TIME SERIES EXERCISES
EXERCISE
Plots and answers to the above questions
DELIVERABLE
DIRECTIONS (35 minutes)
ACTIVITY: TIME SERIES EXERCISES
INDEPENDENT PRACTICE REVIEW
TIME SERIES EXERCISES
sb.factorplot(� col='Open',� hue='Promo',� x='Month',� y='Sales',� data=store1_data, � kind='box'�)
TIME SERIES EXERCISES REVIEW
# Compare the following:�average_daily_sales = data[['Sales', 'Open']].resample('D', how='mean')��average_daily_sales['Sales'].autocorr(lag=1)��average_daily_sales['Sales'].autocorr(lag=30)��average_daily_sales['Sales'].autocorr(lag=365)
TIME SERIES EXERCISES REVIEW
pd.rolling_mean(data[['Sales']], window=15, freq='D').plot()
TIME SERIES EXERCISES REVIEW
average_daily_sales = data[['Sales', 'Open']].resample('D', how='mean')�average_daily_sales['DiffVsLastWeek'] = average_daily_sales[['Sales']].diff(periods=7)��average_daily_sales.sort(['DiffVsLastWeek']).head
TIME SERIES EXERCISES REVIEW
total_daily_sales = data[['Sales']].resample('D', how='sum')�pd.expanding_sum(total_daily_sales)['2014-12']
pd.expanding_sum(data['Sales'], freq='D')
TIME SERIES EXERCISES REVIEW
pd.rolling_mean(data[['Sales']], window=15, freq='D').diff(1).sort('Sales')
TIME SERIES EXERCISES REVIEW
CONCLUSION
TOPIC REVIEW
CONCLUSION
COURSE
BEFORE NEXT CLASS
DUE DATE
BEFORE NEXT CLASS
LESSON
CREDITS
CITATIONS
THANKS FOR THE FOLLOWING
Q & A
LESSON
EXIT TICKET
LESSON
DON’T FORGET TO FILL OUT YOUR EXIT TICKET
THANKS!
NAME