Aykırı değerler içeren bir zaman serisi için model nasıl takılır


9

ARIMA (5,1,2) modelini auto.arima()R işlevini kullanarak taktım ve siparişe bakarak bunun tahmin edilmesi için en iyi model olmadığını söyleyebiliriz. Veri serilerinde aykırı değerler varsa, bu tür verilere bir model sığdırmanın yöntemi nedir?


Aykırı değerlerin ne olduğuna dair herhangi bir veri / teoriniz var mı? "Uzak" noktaların aykırı olduğunu varsayamazsınız, ancak belirli bir tarihte özel bir şeyin olduğunu ve o olayın verilerinizi etkileyeceğini biliyorsanız, o tarih için modelinize bir gösterge değişkeni ekleyebilirsiniz. Aşağıdaki IrishStat'ın yorumuna bakın.
Wayne

O dönemde 1 veya 2 haftada özel bir şey olduysa ve modelini etkiliyorsa, model yanlış olabilir. mevsimsel varyasyon gibi başka bir neden olmadığından, aykırı değerlerin modeli etkileyen neden olduğunu varsaydım.
Anthony

Yanıtlar:


7

Michael Chernick sizi doğru yönde gösteriyor. Ruey Tsay'ın çalışmalarına bu bilgi kütlesine eklenen gibi de bakardım. Daha fazlasını burada görün .

Bugünün otomatik bilgisayar algoritmalarına karşı rekabet edemezsiniz. Düşünmediğiniz ve genellikle herhangi bir kağıtta veya kitapta belgelenmemiş zaman serilerine yaklaşmanın birçok yoluna bakarlar. Bir ANOVA'nın nasıl yapılacağı sorulduğunda, farklı algoritmalarla karşılaştırılırken kesin bir cevap beklenebilir. Örüntü tanımayı nasıl yapacağım sorusunu sorduğunda, sezgisel yöntemler söz konusu olduğundan birçok yanıt mümkündür. Sorunuz buluşsal yöntemlerin kullanımını içerir.

Verilerde aykırı değerler varsa bir ARIMA modeline uymanın en iyi yolu, olası doğa durumlarını değerlendirmek ve belirli bir veri kümesi için en uygun görülen yaklaşımı seçmektir. Olası bir doğa durumu, ARIMA sürecinin açıklanmış varyasyonun birincil kaynağı olmasıdır. Bu durumda, ARIMA sürecini acf / pacf fonksiyonu aracılığıyla "geçici olarak" tanımlayacak ve daha sonra kalıntıları olası aykırı değerler açısından inceleyecektir. Aykırı değerler Darbeler, yani bir kerelik olaylar VEYA belirli sıklıkta sistematik aykırılıklar tarafından kanıtlanan mevsimsel darbeler olabilir (örneğin aylık veriler için 12). Üçüncü tip bir aykırı değer, birinin her biri aynı işarete ve büyüklüğe sahip bitişik darbeler kümesine sahip olduğu, buna adım veya seviye kaydırma denir. Geçici ARIMA işleminden kalıntılar incelendikten sonra, geçici bir birleşik model oluşturmak için deneysel olarak belirlenen deterministik yapı geçici olarak eklenebilir. Ne de birincil varyasyon kaynağı 4 türden veya "aykırı değerlerden" biri ise, bunlara ab initio (ilk olarak) tanımlanarak ve daha sonra stokastik (ARIMA) yapıyı tanımlamak için bu "regresyon modelindeki" kalıntılar kullanılarak daha iyi hizmet edilir. . Şimdi bu iki alternatif strateji, ARIMA parametrelerinin zamanla değiştiği veya hata varyansının bir dizi olası nedenden dolayı, muhtemelen ağırlıklı en küçük karelere veya bir güç dönüşümü ihtiyacına bağlı olarak zaman içinde değiştiği bir "sorun" olduğunda biraz daha karmaşık hale gelir. günlükler / karşılıklılar vb. Başka bir komplikasyon / fırsat, bellek, nedensel ve ampirik olarak tanımlanmış kukla serileri içeren sorunsuz bir şekilde entegre edilmiş bir model oluşturmak için kullanıcı tarafından önerilen öngörücü serisinin katkısının nasıl ve ne zaman oluşturulacağıdır. Bu sorun, formun gösterge serileri ile en iyi modellenen trend serileri olduğunda daha da artar.0,0,0,0,1,2,3,4,... veya ve gibi seviye kaydırma dizilerinin kombinasyonları . Bu tür prosedürleri R'de yazmak ve yazmak isteyebilirsiniz, ancak hayat kısa. Sorununuzu gerçekten çözmek ve bu durumda prosedürün nasıl çalıştığını göstermek için memnuniyet duyarım, lütfen verileri gönderin veya sales@autobox.com adresine gönderin1,2,3,4,5,...n0,0,0,0,0,0,1,1,1,1,1


Döviz kuru için verileri / günlük verileri aldıktan / analiz ettikten sonra ek yorum / 1/1/2007 tarihinden itibaren 18 = 765 değer

resim açıklamasını buraya girin

Verilerin bir acf vardı:

resim açıklamasını buraya girin

formunun bir arma modelini ve bir dizi aykırı değeri belirledikten sonra, artıkların , acf değerleri çok küçük olduğu için rasgeleliği gösterir. AUTOBOX bir dizi aykırı değer tespit etti:(1,1,0)(0,0,0)

resim açıklamasını buraya girin

Son model:

resim açıklamasını buraya girin

kalıntılarda varyans değişikliklerinin tanımlandığı ve dahil edildiği bir TSAY la varyans stabilizasyonu arttırılması ihtiyacını içermiştir. Otomatik çalışmanızda yaşadığınız sorun, bir muhasebeci gibi kullandığınız prosedürün, Müdahale Tespiti (yani, Outlier Detection) ile verilere meydan okumak yerine verilere inanmasıydı. Burada tam bir analiz yayınladım .

resim açıklamasını buraya girin


@IrishStat: Gelecekte biçimlendirme seçeneklerini kullanabilir misiniz? (bağlantı eklemek için doğru anahtar ctrl-c değil ctrl-l'dir).
user603

@ user603 Ben sadece bir grafik ekle seçeneğini kullanıyorum. Ctrl-l veya cntrl-c ile ne demek istediğini bilmiyorum. Belki bana yardım edebilirsin, lütfen dave / @ / autobox.com adresinden benimle iletişime geç ve belki de benimle bu konuda yürüyebilir / konuşabilirsin.
IrishStat

@IrishStat: buraya bir bakın .
user603

@ user603 Tamam ama yine de ctrl-l ve cntrl-c ile ne demek istediğinizi bilmiyorum. Görüntü ekleyebildiğim görüntü aktarımını kullanıyordum. Cntrl-g yazarsam boş bir açılır ekran alırım.
IrishStat

@IrishStat: sorun değil - bağlantının yöntemi ctrl-l :) 'den daha iyidir. Not: Amacım, metnin akışını kesen bu uzun bağlantıları gizleyerek, cevaplarınızı / yorumlarınızı kozmetik açıdan daha çekici hale getirmenize yardımcı olmaktı. Bağlantı size bunu nasıl başaracağınızı açıklar.
user603

6

R'de arima fonksiyonunu kullanmak için sağlam bir muadili yoktur (henüz) ; biri görünürse, burada listelenecektir . Belki bir alternatif, basit bir tek değişkenli aykırı algılama kuralı ile ilgili olan gözlemleri azaltmaktır, ancak ağırlıklı ARMA regresyonunu çalıştırmak için paketleri kullanmaya hazır görmüyorum. Olası başka bir alternatif de, dış noktaları Winsorize etmek olacaktır:

#parameters
para     <- list(ar=c(0.6,-0.48), ma=c(-0.22,0.24))
#original series
y1 <- y0 <- arima.sim(n=100, para, sd=sqrt(0.1796)) 
#outliers
out      <- sample(1:100, 20)               
#contaminated series
y1[out]  <- rnorm(20, 10, 1)                
plot( y1, type="l")
lines(y0, col="red")

rastgele kirlenme örneği

#winsorized series
y2      <- rep(NA, length(y1))
a1      <- (y1-median(y1)) / mad(y1)
a2      <- which(abs(a1)>3)
y2[-a2] <- y1[-a2]
for(i in 2:length(y2)){
   if(is.na(y2[i])){ y2[i] <- y2[i-1] }
}       

temizlenmiş seri


Bu seriler için kural tabanlı bir prosedür, yaklaşık 42 yıldır zaman serileri verilerine bakıldığında genel olarak işe yaramayabilir. Örneğin, 1,1,1,1,9,1,9,5,9 1,9,1,9 burada 7'inci değer istisnai VEYA genel olarak bilinmeyen bir formun güçlü otomatik hedef yapısına sahip bir seri VEYA 1,2,1,1,1,2,1,1,1 2,1,20,1,2,1,2,1,1,1,2,1,2,2,19,2,1,1,2,1,2,1,1,2,2, Nabız içermeyen aylık serilerde 2,21 ANCAK belirtilmemiş SEZONAL Kukla var. 12,24 ve 36'yı KÖTÜ olarak tespit etmek bebeği banyo suyuyla atıyor olacaktır.
IrishStat

Söylediğiniz her şey doğrudur, yani eğer yaraya yardımcı olacak bir bant yardımı sağlıyorsanız, 1) seri sabittir, bu da diğer şeylerin yanı sıra seviye kayması, trend yok ve ARIMA yapısı yok; ve 2) serinin mevsimsel olmaması veya daha önce mevsimsellikten arındırılmış olması gerekir; . Benim deneyimlerime göre, bu tür varsayımlar hiç tutunmazsa ve kullanıcılar "kusurları" olan zaman serileri ile güreşmeye çalışırken uyarılarınızı görmezden gelirler. Buradaki yorumlarım tartışmacı değil, aydınlatıcı (bazılarına göre!)
IrishStat

@IrishStat OP sorusunu güncelledi ve mevsimsellik olmadığını söyledi.
user603

Christophe siz misiniz?
IrishStat

2

Sağlam zaman serisi modellerinde oldukça büyük bir literatür vardır. Martin ve Yohai en çok katkıda bulunanlar arasında. Çalışmaları 1980'lere dayanıyor. Kendimi zaman serilerinde aykırı değerleri tespit etmek için biraz çalıştım, ama Martin gerçekten zaman aykırı değerlerin veya aykırı değerlerin varlığında aykırı değerlerin ve parametre tahminlerinin belirlenmesine katkıda bulunan birçok kişiden biriydi.

  • İşte 100'den fazla referans listesiyle konuyla ilgili bir anket makalesine bir bağlantı . Hatta 1982 JASA makalemi bile içeriyor.
  • İşte sağlam zaman serisi analizinin teorisini, yöntemlerini ve uygulamalarını kapsayan ve güzel bir kaynakça içeren 2000 doktora tezi (pdf) .
  • İşte bazı sağlam zaman serisi araçları içeren bir yazılım bağlantısı .

Sağlam tahmin için kullanılan yazılım nedir? Tek değişkenli seriler için uygun mu?
Anthony

@Anthony Bu çok iyi bir soru. Sağlam zaman serisi modellemesi yapmadım. dug Martin, SPlus'ı pazarlayan Insightful adlı şirketi kurdu (aslında birkaç isim değişikliği vardı). SPlus yazılımına sağlam metidler eklediğinden eminim. Muhtemelen şimdi R'de bir versiyon var. Bunu kontrol edeceğim. İşte SPlus'un tarihini içeren bir Wikipedia makalesi. en.wikipedia.org/wiki/S-PLUS
Michael R.Chernick

@Anthony İşte Rob Hyndman tarafından R'de zaman serisi analizinde nelerin mevcut olduğuna dair bir kaynak. CRAN'da bulunanları içerir ve sağlam filtreleme de dahil olmak üzere çok çeşitli yöntemleri kapsar. cran.r-project.org/web/views/TimeSeries.html
Michael R. Chernick

2

modelinizin amacı tarihi tahmin etmek veya analiz etmek mi? bu tahmin için değilse ve bunların aykırı değerler olduğunu biliyorsanız , o tarihlerde 1 ve diğer tarihlerde 0 olan kukla değişkeni eklemeniz yeterlidir. bu şekilde kukla katsayılar aykırı değerlerle ilgilenecek ve modeldeki diğer katsayıları yorumlayabileceksiniz.

bu tahmin içinse, kendinize iki soru sormanız gerekir: bu aykırı değerler tekrar olacak mı? eğer yaparlarsa, onları hesaba katmak zorunda mıyım?

Diyelim ki Lehman kardeşler yere düştüğünde veri dizilerinizde aykırı değerler var. Açıkçası, tahmin etmenin hiçbir yolu olmayan bir olaydır, ancak bunu görmezden gelemezsiniz çünkü böyle bir şey gelecekte gerçekleşmek zorundadır. aykırı değerler için kukla atarsanız, bu olayın belirsizliğini hata varyansından etkili bir şekilde kaldırırsınız. tahmininiz kuyruk riskini hafife alacaktır - belki de risk yönetimi için iyi bir şey değil. Ancak, satışların temel tahminini üretecekseniz, kukla işe yarayacaktır, çünkü kuyrukla ilgilenmiyorsanız, büyük olasılıkla senaryolarla ilgileniyorsunuz - bu nedenle için öngörülemeyen olayı hesaba katmanıza gerek yok Bu amaç.

Bu nedenle, modelinizin amacı aykırı değerlerle başa çıkma şeklinizi etkiler.

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.