Günlük Verilerle Zaman Serisi Tahmini: Regresörlü ARIMA


15

Yaklaşık 2 yıllık günlük veri noktaları içeren günlük satış serisi veri kullanıyorum. Bazı çevrimiçi derslere / örneklere dayanarak verilerdeki mevsimselliği belirlemeye çalıştım. Görünüşe göre haftalık, aylık ve muhtemelen yıllık periyodiklik / mevsimsellik var.

Örneğin, özellikle hafta içinde birkaç gün süren ayın 1. ödeme gününde ödeme günleri vardır. Gözlemlere dikkat çekerek açıkça tanımlanabilen bazı belirli Tatil etkileri de vardır.

Bu gözlemlerden bazılarıyla donatılmış olarak aşağıdakileri denedim:

  1. ARIMA ( R-tahmin paketiyle Arimave auto.arimaR-tahmin paketinden), regresör (ve işlevde gerekli diğer varsayılan değerler) kullanılarak. Oluşturduğum regresör temelde 0/1 değerinde bir matristir:

    • 11 ay (n-1) değişken
    • 12 tatil değişkeni
    • Maaş günü bölümünü anlayamadım ... çünkü düşündüğümden biraz daha karmaşık bir etki. Ödeme günü etkisi, ayın 1. haftasının gününe bağlı olarak farklı çalışır.

    Zaman serilerini modellemek için 7 (yani, haftalık frekans) kullandım. Testi bir seferde 7 gün tahmin etmeyi denedim. Sonuçlar makul: 11 haftalık bir tahmin için ortalama doğruluk haftalık ortalama RMSE'ye% 5'tir.

  2. TBATS modeli (R-tahmin paketinden) - çoklu mevsimsellik (7, 30.4375, 365.25) kullanıyor ve açıkçası hiç regresör kullanmıyor. Doğruluk, haftalık ortalama RMSE% 3.5'te ARIMA modelinden şaşırtıcı derecede daha iyidir.

    Bu durumda, ARMA hatası olmayan model biraz daha iyi performans gösterir. Şimdi # 1'de açıklanan ARIMA modelinden sadece Tatil Etkileri için katsayıları TBATS modelinin sonuçlarına uygularsam haftalık ortalama RMSE% 2,95'e yükselir

Şimdi bu modellerin altında yatan teoriler hakkında fazla bir bilgi ya da bilgiye sahip olmadan, bu TBATS yaklaşımının bile geçerli olup olmadığı konusunda bir ikilem var. 11 hafta testinde RMSE'yi önemli ölçüde geliştirmesine rağmen, gelecekte bu doğruluğu sürdürüp sürdüremeyeceğini merak ediyorum. Veya ARIMA'dan TBATS sonucuna Tatil efektleri uygulamak bile haklı olabilir. Katkıda bulunanların herhangi birinden / tümünden gelen düşünceler çok takdir edilecektir.

Test Verileri Bağlantısı

Not: Dosyayı indirmek için "Bağlantıyı Farklı Kaydet" i yapın.


1
Siteye hoş geldiniz, @CKI. Verilerinizi web üzerindeki bir yere yükleyebiliyorsanız, buraya bir bağlantı gönderebilirsiniz.
gung - Monica'yı eski durumuna getirin

Regresörlerin nasıl kurulduğu hakkında daha fazla bilgi edinmek istiyorum.
yörünge

Haftanın 6 günü mankenler, 11 aylık mankenler ve tatiller basit 0/1 regresörleridir. Ayın sabit günü, tatillerdeki kurşun ve gecikme, zaman eğilimi, mevsimsel nabız ve nabız sezgisel bir araştırmaya dayanır.
Tom Reilly

Peki CKI, bunu nasıl çözdün?
Tom Reilly

Merhaba CKI, mevsimsellik matrisini oluşturmak için kullanılan bazı R betiğinizi paylaşabilir misiniz
Ahmed

Yanıtlar:


9

Bir yaklaşımı ölçmek için tek bir sayı değil, farklı ufuklarda farklı kökenlerden modelleri ve tahminleri değerlendiriyor olmalısınız.

Verilerinizin ABD'den olduğunu varsayıyorum. Bir hafta sonu iki tatile çıkabileceğiniz ve hafta içi okuma yapamayacağınız için 3 yıldan fazla günlük verileri tercih ederim. Görünüşe göre Şükran Günü etkiniz 2012'de bir gün kapalı ya da bir tür kayıt hatası oluştu ve modelin Şükran Günü efektini kaçırmasına neden oldu.

Yılın% 'si olarak bakarsanız Januarys genellikle veri kümesinde düşüktür. Hafta sonları yüksek. Aptallar bu davranışı yansıtır .... MONTH_EFF01, FIXED_EFF_N10507, FIXED_EFF_N10607

Günlük verilerle bir AR bileşeni kullanmanın, haftanın son iki hafta günü modelinin modelin genel olarak nasıl olduğunu varsaydığını gördüm ki bu büyük bir varsayımdır. 11 aylık manken ve 6 günlük mankenle başladık. Bazıları modelden çıktı. B ** 1, tatilden sonraki gün gecikme etkisi olduğu anlamına gelir. Ayın 6 özel günü (2,3,5,21,29,30 ---- 21 sahte olabilir mi?) Ve 3 zaman eğilimi, 2 mevsimsel darbe (haftanın bir gününün tipik, bu verilerden önce 0 ve her 7 günde bir 1) ve 2 aykırı değer (şükran gününe dikkat edin!) Tüm sonuçları buradan indirin www.autobox.com/se/dd/daily.zip

Modelin mantıklı olup olmadığını kontrol etmek için hızlı ve kirli bir XLS sayfası içerir. Tabii ki,% XLS, ham ölçütler oldukları için aslında kötüdür.

Bu modeli tahmin etmeyi deneyin:

Y(T) =  .53169E+06                                                                                        
       +[X1(T)][(+  .13482E+06B** 1)]                                       M_HALLOWEEN
       +[X2(T)][(+  .17378E+06B**-3)]                                       M_JULY4TH
       +[X3(T)][(-  .11556E+06)]                                            M_MEMORIALDAY
       +[X4(T)][(-  .16706E+06B**-4+  .13960E+06B**-3-  .15636E+06B**-2                                                 
       -  .19886E+06B**-1)]                                                 M_NEWYEARS
       +[X5(T)][(+  .17023E+06B**-2-  .26854E+06B**-1-  .14257E+06B** 1)]   M_THANKSGIVI
       +[X6(T)][(-  71726.    )]                                            MONTH_EFF01
       +[X7(T)][(+  55617.    )]                                            MONTH_EFF02
       +[X8(T)][(+  27827.    )]                                            MONTH_EFF03
       +[X9(T)][(-  37945.    )]                                            MONTH_EFF09
       +[X10(T)[(-  23652.    )]                                            MONTH_EFF10
       +[X11(T)[(-  33488.    )]                                            MONTH_EFF11
       +[X12(T)[(+  39389.    )]                                            FIXED_EFF_N10107
       +[X13(T)[(+  63399.    )]                                            FIXED_EFF_N10207
       +[X14(T)[(+  .13727E+06)]                                            FIXED_EFF_N10307
       +[X15(T)[(+  .25144E+06)]                                            FIXED_EFF_N10407
       +[X16(T)[(+  .32004E+06)]                                            FIXED_EFF_N10507
       +[X17(T)[(+  .29156E+06)]                                            FIXED_EFF_N10607
       +[X18(T)[(+  74960.    )]                                            FIXED_DAY02
       +[X19(T)[(+  39299.    )]                                            FIXED_DAY03
       +[X20(T)[(+  27660.    )]                                            FIXED_DAY05
       +[X21(T)[(-  33451.    )]                                            FIXED_DAY21
       +[X22(T)[(+  43602.    )]                                            FIXED_DAY29
       +[X23(T)[(+  68016.    )]                                            FIXED_DAY30
       +[X24(T)[(+  226.98    )]                                            :TIME TREND        1                   1/  1   1/ 3/2011   I~T00001__010311stack
       +[X25(T)[(-  133.25    )]                                            :TIME TREND      423                  61/  3   2/29/2012   I~T00423__010311stack
       +[X26(T)[(+  164.56    )]                                            :TIME TREND      631                  91/  1   9/24/2012   I~T00631__010311stack
       +[X27(T)[(-  .42528E+06)]                                            :SEASONAL PULSE  733                 105/  5   1/ 4/2013   I~S00733__010311stack
       +[X28(T)[(-  .33108E+06)]                                            :SEASONAL PULSE  370                  53/  6   1/ 7/2012   I~S00370__010311stack
       +[X29(T)[(-  .82083E+06)]                                            :PULSE           326                  47/  4  11/24/2011   I~P00326__010311stack
       +[X30(T)[(+  .17502E+06)]                                            :PULSE           394                  57/  2   1/31/2012   I~P00394__010311stack
      +                    +   [A(T)]
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.