Sazonalidade, tendência e ruído em séries temporais

Visualizing Time Series Data in Python

Thomas Vincent

Head of Data Science, Getty Images

Propriedades de séries temporais

Propriedades de séries temporais

Visualizing Time Series Data in Python

As propriedades das séries temporais

  • Sazonalidade: os dados mostram um padrão periódico claro?
  • Tendência: os dados seguem uma inclinação consistente para cima ou para baixo?
  • Ruído: há outliers ou valores ausentes que destoam do restante dos dados?
Visualizing Time Series Data in Python

Decomposição de séries temporais

import statsmodels.api as sm
import matplotlib.pyplot as plt
from pylab import rcParams

rcParams['figure.figsize'] = 11, 9
decomposition = sm.tsa.seasonal_decompose(
                co2_levels['co2'])
fig = decomposition.plot()

plt.show()
Visualizing Time Series Data in Python

Gráfico da decomposição da série de CO2

Decomposição de série temporal

Visualizing Time Series Data in Python

Extraindo componentes da decomposição

print(dir(decomposition))
['__class__', '__delattr__', '__dict__',
 ... 'plot', 'resid', 'seasonal', 'trend']
print(decomposition.seasonal)
datestamp
1958-03-29    1.028042
1958-04-05    1.235242
1958-04-12    1.412344
1958-04-19    1.701186
Visualizing Time Series Data in Python

Componente de sazonalidade na série temporal

decomp_seasonal = decomposition.seasonal

ax = decomp_seasonal.plot(figsize=(14, 2))
ax.set_xlabel('Date')
ax.set_ylabel('Sazonalidade da série temporal')
ax.set_title('Valores sazonais da série temporal')

plt.show()
Visualizing Time Series Data in Python

Componente de sazonalidade na série temporal

Sazonalidade em séries temporais

Visualizing Time Series Data in Python

Componente de tendência na série temporal

decomp_trend = decomposition.trend

ax = decomp_trend.plot(figsize=(14, 2))
ax.set_xlabel('Date')
ax.set_ylabel('Tendência da série temporal')
ax.set_title('Valores de tendência da série temporal')

plt.show()
Visualizing Time Series Data in Python

Componente de tendência na série temporal

Tendência em séries temporais

Visualizing Time Series Data in Python

Componente de ruído na série temporal

decomp_resid = decomp.resid

ax = decomp_resid.plot(figsize=(14, 2))
ax.set_xlabel('Date')
ax.set_ylabel('Resíduo da série temporal')
ax.set_title('Valores residuais da série temporal')

plt.show()
Visualizing Time Series Data in Python

Componente de ruído na série temporal

Ruído em séries temporais

Visualizing Time Series Data in Python

Vamos praticar!

Visualizing Time Series Data in Python

Preparing Video For Download...