Strategi Augmentasi Data untuk Peramalan Time Series

11

Saya sedang mempertimbangkan dua strategi untuk melakukan "augmentasi data" pada peramalan seri waktu.

Pertama, sedikit latar belakang. Prediktor untuk meramalkan langkah selanjutnya dari rangkaian waktu adalah fungsi yang biasanya bergantung pada dua hal, seri waktu yang menyatakan masa lalu, tetapi juga keadaan masa lampau sang prediktor:P{Ai}

P({Ait1},PSt1)

Jika kita ingin menyesuaikan / melatih sistem kita untuk mendapatkan baik , maka kita akan membutuhkan data yang cukup. Terkadang data yang tersedia tidak cukup, jadi kami mempertimbangkan untuk melakukan augmentasi data.P

Pendekatan pertama

Misalkan kita memiliki time-series , dengan . Dan anggap juga kita memiliki yang memenuhi ketentuan berikut: .{Ai}1inϵ0<ϵ<|Ai+1Ai|i{1,,n}

Kita dapat membangun deret waktu baru , di mana adalah realisasi dari distribusi .{Bi=Ai+ri}riN(0,ϵ2)

Kemudian, alih-alih meminimalkan fungsi kerugian hanya di atas , kami melakukannya juga di atas . Jadi, jika proses optimasi mengambil langkah-langkah , kita harus "menginisialisasi" prediktor kali, dan kami akan menghitung sekitar status internal prediktor.{Ai}{Bi}m2m2m(n1)

Pendekatan kedua

Kami menghitung seperti sebelumnya, tetapi kami tidak memperbarui keadaan internal prediktor menggunakan , tetapi . Kami hanya menggunakan dua seri secara bersamaan pada saat menghitung fungsi kerugian, jadi kami akan menghitung sekitar status internal prediktor.{Bi}{Bi}{Ai}m(n1)

Tentu saja, ada lebih sedikit pekerjaan komputasi di sini (meskipun algoritmanya sedikit lebih jelek), tetapi tidak masalah untuk saat ini.

Keraguan

Masalahnya adalah: dari sudut pandang statistik, manakah pilihan "terbaik"? Dan mengapa?

Intuisi saya memberi tahu saya bahwa yang pertama lebih baik, karena membantu "mengatur" bobot yang terkait dengan keadaan internal, sedangkan yang kedua hanya membantu mengatur bobot yang terkait dengan masa lalu deret waktu yang diamati.


Tambahan:

  • Adakah ide lain untuk melakukan augmentasi data untuk perkiraan seri waktu?
  • Bagaimana bobot data sintetis dalam set pelatihan?
Castarco
sumber

Jawaban:

5

Adakah ide lain untuk melakukan augmentasi data untuk perkiraan seri waktu?

Saat ini saya sedang memikirkan masalah yang sama. Saya telah menemukan makalah "Augmentasi Data untuk Klasifikasi Time Series menggunakan Convolutional Neural Networks" oleh Le Guennec et al. yang tidak mencakup perkiraan. Namun metode augmentasi yang disebutkan di sana terlihat menjanjikan. Penulis mengomunikasikan 2 metode:

Irisan Jendela (WS)

Metode pertama yang terinspirasi dari komunitas visi komputer [8,10] terdiri dalam mengekstraksi irisan dari deret waktu dan melakukan klasifikasi pada tingkat irisan. Metode ini telah diperkenalkan untuk deret waktu dalam [6]. Pada pelatihan, setiap irisan yang diekstraksi dari serangkaian waktu kelas y ditugaskan kelas yang sama dan classifier dipelajari menggunakan irisan. Ukuran irisan adalah parameter dari metode ini. Pada waktu pengujian, setiap irisan dari rangkaian waktu uji diklasifikasikan menggunakan klasifikasi yang dipelajari dan suara terbanyak dilakukan untuk menentukan label yang diprediksi. Metode ini disebut sebagai pengirisan jendela (WS) sebagai berikut.

Warping Jendela (WW)

Teknik augmentasi data terakhir yang kami gunakan lebih spesifik dengan deret waktu. Ini terdiri dalam membengkokkan irisan yang dipilih secara acak dari serangkaian waktu dengan mempercepatnya ke atas atau ke bawah, seperti yang ditunjukkan pada Gambar. 2. Ukuran potongan asli adalah parameter dari metode ini. Gambar. 2 menunjukkan deret waktu dari dataset "ECG200" dan data transformasi yang sesuai. Perhatikan bahwa metode ini menghasilkan serangkaian waktu input dengan panjang berbeda. Untuk mengatasi masalah ini, kami melakukan pemotongan jendela pada deret waktu yang diubah agar semua memiliki panjang yang sama. Dalam makalah ini, kami hanya mempertimbangkan rasio warping sama dengan 0.5atau 2, tetapi rasio lain dapat digunakan dan rasio optimal bahkan dapat diperbaiki melalui validasi silang pada set pelatihan. Berikut ini, metode ini akan disebut sebagai window warping (WW).

Gbr. 2 dari kertas

Para penulis menyimpan 90% dari seri tidak berubah (yaitu WS diatur ke irisan 90% dan untuk WW 10% dari seri bengkok). Metode ini dilaporkan untuk mengurangi kesalahan klasifikasi pada beberapa jenis data seri (waktu), kecuali pada representasi 1D dari garis besar gambar. Penulis mengambil data mereka dari sini: http://timeseriesclassification.com

Bagaimana bobot data sintetis dalam set pelatihan?

Dalam augmentasi gambar, karena augmentasi tidak diharapkan untuk mengubah kelas dari suatu gambar, itu biasa untuk menimbangnya sebagai data nyata. Perkiraan seri waktu (dan bahkan klasifikasi seri waktu) mungkin berbeda:

  1. Rangkaian waktu tidak mudah dipahami sebagai objek yang berdekatan untuk manusia, jadi tergantung pada seberapa banyak Anda mengutak-atiknya, apakah masih kelas yang sama? Jika Anda hanya mengiris dan membelok sedikit dan kelas secara visual berbeda, ini mungkin tidak menimbulkan masalah untuk tugas klasifikasi
  2. Untuk perkiraan, saya berpendapat itu

    2.1 WS masih merupakan metode yang bagus. Tidak masalah di mana 90% -bagian dari seri yang Anda lihat, Anda masih akan mengharapkan perkiraan berdasarkan aturan yang sama => bobot penuh.

    2.2 WW: Semakin dekat itu terjadi pada akhir seri, semakin berhati-hati saya. Secara intuitif, saya akan muncul dengan faktor bobot geser antara 0 (membengkokkan pada akhir) dan 1 (membengkokkan pada awal), dengan asumsi bahwa fitur terbaru dari kurva adalah yang paling relevan.

ascripter
sumber
5

Adakah ide lain untuk melakukan augmentasi data untuk perkiraan seri waktu?

Jawaban lain dengan pendekatan berbeda, berdasarkan "Dataset Augmentation in Feature Space" oleh DeVries dan Taylor.

Dalam karya ini, kami menunjukkan bahwa ekstrapolasi antara sampel dalam ruang fitur dapat digunakan untuk menambah kumpulan data dan meningkatkan kinerja algoritma pembelajaran yang diawasi. Manfaat utama dari pendekatan kami adalah bahwa domain-independen , tidak memerlukan pengetahuan khusus, dan karenanya dapat diterapkan pada berbagai jenis masalah.

Kedengarannya menjanjikan bagi saya. Pada prinsipnya Anda dapat mengambil autoencoder apa pun untuk membuat representasi di ruang fitur. Fitur-fitur ini dapat diinterpolasi atau diekstrapolasi.

Gambar di bawah ini menunjukkan sebagai contoh interpolasi dari dua vektor ruang fitur dan (perlu diketahui bahwa lebih banyak hasil positif dilaporkan untuk ekstrapolasi dari dua vektor, lihat kertas untuk detailnya). Vektor augmented dihasilkan kemudian didekodekan kembali ke ruang input dan dimasukkan ke dalam jaringan untuk pelatihan.CjCkC

Makalah ini hanya mencakup klasifikasi urutan saja. Tetapi sekali lagi IMO prinsipnya sama untuk analisis regresi. Anda mendapatkan data baru dari distribusi yang mungkin sama dengan data asli Anda, itulah yang Anda inginkan.

arsitektur augmentasi AE

Jika kami menguraikan prinsip pembuatan data ini dengan jaringan saraf lebih lanjut, kami akan berakhir dengan Generative Adversarial Networks (GAN) . Mereka dapat digunakan dengan cara yang sama untuk menghasilkan data augmented yang mungkin akan menjadi cara paling canggih untuk melakukannya.

ascripter
sumber
3

Baru-baru ini saya menerapkan pendekatan lain yang terinspirasi oleh makalah ini dari Bergmeir, Hyndman dan Benitez.

Idenya adalah untuk mengambil deret waktu dan pertama menerapkan transformasi seperti transformasi Box Cox atau Yeo-johnson (yang menyelesaikan beberapa masalah dengan Box Cox) untuk menstabilkan varian seri, kemudian menerapkan dekomposisi STL pada seri yang ditransformasikan. untuk seri musiman atau dekomposisi loess untuk mendapatkan residu seri. Ambil residu ini dan bootstrap dengan bootstrap blok bergerak untuk menghasilkan seri tambahan. Ini seri tambahan kemudian memiliki tren awal dan musiman dari seri mulai ditambahkan kembali ke residual bootstrapped sebelum terakhir pembalik kekuatan transformasi diterapkan pada langkah pertama.BB

Dengan cara ini, sebanyak mungkin deret waktu tambahan yang dihasilkan menunjukkan deret waktu awal dengan cukup baik. Berikut adalah contoh aplikasi pada beberapa data nyata untuk menghasilkan seri waktu tambahan yang serupa:

Seri augmented

Di sini augmentasi ditampilkan menggunakan transformasi Yeo-johnson dan bukan Box Cox seperti yang disarankan dalam makalah asli.

Aesir
sumber