Klik untuk mempelajari lebih lanjut tentang penulis Maarit Widmann.
Aplikasi analisis deret waktu lengkap mencakup langkah-langkah dalam a Ilmu Data siklus dari mengakses hingga mengubah, memodelkan, mengevaluasi, dan menyebarkan data deret waktu. Namun, untuk data deret waktu, tugas khusus dalam langkah-langkah ini berbeda dibandingkan dengan data cross-sectional. Misalnya, data cross sectional dikumpulkan sebagai snapshot dari satu objek pada satu titik waktu, sedangkan data deret waktu dikumpulkan dengan mengamati objek yang sama selama periode waktu tertentu. Pola reguler dalam data deret waktu memiliki terminologi khusus, dan pola tersebut menentukan prapemrosesan yang diperlukan sebelum beralih ke pemodelan deret waktu. Deret waktu dapat dimodelkan dengan banyak jenis model, tetapi model deret waktu tertentu, seperti model ARIMA, menggunakan struktur temporal di antara pengamatan.
Dalam artikel ini, kami memperkenalkan tugas paling umum dalam perjalanan membangun aplikasi deret waktu. Terakhir, kami menerapkan teori tersebut dengan membuat aplikasi contoh di Platform Analytics.
Mengakses Seri Waktu
Rangkaian waktu memiliki berbagai sumber dan aplikasi: data penjualan harian untuk prediksi permintaan, data ekonomi makro tahunan untuk perencanaan politik jangka panjang, data sensor dari jam tangan pintar untuk menganalisis sesi latihan, dan banyak lagi. Semua rangkaian waktu ini berbeda, misalnya, dalam perincian, keteraturan, dan kebersihannya: Kami dapat yakin bahwa kami memiliki nilai PDB untuk negara kami untuk tahun ini, dan juga untuk 10 tahun ke depan, tetapi kami tidak dapat menjamin bahwa sensor jam tangan pintar kami bekerja dengan stabil dalam latihan apa pun dan pada suhu berapa pun. Bisa juga data deret waktu tidak tersedia secara berkala, tetapi hanya dapat dikumpulkan dari titik kejadian acak, seperti infeksi penyakit atau kunjungan pelanggan secara spontan. Namun, kesamaan dari semua jenis data deret waktu ini adalah bahwa data tersebut dikumpulkan dari sumber yang sama dari waktu ke waktu.
Rangkaian Waktu Regularisasi dan Pembersihan
Setelah kita memiliki data deret waktu, langkah selanjutnya adalah membuatnya memiliki jarak yang sama pada perincian yang sesuai, kontinu, dan bersih. Tugas yang diperlukan bergantung pada bentuk asli data dan juga analisis tujuan. Misalnya, jika kami merencanakan promosi produk selama satu minggu, kami mungkin tertarik pada data yang lebih terperinci daripada jika kami ingin mendapatkan ikhtisar tentang penjualan beberapa produk.
Penyortiran
Deret waktu perlu diurutkan berdasarkan waktu. Saat Anda mempartisi data ke dalam set pelatihan dan pengujian, ingatlah untuk mempertahankan struktur temporal antara catatan dengan mengambil data dari atas/bawah untuk pengujian/pelatihan. Jika data Anda berisi lebih dari satu catatan per stempel waktu, Anda perlu menggabungkannya dengan stempel waktu. Misalnya, bila Anda memiliki beberapa pesanan per hari dan Anda tertarik dengan penjualan harian, Anda perlu menjumlahkan penjualan untuk setiap hari. Selanjutnya, jika Anda tertarik dengan deret waktu pada perincian lain daripada yang Anda miliki saat ini dalam data (misalnya, penjualan bulanan, bukan penjualan harian), Anda dapat menggabungkan data lebih lanjut pada perincian pilihan.
Nilai yang hilang
Jika beberapa stempel waktu hilang, Anda perlu memasukkannya ke deret waktu agar jaraknya sama. Terkadang catatan yang hilang adalah bagian dari dinamika deret waktu (misalnya, pasar saham tutup pada hari Jumat dan buka pada hari Senin).
Saat Anda memasukkan stempel waktu yang hilang ke data, nilai yang sesuai tentu saja hilang. Anda dapat menghitung nilai yang hilang ini dengan, misalnya, interpolasi linier atau nilai rata-rata bergerak. Namun, ingat bahwa teknik terbaik untuk memasukkan nilai yang hilang bergantung pada dinamika reguler dalam data. Misalnya, jika Anda memeriksa musiman mingguan dalam data harian, dan nilai pada satu hari Sabtu tidak ada, maka nilai hari Sabtu terakhir mungkin merupakan pengganti terbaik. Jika nilai yang hilang tidak hilang secara acak, seperti harga penutupan pasar saham yang hilang di akhir pekan, Anda dapat menggantinya dengan nilai tetap, yang akan menjadi 0 dalam kasus ini. Di sisi lain, jika nilai yang hilang bersifat acak dan terjadi cukup jauh di masa lalu, Anda dapat menggunakan data setelah nilai yang hilang, dan mengabaikan data yang lebih lama.
Pola Tidak Beraturan
Salah satu cara yang baik untuk menangani fluktuasi dan outlier yang cepat adalah dengan menghaluskan data. Beberapa teknik dapat digunakan, seperti: moving average dan pemulusan eksponensial. Selain itu, memotong nilai yang terletak di luar garis kotak plot akan menghaluskan data. Ingatlah bahwa musim yang kuat dalam data dapat menyebabkan plot kotak tersebar luas, dan lebih baik menggunakan plot kotak bersyarat untuk mendeteksi outlier.
Namun, terkadang deret waktu hanya menunjukkan fenomena yang sangat tidak beraturan! Dalam kasus seperti itu, Anda dapat mencoba membuat deret waktu lebih teratur dengan mengekstrak sebagian darinya, misalnya, dengan hanya mempertimbangkan penjualan satu produk, bukan penjualan seluruh supermarket, atau dengan mengelompokkan data.
Menjelajahi dan Mengubah Deret Waktu
Pada titik ini, kami memiliki data deret waktu kami dalam bentuk yang cocok untuk menjelajahinya secara visual dan numerik. Plot dan statistik yang berbeda mengungkapkan pola jangka panjang dan pendek serta hubungan temporal dalam deret waktu yang dapat kita gunakan untuk lebih memahami dinamikanya dan memprediksi perkembangannya di masa depan.
Eksplorasi Visual Deret Waktu
Plot dasar untuk mengeksplorasi time series adalah plot garis (Gambar 3) yang menunjukkan kemungkinan arah, fluktuasi teratur dan tidak teratur, outlier, gap, atau titik balik dalam time series. Jika Anda mengamati pola reguler dalam deret waktu Anda, seperti musiman tahunan dalam penjualan minuman, Anda kemudian dapat memeriksa setiap siklus musiman (tahun) secara terpisah dalam plot musiman (Gambar 3). Dalam plot musiman, Anda dapat dengan mudah melihat, misalnya, jika bulan Juli adalah bulan penjualan yang lebih kuat tahun ini daripada tahun lalu, atau jika penjualan bulanan meningkat dari tahun ke tahun.
Jika Anda tertarik dengan apa yang terjadi dalam musim, seperti berapa penjualan rata-rata di bulan-bulan musim panas dan berapa banyak dan ke arah mana penjualan bervariasi setiap bulan, Anda dapat memeriksa jenis dinamika ini dalam plot kotak bersyarat (Gambar 3). Namun plot lain yang berguna untuk menjelajahi deret waktu adalah plot lag (Gambar 3). Plot lag menunjukkan hubungan antara nilai saat ini dan nilai masa lalu, misalnya, penjualan hari ini dan penjualan minggu sebelumnya.
Dekomposisi Klasik Deret Waktu
Dekomposisi klasik, yaitu menguraikan deret waktu menjadi tren, musiman, dan residualnya, memberikan tolok ukur yang baik untuk peramalan. Bagian yang tersisa dari deret waktu, sisa, seharusnya stasioner, dan dapat diramalkan dengan model ARIMA, misalnya. Namun, ingat bahwa jika deret residual tidak stasioner, beberapa transformasi tambahan mungkin diperlukan, seperti pembedaan orde pertama, atau transformasi log deret waktu asli.
Pertama, jika deret waktu menunjukkan arah, tren, deret waktu dapat dikurangi, misalnya dengan memasang model regresi melalui data, atau dengan menghitung nilai rata-rata bergerak.
Kedua, jika deret waktu menunjukkan fluktuasi yang teratur – musiman – deret waktu dapat disesuaikan untuk itu. Anda dapat menemukan lag di mana musim utama terjadi di plot autokorelasi deret waktu. Misalnya, jika Anda mengamati puncak pada lag 7, dan Anda memiliki data harian, maka data tersebut akan memiliki musim mingguan. Musim dapat disesuaikan dengan membedakan data pada lag di mana lonjakan besar terjadi. Jika Anda ingin menyesuaikan musim kedua dalam data, Anda dapat melakukannya dengan mengulangi prosedur untuk deret waktu yang disesuaikan (berbeda).
Terakhir, ketika Anda telah mencapai deret waktu stasioner yang siap untuk dimodelkan misalnya model ARIMA, Anda dapat melakukan pemeriksaan terakhir dengan, misalnya, Tes kotak-Ljung untuk stasioneritas.
Pemodelan dan Evaluasi Deret Waktu
Sekarang kita beralih ke pemodelan bagian residual dari deret waktu yang berisi dinamika tidak teraturnya. Kita bisa melakukan ini dengan model ARIMA, Mesin belajar model, jaringan saraf, dan banyak variasinya. Kami sering memodelkan bagian residual dari deret waktu dengan model ini, karena itu stasioner. Namun, penguraian deret waktu tidak selalu diperlukan, karena beberapa model, seperti model ARIMA musiman, juga berfungsi untuk memodelkan deret waktu non-stasioner.
Berikut ini kami mengumpulkan beberapa properti dari teknik pemodelan yang berbeda ini, persamaan dan perbedaannya, sehingga Anda dapat memilih yang terbaik untuk kasus penggunaan Anda. Ingat juga bahwa melatih banyak model berguna, dan bahkan membuat ansambel dari mereka!
Model ARIMA
ARIMA (Autoregressive Integrated Moving Average) model adalah model regresi linier antara nilai saat ini dan masa lalu (AR-part), dan juga antara kesalahan perkiraan saat ini dan masa lalu (MA-part). Jika model memiliki bagian I yang tidak nol, maka data dibeda-bedakan agar stasioner. Model ARIMA dasar mengasumsikan bahwa deret waktu stasioner, dan deret waktu stasioner tidak memiliki pola yang dapat diprediksi dalam jangka panjang. Menurunnya akurasi prakiraan jangka panjang dapat dilihat dari meningkatnya interval kepercayaan prakiraan. Memiliki lebih banyak data tidak selalu lebih baik untuk melatih model ARIMA: Kumpulan data yang besar mungkin membuat estimasi parameter model model ARIMA memakan waktu, serta melebih-lebihkan perbedaan antara proses sebenarnya dan proses model.
Model Pembelajaran Mesin
Model pembelajaran mesin menggunakan nilai tertinggal sebagai kolom prediktor, dan mengabaikan struktur temporal antara kolom target dan kolom prediktor. Model pembelajaran mesin juga dapat mengidentifikasi pola jangka panjang dan titik balik dalam data, asalkan tersedia cukup data dalam data pelatihan untuk menetapkan pola ini. Secara umum, semakin banyak ketidakteraturan yang ditunjukkan data, semakin banyak data yang dibutuhkan untuk melatih model. Saat Anda menerapkan model machine learning, disarankan untuk memodelkan residual. Jika tidak, Anda mungkin membangun model yang lebih rumit daripada model dekomposisi klasik, tetapi sebenarnya tidak mempelajari sesuatu yang baru selain itu!
Tips Pemilihan Model
Pertama, beberapa fenomena sulit untuk diramalkan, dan dalam kasus seperti itu seringkali masuk akal untuk memilih model yang lebih sederhana dan tidak menginvestasikan sumber daya dalam pemodelan sesuatu yang tidak dapat diramalkan secara akurat.
Kedua, kinerja model bukanlah satu-satunya kriteria. Jika keputusan penting didasarkan pada hasil model, interpretasinya mungkin lebih penting daripada kinerja yang sedikit lebih baik. Yang mengatakan, jaringan saraf mungkin kalah melawan model dekomposisi klasik sederhana meskipun perkiraannya sedikit lebih baik.
Ketiga, menambahkan variabel penjelas ke model Anda dapat meningkatkan akurasi perkiraan. Namun, dalam model seperti itu, variabel penjelas perlu diramalkan juga, dan kompleksitas model yang meningkat tidak selalu sebanding dengan akurasi yang lebih baik. Terkadang perkiraan kasar cukup untuk mendukung keputusan: Jika jumlah pengiriman dihitung dalam puluhan dan ratusan, maka perkiraan permintaan juga tidak harus memiliki perincian yang lebih besar.
Evaluasi Model
Setelah melatih model, langkah selanjutnya adalah mengevaluasinya. Untuk peramalan dalam sampel, set tes adalah set pelatihan itu sendiri, sehingga proses model dicocokkan dengan data yang digunakan untuk melatih model. Untuk peramalan di luar sampel, set pengujian mengikuti set pelatihan tepat waktu.
Salah satu metrik kesalahan yang direkomendasikan untuk mengevaluasi model deret waktu adalah kesalahan persentase absolut rata-rata (PETA), karena memberikan kesalahan dalam skala universal, sebagai persentase dari nilai aktual. Namun, jika nilai sebenarnya adalah nol, metrik ini tidak ditentukan, dan juga metrik kesalahan lainnya, seperti kesalahan kuadrat rata-rata akar (RMSE), akan melakukan. Namun, yang sering disarankan adalah TIDAK menggunakan R-squared. Metrik R-kuadrat tidak sesuai dengan konteks analisis deret waktu karena fokusnya adalah memprediksi variabilitas sistematis kolom target di masa mendatang, bukan memodelkan semua variabilitas di masa lalu.
Peramalan dan Rekonstruksi Rangkaian Waktu
Kami hampir sampai! Langkah terakhir adalah meramalkan nilai masa depan dan merekonstruksi sinyal.
Peramalan Dinamis
Jika Anda memiliki model yang tidak dapat memberikan perkiraan akurat dalam jangka panjang, penerapan dinamis sering kali meningkatkan akurasi perkiraan di luar sampel. Dalam penerapan dinamis, hanya satu titik di masa depan yang diramalkan pada satu waktu, dan data masa lalu diperbarui oleh nilai prakiraan ini untuk menghasilkan prakiraan berikutnya (Gambar 5).
Memulihkan Tren dan Musim
Terakhir, jika kita menguraikan deret waktu sebelum peramalan, kita perlu mengembalikan tren dan/atau musim ke prakiraan. Jika kita menyesuaikan musiman dengan membedakan data, kami mulai merekonstruksi sinyal dengan menambahkan nilai pada lag di mana musiman terjadi. Misalnya, jika kami memiliki data harian y di mana kami menerapkan perbedaan musiman pada lag 7 (musiman mingguan), memulihkan musiman ini akan memerlukan perhitungan berikut ke nilai perkiraan yt+1, yt+2, ..., yt+h :
dimana tadalah titik waktu terakhir dalam data pelatihan, dan h adalah cakrawala perkiraan.
Untuk memulihkan musim kedua, kami akan mengulangi langkah yang dijelaskan di atas untuk deret waktu yang dipulihkan. Jika kita ingin mengembalikan komponen tren ke deret waktu, kita akan menerapkan model regresi yang mewakili tren ke deret waktu yang dipulihkan.
Lengkapi Aplikasi Time Series di Platform Analytics
Terakhir, mari kita lihat cara mempraktikkan langkah-langkah ini menggunakan Platform Analytics kami. alur kerja Mengakses Rangkaian Waktu Transformasi dan Pemodelan (tersedia di Hub) pada Gambar 6 menunjukkan langkah-langkah dari mengakses hingga pembersihan, penjelajahan visual, penguraian, dan pemodelan deret waktu. Untuk beberapa tugas ini, kami menggunakan komponen deret waktu yang merangkum alur kerja sebagai fungsi khusus untuk deret waktu: menggabungkan data pada perincian yang dipilih, melakukan dekomposisi klasik, dan banyak lagi.
Dalam contoh ini, kami menggunakan Contoh – Superstore data disediakan oleh Tablo. Dalam analisis kami, kami fokus pada pesanan semua produk dari 2014 hingga 2017 – semuanya 9994 catatan. Kami memulai preprocessing dengan membentuk kembali data menjadi data time series dengan menghitung total penjualan per hari. Sekarang, kami hanya memiliki satu nilai per hari, tetapi beberapa hari hilang karena tidak ada pesanan yang dikirimkan pada hari ini. Oleh karena itu, kami memperkenalkan hari-hari ini ke deret waktu dan mengganti nilai penjualan yang hilang dengan nilai tetap 0. Setelah itu, kami menggabungkan data pada tingkat bulanan, dan mempertimbangkan penjualan rata-rata di setiap bulan dalam analisis lebih lanjut.
Untuk eksplorasi visual, kami juga menggabungkan data pada tingkat tahunan, dan kami menemukan bahwa ada titik balik di awal tahun 2015, seperti yang ditunjukkan oleh plot garis di sebelah kanan pada Gambar 7. Plot garis di sebelah kiri menunjukkan musim tahunan dalam data: ada dua puncak reguler pada akhir setiap tahun, dan puncak yang lebih rendah pada awal setiap tahun. Kami juga mendeteksi musiman tahunan dalam data, seperti yang ditunjukkan oleh lonjakan besar pada lag 12 di plot ACF di sebelah kiri. Kami menguraikan deret waktu menjadi tren, musiman, dan residunya, dan komponen-komponen ini ditunjukkan pada plot garis di tengah pada Gambar 7. Plot ACF di sebelah kanan tidak menunjukkan autokorelasi yang signifikan dalam deret residu.
Selanjutnya, kami memodelkan seri residual dari penjualan rata-rata bulanan dengan model ARIMA. Setelah dilakukan differencing pada lag 12, panjang time series adalah 36 observasi. Kami mencari model terbaik dengan komponen Auto ARIMA Learner dengan max order 4 untuk bagian AR dan MA dan max order 1 untuk bagian I. Model berperforma terbaik berdasarkan Kriteria informasi akaike adalah ARIMA (0, 1, 4), dan MAPE yang dihasilkan berdasarkan prakiraan dalam sampel adalah 1.153.
Akhirnya, kami menilai akurasi perkiraan di luar sampel model. alur kerja Peramalan dan Rekonstruksi Rangkaian Waktu (tersedia di Hub) pada Gambar 8 menunjukkan bagaimana memperkirakan penjualan harian pada tahun 2017 berdasarkan data bulanan pada tahun 2014 hingga 2016 (24 pengamatan), dan model ARIMA (0,1,4) pemenang menggunakan penerapan dinamis mendekati. Setelah itu, kami merekonstruksi sinyal, dalam hal ini, mengembalikan tren dan musiman tahunan ke nilai perkiraan (12 nilai penjualan rata-rata bulanan). Kami membandingkan nilai aktual dan perkiraan, dan memperoleh MAPE 0.336.
Kesimpulan
Deret waktu, baik itu data sensor yang menunjukkan perilaku objek kecil nanodetik setelah nanodetik, data makroekonomi untuk abad ke-20, atau sesuatu di antaranya, memiliki teknik analitik khusus yang berlaku untuk langkah-langkah pengaksesan, manipulasi, dan pemodelan.
Dalam artikel ini, kami telah memperkenalkan Anda pada dasar-dasar teknik analitik untuk deret waktu yang membantu Anda memulai saat bekerja dengan data deret waktu.
Referensi
[1] Chambers, John C., Satinder K. Mullick, dan Donald D. Smith. Cara Memilih Teknik Peramalan yang Tepat. Universitas Harvard, Sekolah Pascasarjana Administrasi Bisnis, 1971.
[2] Hyndman, Rob J., dan George Athanasopoulos. Peramalan: Prinsip dan Praktik. Teks, 2018.
Sumber: https://www.dataversity.net/building-a-time-series-analysis-application/
- Mutlak
- Tambahan
- analisis
- analisis
- Aplikasi
- aplikasi
- AR
- artikel
- mobil
- Dasar-dasar
- patokan
- TERBAIK
- Minuman
- tubuh
- Kotak
- membangun
- Bangunan
- bisnis
- Pembersihan
- Kolom
- Umum
- komponen
- kepercayaan
- negara
- terbaru
- data
- hari
- Permintaan
- Pengembangan
- Penyakit
- perkiraan
- Acara
- Latihan
- eksplorasi
- Angka
- Akhirnya
- Pertama
- cocok
- Fokus
- Jumat
- masa depan
- PDB
- Umum
- George
- baik
- lulus
- Penanganan
- harvard
- Universitas Harvard
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTTPS
- Ratusan
- mengenali
- gambar
- Infeksi
- informasi
- IT
- Juli
- besar
- memimpin
- BELAJAR
- pelajar
- pengetahuan
- Tingkat
- baris
- Panjang
- Mesin belajar
- utama
- Pasar
- Metrik
- model
- pemodelan
- Senin
- data bulanan
- bulan
- pindah
- jaringan
- jaringan
- saraf
- saraf jaringan
- jaringan saraf
- membuka
- urutan
- perintah
- Lainnya
- pola
- prestasi
- perencanaan
- Platform
- ramalan
- Produk
- Produk
- promosi
- arsip
- regresi
- Hubungan
- Sumber
- Hasil
- penjualan
- Skala
- Sekolah
- terpilih
- rasa
- Seri
- set
- Pengiriman
- Sederhana
- kecil
- pintar
- Potret
- So
- awal
- mulai
- statistika
- saham
- pasar saham
- disampaikan
- musim panas
- mendukung
- Tablo
- target
- uji
- Dasar-dasar
- Masa depan
- waktu
- puncak
- Pelatihan
- Transformasi
- Universal
- universitas
- nilai
- Menonton
- minggu
- mingguan
- Apa itu
- Wikipedia
- dalam
- Kerja
- alur kerja
- latihan
- bernilai
- tahun
- tahun
- nol