Saya mencoba mereproduksi algoritma prediksi yang ada, yang diturunkan oleh seorang pensiunan peneliti. Langkah pertama adalah mencocokkan beberapa data yang diamati dengan distribusi Weibull, untuk mendapatkan bentuk dan skala yang akan digunakan untuk memprediksi nilai masa depan. Saya menggunakan R untuk melakukan ini. Ini contoh kode saya:
x<-c(23,19,37,38,40,36,172,48,113,90,54,104,90,54,157,51,77,78,144,34,29,45,16,15,37,218,170,44,121)
f<-fitdistr(x, 'weibull')
Ini berfungsi dengan baik kecuali jika ada nol di array input, yang menyebabkannya gagal sepenuhnya. Hal yang sama terjadi di SAS. Seperti yang saya pahami, ini karena salah satu langkah dalam menghitung distribusi Weibull adalah mengambil log natural, yang tidak ditentukan untuk 0. Apakah ada cara yang masuk akal untuk mengatasi ini?
Sejauh ini yang terbaik yang saya temukan adalah menambahkan 1 ke semua nilai input saya, pas kurva, dan kemudian mengurangi satu dari nilai prediksi saya ("menggeser" kurva ke atas dan kemudian mundur ke bawah dengan 1). Ini cocok dengan data yang diprediksi sebelumnya dengan cukup baik, tetapi sepertinya itu cara yang salah untuk melakukannya.
sunting: Nilai-nilai dalam array input diamati, data dunia nyata (jumlah kemunculan sesuatu) untuk rentang tahun. Jadi dalam beberapa tahun jumlah kejadiannya nol. Apakah itu cara terbaik atau tidak (saya setuju mungkin tidak), pembuat algoritma asli mengklaim telah menggunakan distribusi Weibull, dan saya harus mencoba meniru proses mereka.