- Practical Time Series Analysis
- Dr. Avishek Pal Dr. PKS Prakash
- 308字
- 2021-07-08 10:18:26
Seasonal sub series plot
For a known periodicity of seasonal variations, seasonal sub series redraws the original series over batches of successive time periods. For example, the periodicity in the CO2 concentrations is 12 months and based on this a seasonal sub series plots on mean and standard deviation of the residuals are shown in the following figure. To visualize seasonality in the residuals, we create quarterly mean and standard deviations.
A seasonal sub series reveals two properties:
- Variations within seasons as within a batch of successive months
- Variations between seasons as between batches of successive months


Let us now describe the code used for generating the preceding plots. First, we need to add the residuals and quarter labels to the CO2 concentrations DataFrame. This is done as follows:
data['Residuals'] = residuals month_quarter_map = {1: 'Q1', 2: 'Q1', 3: 'Q1', 4: 'Q2', 5: 'Q2', 6: 'Q2', 7: 'Q3', 8: 'Q3', 9: 'Q3', 10: 'Q4', 11: 'Q4', 12: 'Q4' } data['Quarter'] = data['Month'].map(lambda m: month_quarter_map.get(m))
Next, the seasonal mean and standard deviations are computed by grouping by the data over Year and Quarter:
seasonal_sub_series_data = data.groupby(by=['Year', 'Quarter'])['Residuals']\ .aggregate([np.mean, np.std])
This creates the new DataFrame as seasonal_sub_series_data, which has quarterly mean and standard deviations over the years. These columns are renamed as follows:
seasonal_sub_series_data.columns = ['Quarterly Mean', 'Quarterly Standard Deviation']
Next, the quarterly mean and standard deviations are plotted by running the following lines of code:
#plot quarterly mean of residuals
plt.figure(figsize=(5.5, 5.5))
seasonal_sub_series_data['Quarterly Mean'].plot(color='b')
plt.title('Quarterly Mean of Residuals')
plt.xlabel('Time')
plt.ylabel('CO2 concentratition')
plt.xticks(rotation=30)
#plot quarterly standard deviation of residuals
plt.figure(figsize=(5.5, 5.5))
seasonal_sub_series_data['Quarterly Standard Deviation'].plot(color='b')
plt.title('Quarterly Standard Deviation of Residuals')
plt.xlabel('Time')
plt.ylabel('CO2 concentratition')
plt.xticks(rotation=30)
- 新編Visual Basic程序設計上機實驗教程
- Monkey Game Development:Beginner's Guide
- Visual Basic程序開發(學習筆記)
- Vue.js快速入門與深入實戰
- INSTANT Sencha Touch
- Internet of Things with the Arduino Yún
- 前端架構:從入門到微前端
- MariaDB High Performance
- 零基礎學MQL:基于EA的自動化交易編程
- Unity 5.x By Example
- FFmpeg入門詳解:音視頻原理及應用
- INSTANT Passbook App Development for iOS How-to
- 青少年信息學競賽
- BeagleBone Black Cookbook
- Mastering Data Mining with Python:Find patterns hidden in your data