R'de naif tahmin nasıl gerçekleştirilir: örneklerle
Saf bir tahmin, belirli bir döneme ilişkin tahminin önceki dönemde gözlemlenen değere eşit olduğu tahmindir.
Örneğin, yılın ilk üç ayında belirli bir ürünün aşağıdaki satışlarının olduğunu varsayalım:
Nisan satış tahmini, önceki Mart ayının gerçek satışlarına eşit olacaktır:
Bu yöntem basit olmasına rağmen pratikte şaşırtıcı derecede iyi sonuç verme eğilimindedir.
Bu eğitimde, R’de saf tahminlerin nasıl gerçekleştirileceğine ilişkin adım adım bir örnek sunulmaktadır.
1. Adım: Verileri girin
İlk olarak hayali bir şirkette 12 aylık satış verilerini gireceğiz:
#create vector to hold actual sales data
actual <- c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24)
Adım 2: basit tahminler oluşturun
Daha sonra, her ay için basit tahminler oluşturmak için aşağıdaki formülleri kullanacağız:
#generate naive forecasts forecast <- c(NA, actual[- length (actual)]) #view naive forecasts forecast [1] NA 34 37 44 47 48 48 46 43 32 27 26
İlk tahmin edilen değer için basitçe NA kullandığımızı unutmayın.
3. Adım: Tahmin doğruluğunu ölçün
Son olarak tahminlerin doğruluğunu ölçmeliyiz. Doğruluğu ölçmek için kullanılan iki yaygın ölçüm şunları içerir:
- Ortalama Mutlak Yüzde Hatası (MAPE)
- Ortalama Mutlak Hata (MAE)
Her iki ölçümü de hesaplamak için aşağıdaki kodu kullanabiliriz:
#calculate MAPE mean(abs((actual-forecast)/actual), na. rm = T ) * 100 [1] 9.898281 #calculate MAE mean(abs(actual-forecast), na. rm = T ) [1] 3.454545
Ortalama mutlak yüzde hatası %9,898 ve ortalama mutlak hata 3,45’tir.
Bu tahminin yararlı olup olmadığını anlamak için onu diğer tahmin modelleriyle karşılaştırabilir ve ölçüm doğruluğunun daha iyi mi yoksa daha kötü mü olduğunu görebiliriz.
4. Adım: Tahmini görselleştirin
Son olarak, her dönemdeki gerçek satışlar ile saf satış tahminleri arasındaki farkları görselleştirmek için basit bir çizgi grafiği oluşturabiliriz:
#plot actual sales plot(actual, type=' l ', col = ' red ', main=' Actual vs. Forecasted Sales ', xlab=' Sales Period ', ylab=' Sales ') #add line for forecasted sales lines(forecast, type=' l ', col = ' blue ') #add legend legend(' topright ', legend=c(' Actual ', ' Forecasted '), col=c(' red ', ' blue '), lty=1)
Tahmin edilen satış çizgisinin aslında gerçek satış çizgisinin değiştirilmiş bir versiyonu olduğunu unutmayın.
Saf tahmin, cari dönemdeki satışların önceki dönemdeki satışlara eşit olacağını öngördüğü için beklediğimiz şey tam olarak budur.
Ek kaynaklar
R’de MAE nasıl hesaplanır
R’de MAPE nasıl hesaplanır
MAPE için iyi bir değer olarak kabul edilen şey nedir?