Salah satu masalah penting yang dihadapi oleh peramal adalah apakah seri yang diberikan dapat diperkirakan atau tidak?
Saya menemukan sebuah artikel berjudul " Entropi sebagai Indikator A Priori dari Kemampuan Prakiraan " oleh Peter Catt yang menggunakan Perkiraan Entropi (ApEn) sebagai ukuran relatif untuk menentukan seri waktu tertentu yang dapat diperkirakan.
Artikel itu mengatakan,
"Nilai ApEn yang lebih kecil menunjukkan peluang yang lebih besar bahwa satu set data akan diikuti oleh data yang serupa (keteraturan). Sebaliknya, nilai ApEn yang lebih besar menunjukkan kemungkinan lebih rendah untuk mengulangi data yang serupa (ketidakteraturan). Oleh karena itu, nilai yang lebih besar membawa lebih banyak gangguan , keacakan dan kompleksitas sistem. "
Dan diikuti oleh rumus matematika untuk menghitung ApEn. Ini adalah pendekatan yang menarik karena memberikan nilai numerik yang dapat digunakan untuk menilai perkiraan dalam arti relatif. Saya tidak tahu apa artinya Perkiraan Entropi, saya membaca lebih banyak tentang itu.
Ada paket yang disebut pracma di R
yang memungkinkan Anda menghitung Apen. Untuk tujuan ilustrasi, saya menggunakan 3 seri waktu yang berbeda dan menghitung angka ApEn.
- Seri 1: Seri waktu AirPassenger yang terkenal - sangat deterministik dan kita harus dapat memperkirakan dengan mudah.
- Seri 2: Sunspot Time Series - terdefinisi dengan sangat baik tetapi harus lebih mudah diprediksi dibandingkan seri 1.
- Seri 3: Nomor Acak Tidak ada cara untuk meramalkan seri ini.
Jadi jika kita menghitung ApEn, Seri 1 harus kurang dari Seri 2 harus sangat sangat kurang Seri 3.
Di bawah ini adalah cuplikan R yang menghitung ApEn untuk ketiga seri.
library("pracma")
> series1 <- approx_entropy(AirPassengers)
> series1
[1] 0.5157758
> series2 <- approx_entropy(sunspot.year)
> series2
[1] 0.762243
> series3 <- approx_entropy(rnorm(1:30))
> series3
[1] 0.1529609
Ini bukan yang saya harapkan. Seri acak memiliki angka yang lebih rendah daripada seri AirPassenger yang didefinisikan dengan baik. Bahkan jika saya meningkatkan angka acak menjadi 100, saya masih mendapatkan yang berikut ini yang kurang dari seri 2 / Sunspot.yealry yang didefinisikan dengan baik.
> series3 <- approx_entropy(rnorm(1:100))
> series3
[1] 0.747275
Di bawah ini adalah pertanyaan saya:
- Ada 2 parameter dalam menghitung ApEn (
m
danr
)? Cara menentukannya. Saya menggunakan default padaR
kode di atas. - Apa yang saya lakukan salah yang menunjukkan bahwa salah bahwa ApEn lebih rendah untuk angka acak vs seri yang didefinisikan dengan baik seperti sunspot.yearly.
- Haruskah saya menasionalisasi / menurunkan seri dan kemudian memperkirakan ApEn. Namun penulis telah menerapkan ApEn langsung ke seri.
- Apakah ada cara lain untuk menentukan apakah seri tersebut dapat diperkirakan?
sumber
Jawaban:
Parameter
m
danr
, yang terlibat dalam perhitungan perkiraan entropi (ApEn) dari deret waktu, adalah panjang jendela (urutan) dan toleransi (nilai filter) , yang sesuai. Bahkan, dari segim
,r
sertaN
(jumlah titik data), Apen yang didefinisikan sebagai "logaritma natural dari prevalensi relatif pola berulang dari panjangm
dibandingkan dengan mereka yang panjangm + 1
" (Balasis, Daglis, Anastasiadis & Eftaxias 2011 , hal. 215):Oleh karena itu, tampak bahwa mengubah toleransi
r
memungkinkan untuk mengontrol granularity (temporal) dari penentuan entropi deret waktu. Namun demikian, menggunakan nilai default untuk keduanyam
danr
parameter dalampracma
panggilan fungsi entropi berfungsi dengan baik. Satu-satunya perbaikan yang perlu dilakukan untuk melihat hubungan nilai entropi yang benar untuk ketiga seri waktu (entropi yang lebih rendah untuk seri yang lebih jelas, entropi yang lebih tinggi untuk lebih banyak data acak) adalah meningkatkan panjang vektor data acak :Hasilnya seperti yang diharapkan - sebagai prediktabilitas fluktuasi menurun dari yang paling ditentukan
series1
untuk sebagian besar acakseries 3
, entropi mereka akibatnya meningkatkan:ApEn(series1) < ApEn(series2) < ApEn(series3)
.Dalam kaitan dengan lainnya langkah-langkah dari forecastability , Anda mungkin ingin memeriksa berarti kesalahan berskala mutlak (Mase) - lihat diskusi ini untuk lebih jelasnya. Analisis komponen diramalkan juga tampaknya menjadi menarik dan baru pendekatan untuk menentukan forecastability dari time series. Dan, diharapkan, ada
R
paket untuk itu, juga - ForeCA .Referensi
Balasis, G., Daglis, IA, Anastasiadis, A., & Eftaxias, K. (2011). Deteksi perubahan kompleksitas dinamis dalam waktu Dst sSeries menggunakan konsep entropi dan analisis rentang rescaled. Dalam W. Liu dan M. Fujimoto (Eds.), The Dynamic Magnetosphere, Buku Sopron Khusus IAGA, Seri 3, 211. doi: 10.1007 / 978-94-007-0501-2_12. Peloncat. Diperoleh dari http://members.noa.gr/anastasi/papers/B29.pdf
Georg M. Goerg (2013): Analisis Komponen yang Dapat Diprediksi. JMLR, W&CP (2) 2013: 64-72. http://machinelearning.wustl.edu/mlpapers/papers/goerg13
sumber
pracma::sample_entropy()
fungsi dan mengoreksi hubungan hasil di seluruh deret waktu dalam skenario itu juga.Setiap seri waktu terdiri dari 3 komponen: Tren, Musim, dan Acak. Jika data menunjukkan tren yang kuat dan atau sangat musiman, maka prediksi akan relatif mudah. Jika sebagian besar data acak, maka menurut definisi Anda tidak dapat memprediksi apa pun.
sumber