Tính mùa vụ, xu hướng và nhiễu trong dữ liệu chuỗi thời gian

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Thomas Vincent

Head of Data Science, Getty Images

Các thuộc tính của chuỗi thời gian

Các thuộc tính của chuỗi thời gian

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Các thuộc tính của chuỗi thời gian

  • Tính mùa vụ: dữ liệu có thể hiện mẫu lặp lại theo chu kỳ rõ ràng không?
  • Xu hướng: dữ liệu có đi theo độ dốc tăng hoặc giảm ổn định không?
  • Nhiễu: có điểm ngoại lai hoặc giá trị thiếu nào không nhất quán với phần còn lại không?
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Phân rã chuỗi thời gian

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()
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Biểu đồ phân rã chuỗi thời gian trên dữ liệu CO2

Phân rã chuỗi thời gian

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Trích xuất các thành phần từ phân rã chuỗi thời gian

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
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Thành phần mùa vụ trong chuỗi thời gian

decomp_seasonal = decomposition.seasonal

ax = decomp_seasonal.plot(figsize=(14, 2))
ax.set_xlabel('Date')
ax.set_ylabel('Tính mùa vụ của chuỗi thời gian')
ax.set_title('Giá trị mùa vụ của chuỗi thời gian')

plt.show()
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Thành phần mùa vụ trong chuỗi thời gian

Tính mùa vụ trong chuỗi thời gian

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Thành phần xu hướng trong chuỗi thời gian

decomp_trend = decomposition.trend

ax = decomp_trend.plot(figsize=(14, 2))
ax.set_xlabel('Date')
ax.set_ylabel('Xu hướng của chuỗi thời gian')
ax.set_title('Giá trị xu hướng của chuỗi thời gian')

plt.show()
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Thành phần xu hướng trong chuỗi thời gian

Xu hướng trong chuỗi thời gian

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Thành phần nhiễu trong chuỗi thời gian

decomp_resid = decomp.resid

ax = decomp_resid.plot(figsize=(14, 2))
ax.set_xlabel('Date')
ax.set_ylabel('Phần dư của chuỗi thời gian')
ax.set_title('Giá trị phần dư của chuỗi thời gian')

plt.show()
Trực quan hóa dữ liệu chuỗi thời gian trong Python

Thành phần nhiễu trong chuỗi thời gian

Nhiễu trong chuỗi thời gian

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Cùng luyện tập nào!

Trực quan hóa dữ liệu chuỗi thời gian trong Python

Preparing Video For Download...