BaşlayınÜcretsiz başlayın

Mevsimsellik içermeyen yöntemlerin tahmin doğruluğunu değerlendirme

Veri biliminde, bir eğitim kümesi, olası ilişkileri keşfetmek için kullanılan bir veri kümesidir. Bir test kümesi ise bu potansiyel ilişkilerin gücünü doğrulamak için kullanılır. Bir veri kümesini bu parçalara ayırdığında, genelde verinin daha büyük kısmını eğitime, daha küçük kısmını teste ayırırsın.

Eğitim ve test kümeleri oluşturmak için kullanılabilecek fonksiyonlardan biri subset()'tir. Bu fonksiyon, isteğe bağlı start ve end argümanlarını indeks değerleriyle belirterek bir zaman serisinin alt kümesini döndürür.

> # x sayısal bir vektör veya zaman serisidir
> # 101'den 500'e kadar olan gözlemleri almak için
> train <- subset(x, start = 101, end = 500, ...)

> # İlk 500 gözlemi almak için
> train <- subset(x, end = 500, ...)

Videoda gördüğün gibi, bir diğer fonksiyon olan accuracy(), tahminler ve bunlara karşılık gelen gerçek gözlemler verildiğinde çeşitli tahmin doğruluğu istatistiklerini hesaplar. Eğer tahmin ettiğinden daha fazla gözlem verirsen, ilgili gözlemleri kendisi bulacak kadar akıllıdır.

> # f, "forecast" sınıfından bir nesnedir
> # x sayısal bir vektör veya zaman serisidir
> accuracy(f, x, ...)

Sunulan doğruluk ölçütleri arasında, ortalama karesel hatanın (MSE) karekökü olan kök ortalama karesel hata (RMSE) bulunur. RMSE'yi küçültmek (bu da doğruluğun artması demektir), MSE'yi küçültmekle aynıdır.

Önceden yüklenmiş gold zaman serisi, 1108 güne ait günlük altın fiyatlarından oluşur. Burada, ilk 1000 günü eğitim kümesi olarak kullanacak ve kalan 108 gün için tahminler oluşturacaksın. Bu tahminler, bu günlere ait gerçek değerlerle, bu bölümde daha önce kullandığın basit tahmin fonksiyonu naive() ve tüm gözlemlerin ortalamasına eşit tahminler veren meanf() kullanılarak karşılaştırılacaktır. Her ikisi için de, kaç değer için tahmin yapmak istediğini belirten h anahtar sözcüğünü belirtmen gerekecek.

Bu egzersiz, kursun bir parçasıdır

R ile Tahminleme

Kursa Göz Atın

Egzersiz talimatları

  • subset() kullanarak gold için ilk 1000 gözlemden oluşan bir eğitim kümesi oluştur. Buna train adını ver.
  • Kalan verileri içeren test kümesi için naive() ile tahminler üret ve bunu naive_fc değişkenine ata. h değerini buna göre ayarla.
  • Şimdi aynı test kümesi için meanf() ile tahminler üret ve bunu mean_fc değişkenine ata. h değerini buna göre ayarla.
  • İki yöntemin tahmin doğruluğu istatistiklerini accuracy() fonksiyonuyla karşılaştır.
  • Yukarıdaki sonuçlara göre, doğruluğu daha yüksek olan tahminleri bestforecasts olarak kaydet.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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 <- ___
Kodu Düzenle ve Çalıştır