2016-04-11 24 views
0

"Crost {tsintermittent}" ve "croston {forecast}" örnekleme (eğitim) değerlerini nasıl hesapladığını anlamaya çalışıyorum. Benzer ama farklı sonuçlar veriyorlar. (Aşağıdaki örnek kodlara bakın) İki hesaplamanın farklı olup olmadığından emin değilim ya da aynı sonuçları karşılaştırmıyor muyum (her paket farklı bir terminoloji kullanıyor).Croston yöntemi nasıl hesaplanır

library (tsintermittent) 
library (forecast) 
# create an intermittent time-series 
x = c(5,5,5,5,5,5,6,8,0,8,0,8,0,0,4,0,0,6,7,0,0,0,9,0,11,0,0) 
x_crost = crost(x,h=5) # from the tsintermittent package 
x_croston=croston(x,h=5) # from the forecast package 
x_croston$fitted 
y=data.frame(x,x_crost$frc.in,x_croston$fitted) 
y # viex_croston results 
plot(x_croston) 
lines(x_croston$fitted, col="red") 
lines(x_crost$frc.in,col="blue") 

cevap

1

Biri optimize edilmiş parametreler kullanır, diğeri değil. forecast::croston, sıfır olmayan talep serisine iki sıfır ETS (A, N, N) modeline ve sıfır olmayan talepler arasındaki sürelere, ortak bir pürüzsüzleştirme parametresiyle (alpha=0.1 varsayılan değerdir) ve başlangıç ​​durumlarının her birinin ilk değerlerine uyarlanır. dizi. tsintermittent::crost, aynı iki modele uyar, ancak düzeltme parametresinin ve başlangıç ​​değerlerinin (varsayılan olarak Ortalama Mutlak Hızı'nı kullanarak) en iyi duruma getirmesini sağlar.

+0

Teşekkürler Rob. Aslında, aynı şeyi testlerimle keşfettim. Kendi sorumu cevaplamak üzereydim, ama sen bana onu yendin. Ayrıca, ilk değerlerin neden farklı olduğuna dair bir sonraki sorumu da yanıtladı. Tekrar teşekkürler! – Paul

İlgili konular