Membuat fitur pergeseran waktu
Dalam Machine Learning untuk deret waktu, umum untuk menggunakan informasi dari titik waktu sebelumnya untuk memprediksi titik waktu sesudahnya.
Pada latihan ini, Anda akan “menggeser” data mentah dan memvisualisasikan hasilnya. Anda akan menggunakan deret waktu persentase perubahan yang Anda hitung pada bab sebelumnya, kali ini dengan jendela yang sangat pendek. Jendela pendek penting karena, dalam skenario dunia nyata, Anda ingin memprediksi fluktuasi harian suatu deret waktu, bukan perubahannya dalam jangka waktu yang lebih panjang.
Latihan ini merupakan bagian dari kursus
Machine Learning untuk Data Deret Waktu di Python
Instruksi latihan
- Gunakan dictionary comprehension untuk membuat beberapa versi
prices_percyang digeser waktu menggunakan jeda yang ditentukan dishifts. - Konversikan hasilnya menjadi sebuah DataFrame.
- Gunakan kode yang disediakan untuk memvisualisasikan hasilnya.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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()