Saya tidak dapat secara spesifik tentang sifat data karena ini adalah hak milik, tetapi anggaplah kami memiliki data seperti ini: Setiap bulan, beberapa orang mendaftar untuk suatu layanan. Kemudian, pada setiap bulan berikutnya, orang-orang tersebut dapat memutakhirkan layanan, menghentikan layanan atau menolak layanan (misalnya karena gagal membayar). Untuk kohort awal dalam data kami, kami memiliki sekitar 2 tahun data (24 bulan).
Jumlah orang yang bergabung setiap bulan adalah besar (dalam kisaran 100.000) dan jumlah yang melakukan salah satu dari tiga hal ini ada ribuan. Namun, kami tidak menggunakan data tingkat individu (yang akan menjadi jutaan baris) tetapi data dikumpulkan berdasarkan bulan dan kelompok (berapa proporsi masing-masing kelompok melakukan setiap hal setiap bulan).
Kami telah memodelkan data yang ada menggunakan multivariat adaptive regression splines (MARS) dan menemukan beberapa hasil menarik. Namun, saya khawatir menggunakan ini untuk memperkirakan atau memperkirakan ke masa depan. Kekhawatiran saya adalah karena prediksi ke masa depan harus di luar ruang sampel (dalam hal waktu) dan splines dapat menjadi tidak stabil untuk ekstrapolasi.
Apakah ini metode yang sah? Kekhawatiran apa yang ada dan dapat diatasi?
sumber
Jawaban:
Dari interpretasi saya atas pertanyaan, pertanyaan mendasar yang Anda tanyakan adalah apakah Anda dapat memodelkan waktu sebagai spline atau tidak.
Sekarang mari kembali ke seri waktu. Rangkaian waktu adalah kasus yang cukup istimewa dalam pembelajaran mesin. Mereka cenderung memiliki sedikit struktur, baik parsial in-variance atau salah satu dari banyak jenis substruktur, dan struktur ini dapat dieksploitasi. Tetapi diperlukan algoritma khusus yang dapat mengeksploitasi struktur ini, sayangnya splines tidak melakukan ini.
Ada beberapa hal yang saya sarankan Anda coba. Yang pertama adalah jaringan berulang. Jika deret waktu Anda tidak terlalu lama (dan tidak memiliki ketergantungan jangka panjang), Anda harus bisa menggunakan jaringan berulang vanila sederhana. Jika Anda ingin dapat memahami apa yang terjadi, Anda bisa menggunakan unit linear yang diperbaiki dengan bias sebagai fungsi aktivasi dan itu akan setara dengan melakukan pemodelan MARS pada subset dari deret waktu dan "memori" yang berulang pada jaringan saraf memegang. Akan sulit untuk menginterpretasikan bagaimana memori dikelola oleh internet, tetapi Anda harus mendapatkan beberapa ide bagaimana subruang sedang ditangani sehubungan dengan fungsi linier yang dihasilkan. Juga jika Anda memiliki fitur statis yang tidak termasuk dalam deret waktu, relatif mudah untuk menggunakannya di internet.
Jika deret waktu yang Anda miliki sangat panjang dan mungkin memiliki dependensi jangka panjang, saya sarankan menggunakan salah satu jaringan berulang yang terjaga keamanannya, seperti GRU atau LSTM.
Di sisi yang lebih klasik dari klasifikasi deret waktu, Anda dapat menggunakan model markov tersembunyi. Saya tidak akan melangkah lebih jauh ke dalam ini, karena saya tidak terbiasa dengan mereka.
Kesimpulannya, saya tidak akan merekomendasikan menggunakan splines karena dua alasan. Satu, itu tidak mampu menangani masalah ekstrapolasi yang rumit, yang tampaknya menjadi masalah yang Anda gambarkan. Dan kedua, splines tidak mengeksploitasi substruktur deret waktu yang sangat kuat dalam klasifikasi deret waktu.
Semoga ini membantu.
sumber