MulaiMulai sekarang secara gratis

Mengevaluasi akurasi ramalan untuk metode non-musiman

Dalam data science, training set (himpunan latih) adalah himpunan data yang digunakan untuk menemukan kemungkinan hubungan. Test set (himpunan uji) adalah himpunan data yang digunakan untuk memverifikasi kekuatan hubungan potensial tersebut. Saat Anda memisahkan himpunan data menjadi dua bagian ini, umumnya porsi data yang lebih besar dialokasikan untuk pelatihan, dan sisanya untuk pengujian.

Salah satu fungsi yang dapat digunakan untuk membuat himpunan latih dan uji adalah subset(), yang mengembalikan sebagian dari deret waktu ketika argumen opsional start dan end ditentukan menggunakan nilai indeks.

> # x adalah vektor numerik atau deret waktu
> # Untuk mengambil subset observasi dari 101 hingga 500
> train <- subset(x, start = 101, end = 500, ...)

> # Untuk mengambil subset 500 observasi pertama
> train <- subset(x, end = 500, ...)

Seperti yang Anda lihat di video, fungsi lain, accuracy(), menghitung berbagai statistik akurasi ramalan berdasarkan ramalan dan observasi aktual yang bersesuaian. Fungsi ini cukup cerdas untuk menemukan observasi yang relevan jika Anda memberikannya lebih banyak data daripada yang Anda ramalkan.

> # f adalah objek dengan kelas "forecast"
> # x adalah vektor numerik atau deret waktu
> accuracy(f, x, ...)

Ukuran akurasi yang disediakan mencakup root mean squared error (RMSE) yang merupakan akar kuadrat dari mean squared error (MSE). Meminimalkan RMSE, yang berhubungan dengan peningkatan akurasi, sama dengan meminimalkan MSE.

Deret waktu gold yang telah dimuat berisi harga emas harian selama 1108 hari. Di sini, Anda akan menggunakan 1000 hari pertama sebagai himpunan latih, dan menghitung ramalan untuk 108 hari sisanya. Ramalan ini akan dibandingkan dengan nilai aktual untuk hari-hari tersebut menggunakan fungsi peramalan sederhana naive(), yang telah Anda gunakan sebelumnya di bab ini, dan meanf(), yang menghasilkan ramalan sama dengan rata-rata seluruh observasi. Anda harus menentukan kata kunci h (yang menyatakan jumlah nilai yang ingin Anda ramalkan) untuk keduanya.

Latihan ini adalah bagian dari kursus

Peramalan di R

Lihat Kursus

Petunjuk latihan

  • Gunakan subset() untuk membuat himpunan latih gold yang terdiri atas 1000 observasi pertama. Namai sebagai train.
  • Hitung ramalan untuk himpunan uji, yaitu data sisanya, menggunakan naive() dan simpan sebagai naive_fc. Atur h sesuai kebutuhan.
  • Sekarang, hitung ramalan untuk himpunan uji yang sama menggunakan meanf() dan simpan sebagai mean_fc. Atur h sesuai kebutuhan.
  • Bandingkan statistik akurasi ramalan dari kedua metode menggunakan fungsi accuracy().
  • Berdasarkan hasil di atas, simpan ramalan dengan akurasi lebih tinggi sebagai bestforecasts.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create the training data as train
train <- subset(___, end = ___)

# Compute naive forecasts and save to naive_fc
naive_fc <- naive(___, h = ___)

# Compute mean forecasts and save to mean_fc
mean_fc <- meanf(___, h = ___)

# Use accuracy() to compute RMSE statistics
accuracy(___, gold)
___(___, gold)

# Assign one of the two forecasts as bestforecasts
bestforecasts <- ___
Edit dan Jalankan Kode