[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!