ARIMA sırasını tanımlama sorunu


16

Bu uzun bir yazı, bu yüzden umarım bana katılabilirsin ve lütfen yanlış olduğum yerde beni düzeltin.

Amacım 3 veya 4 haftalık geçmiş verilerine dayanarak günlük bir tahmin oluşturmak.

Veriler, bir transformatör hattından birinin lokal yükünün 15 dakikalık verileridir. Mevsimsel bir ARIMA sürecinin model sırasını bulmakta sorun yaşıyorum. Elektrik talep süresi serilerini göz önünde bulundurun:

Orijinal Zaman Serisi http://i.share.pho.to/80d86574_l.png

İlk 3 hafta alt küme olarak alındığında ve farklılaştığında aşağıdaki ACF / PACF grafikleri hesaplanır:

Alt küme http://i.share.pho.to/5c165aef_l.png

İlk fark http://i.share.pho.to/b7300cc2_l.png

Mevsimsel ve ilk fark http://i.share.pho.to/570c5397_l.png

Bu seri biraz durağan gibi görünüyor. Ancak mevsimsellik de haftalık olabilir (bkz. Mevsimsel fark haftası ve ikinci dereceden farklılıklar [burada] http://share.pho.to/3owoq , ne düşünüyorsun?)

Öyleyse, modelin şu şekli aldığını söyleyelim:

birR,benMbir(p,1,q)(P,1,S)96

Son şekilde, gecikme 96'daki belirgin bir artış, mevsimsel bir MA (1) bileşenini gösterir (belki AR (1), PACF'de de belirgin bir artış olduğu için de olabilir). Gecikme 1: 4'teki sivri uçlar, biraz hayal gücü ile PACF'de üstel bozulmaya karşılık gelen bir MA (4) bileşenini gösterir. Böylece, manuel olarak seçilen ilk model şu şekilde olabilir:

birR,benMbir(0,1,4)(0,1,1)96
ile

Series: x 
ARIMA(0,1,4)(0,1,1)[96] 

    Coefficients:
    ma1      ma2      ma3      ma4     sma1
    -0.2187  -0.2233  -0.0996  -0.0983  -0.9796
    s.e.   0.0231   0.0234   0.0257   0.0251   0.0804

    sigma^2 estimated as 364612:  log likelihood=-15138.91
    **AIC=30289.82   AICc=30289.87   BIC=30323.18**

birR,benMbir(1,1,1)(2,0,2)96

Series: x 
ARIMA(1,1,1)(2,0,2)[96] 

    Coefficients:
    ar1      ma1    sar1    sar2     sma1     sma2
    0.7607  -1.0010  0.4834  0.4979  -0.3369  -0.4168
    s.e.  0.0163   0.0001  0.0033  0.0116   0.0216   0.0255

    sigma^2 estimated as 406766:  log likelihood=-15872.02
    **AIC=31744.99   AICc=31745.05   BIC=31784.25**

Bu, mevsimsel farklılık uygulanmadığı anlamına gelir. İşte her iki modelin kalıntıları. Ljung Box istatistiği, hala bazı otokorelasyonun mevcut olduğunu gösteren çok küçük bir p değeri verir (? Yanlışsa beni düzelt).

Tahmin

Böylece hangisinin daha iyi olduğunu belirlemek için, bir numune-dışı doğruluk testi en iyisidir. Böylece her iki model için de 24 saat ileriye dönük bir tahmin yapılır. Sonuçlar: auto.arima http://i.share.pho.to/5d1dd934_l.png manuel model http://i.share.pho.to/7ca69c97_l.png

Oto:

                      ME     RMSE      MAE       MPE      MAPE      MASE        ACF1 Theil's U
Training set   -2.586653 606.3188 439.1367 -1.284165  7.599403 0.4914563 -0.01219792        NA
Test set     -330.144797 896.6998 754.0080 -7.749675 13.268985 0.8438420  0.70219229  1.617834

Manuel

                       ME     RMSE      MAE        MPE      MAPE      MASE         ACF1 Theil's U
Training set 2.456596e-03 589.1267 435.6571 -0.7815229  7.509774 0.4875621 -0.002034122        NA
Test set     2.878919e+02 919.7398 696.0593  3.4756363 10.317420 0.7789892  0.731013599  1.281764

Sorular

Tahmin edebileceğiniz gibi, bu, bir veri kümesinin ilk üç haftası üzerinde yapılan bir analizdir. Aklımda şu sorularla mücadele ediyorum:

  1. En iyi ARIMA modelini nasıl seçerim (tüm farklı siparişleri deneyerek ve en iyi MASE / MAPE / MSE'yi kontrol ederek? Performans ölçümü seçiminin kendi başına bir tartışma olabileceği ..)
  2. Her yeni günlük tahmin için yeni bir model ve tahmin oluşturursam (çevrimiçi öngörmede olduğu gibi), yıllık eğilimi dikkate almam gerekir mi ve nasıl? (böylesine küçük bir alt kümede olduğu gibi, tahminim eğilimin ihmal edilebilir olduğu anlamına gelir)
  3. Model sırasının veri kümesi boyunca aynı kalmasını bekler misiniz, yani bana aynı modeli verecek başka bir altkümeyi alırken?
  4. Bu yöntemde tatillerle başa çıkmanın iyi bir yolu nedir? Yoksa bunun için harici tatil mankenleri olan ARIMAX'a mı ihtiyaç var?
  5. Uzun mevsimsel dönemlerdeseasonality=672 tartışıldığı gibi modelleri denemek için Fourier serisi yaklaşımını kullanmam gerekir mi?
  6. Öyleyse bu şöyle olur fit<-Arima(timeseries,order=c(0,1,4), xreg=fourier(1:n,4,672)(fourier işlevinin Hyndman'ın blog gönderisinde tanımlandığı gibi olduğu)
  7. İlk P ve Q bileşenleri fourier serisine dahil mi?

FPP'den elde edilen en teorik bilgi , harika şeyler!

Üstel yumuşatma veya (dinamik) doğrusal regresyon kullanma konusunda tavsiyede bulunmadan önce, bu karşılaştırmak için üzerinde çalışılmaktadır.

Veri

https://www.dropbox.com/sh/mzx61sskya5ze6x/Zq3A7Q6htH/trafo.txt

kod

data<-read.csv("file", sep=";")
load<-data[,3]

Birkaç sıfır değeri haftadan önceki değerlerle kaldırdım

stepback<-672
load[is.na(load)] <- 0 # Assumed no 0's in first 672 values!
idx <- which(load == 0)
idx <- idx[which(idx>stepback)] 
load[idx] <- load[idx-stepback] 

ED<-ts(load,start=0, end=c(760,96),frequency=96)
x<-window(ED,start=0, end=c(20,96))

Tekrarlanabilir bir örnek yayınlamak da mümkündür, ancak bu yazı daha da uzatacaktır, ancak gerekirse mümkündür. Bu yüzden sağlamam gereken bir şey varsa lütfen bana bildirin.

Yanıtlar:


9
  1. En iyi ARIMA modelini nasıl seçerim (tüm farklı siparişleri deneyerek ve en iyi MASE / MAPE / MSE'yi kontrol ederek? Performans ölçümü seçiminin kendi başına bir tartışma olabileceği ..)

Örnek dışı risk tahminleri performans değerlendirmesi ve dolayısıyla model seçimi için altın standarttır. İdeal olarak, daha fazla veri üzerinden risk tahminlerinizin ortalamasını almak için çapraz doğrulamayı yaparsınız. FPP zaman serileri için bir çapraz doğrulama yöntemini açıklar. Diğer yöntemlerin gözden geçirilmesi için Tashman'a bakınız:

Tashman, LJ (2000). Öngörme doğruluğunun örnek dışı testleri: bir analiz ve inceleme. Uluslararası Tahmin Dergisi, 16 (4), 437-450. DOI: (00) 00.065-0 10.1016 / S0169-2070

Tabii ki, çapraz doğrulama zaman alıcıdır ve bu nedenle insanlar genellikle auto.arima en iyi modeli seçen AIC gibi bir model seçmek için örnek içi kriterleri kullanmaya başvururlar. Bu yaklaşım, belki de optimal değilse bile, mükemmel bir şekilde geçerlidir.

  1. Her yeni günlük tahmin için yeni bir model ve tahmin oluşturursam (çevrimiçi öngörmede olduğu gibi), yıllık eğilimi dikkate almam gerekir mi ve nasıl? (böylesine küçük bir alt kümede olduğu gibi, tahminim eğilimin ihmal edilebilir olduğu anlamına gelir)

Yıllık trendle ne demek istediğinizden emin değilim. Yıllık mevsimsellik demek istediğinizi varsayarsak, bunu bir yıldan az bir veriyle hesaba katmanın hiçbir yolu yoktur.

  1. Model sırasının veri kümesi boyunca aynı kalmasını bekler misiniz, yani bana aynı modeli verecek başka bir altkümeyi alırken?

Verilerin oluşturulmasında bazı değişikliklerin yapılmasını engellemekle birlikte, en doğru temel modelin veri kümesi boyunca aynı olacağını umuyorum. Bununla birlikte, bu, herhangi bir prosedürle seçilen modelin (auto.arima tarafından kullanılan prosedür gibi), söz konusu prosedür verilerin farklı alt kümelerine uygulanması durumunda aynı olacağını söylemekle aynı değildir. Bunun nedeni, örneklemeye bağlı değişkenliğin, model seçim prosedürünün sonuçlarında değişkenliğe yol açmasıdır.

  1. Bu yöntemde tatillerle başa çıkmanın iyi bir yolu nedir? Yoksa bunun için harici tatil mankenleri olan ARIMAX'a mı ihtiyaç var?

Dış tatil mankenleri en iyi yaklaşımdır.

  1. Uzun mevsimsel dönemlerdeseasonality=672 tartışıldığı gibi modelleri denemek için Fourier serisi yaklaşımını kullanmam gerekir mi?

Bir şey yapmanız gerekiyor, çünkü bu makalede belirtildiği gibi, R'deki arima işlevi 350'den fazla mevsim dönemlerini desteklemiyor. Fourier yaklaşımıyla makul bir başarı elde ettim. Diğer seçenekler arasında mevsimsel ayrışma sonrası tahminler (FPP'de de yer almaktadır) ve yarasalar ve tbatlar gibi üstel yumuşatma modelleri yer alır.

  1. Öyleyse bu şöyle olur fit<-Arima(timeseries,order=c(0,1,4), xreg=fourier(1:n,4,672)(fourier işlevinin Hyndman'ın blog gönderisinde tanımlandığı gibi olduğu)

Doğru görünüyor. Farklı sayıda terim denemelisiniz. fourierTahmin paketinde artık Hyndman'ın blogundakinin yerine geçtiğini düşündüğüm biraz farklı özelliklere sahip bir işlev olduğunu unutmayın . Sözdizimi için yardım dosyasına bakın.

  1. İlk P ve Q bileşenleri fourier serisine dahil mi?

Burada ne istediğinden emin değilim. P ve Q genellikle AR ve MA mevsimsel bileşenlerinin derecelerini belirtir. Fourier yaklaşımını kullanarak, mevsimlik bileşenler yoktur ve bunun yerine mevsimle ilgili fourier terimleri için değişkenler vardır. Artık mevsimsel ARIMA değil, eşdeğerlerin sezona yaklaştığı ARIMAX.

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.