Các phân vị dạng rolling cho chất lượng không khí hằng ngày ở NYC
Ở video trước, bạn đã học cách tính các phân vị rolling để mô tả sự thay đổi về độ phân tán của chuỗi thời gian theo thời gian theo cách ít nhạy với ngoại lệ hơn so với dùng trung bình và độ lệch chuẩn.
Hãy tính các phân vị rolling — 10%, 50% (trung vị) và 90% — của phân phối nồng độ ozone trung bình theo ngày ở NYC bằng cửa sổ rolling 360 ngày.
Bài tập này là một phần của khóa học
Xử lý dữ liệu chuỗi thời gian trong Python
Hướng dẫn bài tập
Chúng ta đã nhập pandas là pd và matplotlib.pyplot là plt. Dữ liệu ozone từ 2000–2017 cũng đã được nạp vào biến data.
- Áp dụng
.resample()với tần suất ngày'D'chodatavà dùng.interpolate()để điền giá trị khuyết, rồi gán lại vàodata. - Kiểm tra kết quả bằng
.info(). - Tạo một cửa sổ
.rolling()với 360 kỳ, chọn cột'Ozone', và gán kết quả vàorolling. - Chèn ba cột mới,
'q10','q50'và'q90'vàodata, tính các phân vị tương ứng từrolling. - Vẽ
data.
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.
# Resample, interpolate and inspect ozone data here
data = ____
# Create the rolling window
rolling = ____
# Insert the rolling quantiles to the monthly returns
data['q10'] = ____
data['q50'] = ____
data['q90'] = ____
# Plot the data