Phân rã chuỗi thời gian
Khi trực quan hóa dữ liệu chuỗi thời gian, bạn nên chú ý đến một số mẫu hình dễ nhận biết:
- seasonality: dữ liệu có thể hiện mẫu lặp lại theo chu kỳ rõ ràng không?
- trend: dữ liệu có xu hướng tăng hoặc giảm đều đặn không?
- noise: có điểm ngoại lệ hoặc giá trị thiếu nào không nhất quán với phần còn lại của dữ liệu không?
Bạn có thể dựa vào một phương pháp gọi là phân rã chuỗi thời gian (time-series decomposition) để tự động trích xuất và định lượng cấu trúc của dữ liệu chuỗi thời gian. Thư viện statsmodels cung cấp hàm seasonal_decompose() để thực hiện phân rã chuỗi thời gian ngay lập tức.
decomposition = sm.tsa.seasonal_decompose(time_series)
Bạn có thể trích xuất một thành phần cụ thể, ví dụ tính mùa vụ, bằng cách truy cập thuộc tính seasonal của đối tượng phân rã.
Bài tập này là một phần của khóa học
Trực quan hóa dữ liệu chuỗi thời gian trong Python
Hướng dẫn bài tập
- Import
statsmodels.apivới bí danhsm. - Thực hiện phân rã chuỗi thời gian trên DataFrame
co2_levelsvào một biến tên làdecomposition. - In ra thành phần tính mùa vụ của kết quả phân rã chuỗi thời gian.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import statsmodels.api as sm
import ____ as ____
# Perform time series decompositon
decomposition = sm.tsa.____(____)
# Print the seasonality component
print(____)