[Saya pertama kali memposting pertanyaan ini ke Stack Overflow di sini tetapi tidak mendapat balasan, jadi saya pikir saya akan mencoba di sini. Permintaan maaf jika pemasangan ulang tidak diizinkan.]
Saya sudah mencoba menggunakan implementasi algoritma Holt-Winters untuk peramalan deret waktu dengan Python tetapi telah mengalami hambatan ... pada dasarnya, untuk beberapa rangkaian input (positif), kadang-kadang ramalan angka negatif, yang seharusnya jelas tidak demikian. Bahkan jika ramalannya tidak negatif, mereka kadang-kadang sangat tidak akurat - urutan besarnya lebih tinggi / lebih rendah dari yang seharusnya. Memberikan algoritma lebih banyak periode data untuk bekerja dengan tampaknya tidak membantu, dan bahkan sering membuat perkiraan lebih buruk.
Data yang saya gunakan memiliki karakteristik berikut, yang mungkin menjadi masalah:
Sangat sering disampel (satu titik data setiap 15 menit, berbeda dengan data bulanan seperti contoh yang digunakan) - tetapi dari apa yang saya baca, algoritma Holt-Winters seharusnya tidak memiliki masalah dengan itu. Mungkin itu menunjukkan masalah dengan implementasi?
Memiliki beberapa periode - ada puncak harian (yaitu setiap 96 titik data) serta siklus mingguan data akhir pekan secara signifikan lebih rendah dari data hari kerja - misalnya hari kerja dapat memuncak di sekitar 4000 tetapi akhir pekan mencapai 1000 - tetapi bahkan ketika saya hanya memberikan itu data hari kerja, saya mengalami masalah angka negatif.
Apakah ada sesuatu yang saya lewatkan dengan implementasi atau penggunaan algoritma Holt-Winters secara umum? Saya bukan ahli statistik jadi saya menggunakan nilai 'default' dari alpha, beta, dan gamma yang ditunjukkan dalam tautan di atas - apakah itu yang menjadi masalah? Apa cara yang lebih baik untuk menghitung nilai-nilai ini?
Atau ... adakah algoritma yang lebih baik untuk digunakan di sini daripada Holt-Winters? Pada akhirnya saya hanya ingin membuat prakiraan yang masuk akal dari data historis di sini. Saya sudah mencoba perataan tunggal dan ganda eksponensial tetapi (sejauh yang saya mengerti) tidak mendukung periodisitas dalam data.
Saya juga telah melihat ke dalam menggunakan paket perkiraan R sebagai gantinya melalui rpy2 - apakah itu memberi saya hasil yang lebih baik? Saya membayangkan saya masih harus menghitung parameter dan sebagainya, jadi itu hanya ide yang bagus jika masalah saya saat ini terletak pada implementasi algoritma ...?
Setiap bantuan / masukan akan sangat dihargai!
sumber
Masalahnya mungkin Holt-Winters adalah bentuk model spesifik dan mungkin tidak berlaku untuk data Anda. Model HW mengasumsikan antara lain sebagai berikut. a) satu dan hanya satu tren b) tidak ada perubahan level dalam data yaitu tidak ada perubahan intersep 3) bahwa parameter musiman tidak bervariasi dari waktu ke waktu 4) tidak ada pencilan 5) tidak ada struktur autoregresif atau struktur model adaptif 6) kesalahan model yang memiliki varians konstan Dan tentu saja 7) bahwa sejarah menyebabkan masa depan yaitu tidak ada penggabungan harga / promosi. Dll sebagai variabel membantu
Dari uraian Anda, tampak bagi saya bahwa pendekatan frekuensi campuran mungkin diperlukan. Saya telah melihat masalah deret waktu di mana efek jam-of-the-hari dan efek hari-of-the-minggu memiliki istilah interaksi yang signifikan. Anda mencoba memaksa data Anda menjadi struktur yang tidak memadai yaitu tidak cukup umum. Memperkirakan parameter dan memilih dari set kecil model tidak menggantikan Identifikasi Model. Anda mungkin ingin membaca bagian tentang berbagai pendekatan untuk Pemodelan Otomatis di www.autobox.com/pdfs/catchword.pdf. Dalam hal pendekatan yang lebih umum saya menyarankan agar Anda mempertimbangkan model ARMAX atau dikenal sebagai Fungsi Transfer yang merelaksasi asumsi yang disebutkan sebelumnya.
sumber