Günlük bir zaman serisine bir ARIMA modeli uyguluyorum. Veriler günlük olarak 02-01-2010 - 30-07-2011 saatleri arasında toplanmaktadır ve gazete satışlarıyla ilgilidir. Satışlardaki haftalık bir patern bulunabildiğinden (satılan günlük ortalama kopya miktarı genellikle pazartesiden cumaya aynıdır, ardından cumartesi ve pazar günleri artar), bu "mevsimsellik" i yakalamaya çalışıyorum. Satış verileri "veri" göz önüne alındığında, zaman serisini aşağıdaki gibi oluşturuyorum:
salests<-ts(data,start=c(2010,1),frequency=365)
ve sonra AIC kriteri ile en iyi ARIMA modelini seçmek için auto.arima (.) işlevini kullanıyorum. Sonuç her zaman mevsimsel olmayan bir ARIMA modelidir, ancak bazı SARIMA modelini aşağıdaki sözdizimiyle örnek olarak denersem:
sarima1<-arima(salests, order = c(2,1,2), seasonal = list(order = c(1, 0, 1), period = 7))
Daha iyi sonuçlar elde edebilirim. Ts komutunda / arima şartnamesinde yanlış bir şey var mı? Haftalık model çok güçlü, bu yüzden yakalama konusunda çok fazla zorluk beklemem. Herhangi bir yardım çok yararlı olacaktır. Teşekkürler Giulia Deppieri
Güncelleştirme:
Bazı tartışmaları çoktan değiştirdim. Daha doğrusu, prosedür belirlediğim zaman en iyi model olarak ARIMA'yı (4,1,3) seçiyor D=7
, ancak AIC ve diğerleri de uygun endeks ve tahminlerin iyi olması hiç de iyileşmiyor . Sanırım mevsimsellik ile periyodiklik arasındaki karışıklık nedeniyle bazı hatalar var ..?!
Auto.arima çağrısı kullanılmış ve elde edilen çıktı:
modArima<-auto.arima(salests,D=7,max.P = 5, max.Q = 5)
ARIMA(2,1,2) with drift : 1e+20
ARIMA(0,1,0) with drift : 5265.543
ARIMA(1,1,0) with drift : 5182.772
ARIMA(0,1,1) with drift : 1e+20
ARIMA(2,1,0) with drift : 5137.279
ARIMA(2,1,1) with drift : 1e+20
ARIMA(3,1,1) with drift : 1e+20
ARIMA(2,1,0) : 5135.382
ARIMA(1,1,0) : 5180.817
ARIMA(3,1,0) : 5117.714
ARIMA(3,1,1) : 1e+20
ARIMA(4,1,1) : 5045.236
ARIMA(4,1,1) with drift : 5040.53
ARIMA(5,1,1) with drift : 1e+20
ARIMA(4,1,0) with drift : 5112.614
ARIMA(4,1,2) with drift : 4953.417
ARIMA(5,1,3) with drift : 1e+20
ARIMA(4,1,2) : 4960.516
ARIMA(3,1,2) with drift : 1e+20
ARIMA(5,1,2) with drift : 1e+20
ARIMA(4,1,3) with drift : 4868.669
ARIMA(5,1,4) with drift : 1e+20
ARIMA(4,1,3) : 4870.92
ARIMA(3,1,3) with drift : 1e+20
ARIMA(4,1,4) with drift : 4874.095
Best model: ARIMA(4,1,3) with drift
Dolayısıyla, arima fonksiyonunun şu şekilde kullanılması gerektiğini düşünüyorum:
bestOrder <- cbind(modArima$arma[1],modArima$arma[5],modArima$arma[2])
sarima1<-arima(salests, order = c(4,1,3))
mevsimsel bileşen parametreleri ve periyot spesifikasyonları olmadan. Veriler ve keşif analizi, aynı haftalık örüntüsün, Ağustos 2010 hariç (satışlardaki tutarlı bir artışın kaydedilmesi durumunda) sadece her hafta için yaklaşık olarak düşünülebileceğini göstermektedir. Ne yazık ki zamanlama modellemesi konusunda hiçbir uzmanlığım yok, aslında parametrik olmayan diğer parametrelere alternatif bir çözüm bulmak için bu yaklaşımı deniyorum, bu problemli verilere uymaya çalıştım. Aynı zamanda birçok bağımlı sayısal değişkenim var ancak cevap değişkenini açıklamada düşük güç gösterdiler: şüphesiz, modellemesi en zor kısım zaman bileşenidir. Dahası, ay ve hafta içi günleri temsil eden kukla değişkenlerin inşasının sağlam bir çözüm olmadığı ortaya çıktı.