Tạo đặc trưng theo độ trễ thời gian
Trong Machine Learning cho chuỗi thời gian, cách làm phổ biến là dùng thông tin ở các thời điểm trước đó để dự đoán giá trị ở thời điểm tiếp theo.
Trong bài tập này, bạn sẽ “dịch” dữ liệu thô và trực quan hóa kết quả. Bạn sẽ dùng chuỗi thời gian phần trăm thay đổi mà bạn đã tính ở chương trước, lần này với một cửa sổ rất ngắn. Cửa sổ ngắn là quan trọng vì trong bối cảnh thực tế, bạn muốn dự đoán biến động theo ngày của chuỗi thời gian, thay vì mức thay đổi trong một khoảng thời gian dài hơn.
Bài tập này là một phần của khóa học
Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python
Hướng dẫn bài tập
- Dùng dictionary comprehension để tạo nhiều phiên bản
prices_percđã dịch theo thời gian dựa trên các độ trễ trongshifts. - Chuyển kết quả thành một DataFrame.
- Dùng đoạn mã đã cho để trực quan hóa kết quả.
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.
# These are the "time lags"
shifts = np.arange(1, 11).astype(int)
# Use a dictionary comprehension to create name: value pairs, one pair per shift
shifted_data = {"lag_{}_day".format(day_shift): prices_perc.____(____) for day_shift in shifts}
# Convert into a DataFrame for subsequent use
prices_perc_shifted = ____(shifted_data)
# Plot the first 100 samples of each
ax = prices_perc_shifted.iloc[:100].plot(cmap=plt.cm.viridis)
prices_perc.iloc[:100].plot(color='r', lw=2)
ax.legend(loc='best')
plt.show()