Zaman serisi veri tahmini için bir kez tespit edilen aykırı değerler nasıl düzeltilir?


10

Zaman serisi verilerinde buldukları / algıladıkları zaman aykırı değerleri düzeltmenin bir yolunu bulmaya çalışıyorum. R'deki nnetar gibi bazı yöntemler, büyük / büyük aykırı değerlere sahip zaman serileri için bazı hatalar verir. Zaten eksik değerleri düzeltmeyi başardım, ancak aykırı değerler hala tahminlerime zarar veriyor ...


"düzelterek" ne demek istiyorsun?
rbatt

Değiştirme veya değiştirme ... Yoksa sadece çıkarma mı olmalı?
Mila

3
Aykırı değerler "gerçek" midir? Bununla demek istediğim, modelin aşırı olayları veya şokları tahmin edememesinden kaynaklanan aykırı değerler mi? Yoksa veri girişi sorunları gibi "hatalar" mı?
olasılık

Yanıtlar:


9

Artık R için tahmin paketinde aykırı değerlerin belirlenmesi ve yerine konması için bir tesis bulunmaktadır. (Ayrıca eksik değerleri de ele alır.) Görünüşe göre tahmin paketini zaten kullandığınız için, bu sizin için uygun bir çözüm olabilir. Örneğin:

fit <- nnetar(tsclean(x))

tsclean()Fonksiyonu (mevsimsel serisi için) STL kullanarak bir (mevsimsel olmayan serisi için) lös kullanarak güçlü eğilim, veya güçlü bir eğilim ve mevsimsel bileşenleri uyacaktır. Kalıntılar hesaplanır ve aşağıdaki sınırlar hesaplanır:

q0,1q0,9

U=q0.9+2(q0.9q0.1)L=q0.12(q0.9q0.1)
burada ve artıkların sırasıyla 10. ve 90. persentilleridir.q0.1q0.9

Aykırı değerler, büyük veya den küçük kalıntılara sahip noktalar olarak tanımlanır .LUL

Mevsimsel olmayan zaman serileri için aykırı değerlerin yerini doğrusal enterpolasyon alır. Mevsimsel zaman serileri için, STL uyumundan mevsimsel bileşen çıkarılır ve mevsimsellikten arındırılmış seriler, sonucu yeniden mevsimselleştirmeden önce aykırı değerlerin yerini almak için doğrusal olarak enterpole edilir.


1
Buradaki ayrıntılarınız da faydalıdır: stats.stackexchange.com/questions/1142/… (tsclean tsoutliers aramaları)

4

Bir ARIMA modeli belirlerken aynı anda Bakliyat / Seviye Kaymaları / Mevsimsel Bakliyatlar ve / veya Yerel Zaman Eğilimleri'ni tanımlamalısınız. Müdahale Tespiti prosedürleri hakkında http://www.ebay.com/ctg/Time-Series-Analysis-Univariate-and-Multivariate-Methods-David-P-Reilly-and-William-Wei-1999 adresinden bazı okuma materyalleri alabilirsiniz. - / 85697 ve http://www.unc.edu/~jbhill/tsay.pdf . Gördüğüm ücretsiz yazılımın istediği gibi yararlı sonuçlar elde etmek için SAS / SPSS / AUTOBOX gibi ticari yazılımlar izlemeniz gerekebilir. Geçerken AUTOBOX'a bu alanda önemli teknik gelişmelere katkıda bulundum.

DÜZENLE:

Daha da iyi bir yaklaşım, güçlü ARIMA parametrelerine ve iyi bir öngörüye yol açan titiz ARIMA yöntemini ve Müdahale Tespiti prosedürlerini kullanarak aykırı değerleri tanımlamaktır. Şimdi tekrar örneklenmiş kalıntıları nabız etkisi olmadan içeren simüle edilmiş tahminler geliştirmeyi düşünün. Bu şekilde, tahmin edilen model parametrelerinin nüfus değerleri olduğunu varsaymayan tahminler için her iki dünyanın da en iyisini iyi bir model ve daha gerçekçi belirsizlik ifadeleri alırsınız.


1

@Aksakal'a katılıyorum. Aykırı değerlerin giderilmesi yerine, aykırı değerlerle başa çıkmak için bir tür istatistiksel prosedür kullanmak daha iyi bir yaklaşım olacaktır. Verilerinizi kazanmanızı öneririm. Doğru uygulandığında, winsorisation aykırı değerlere göre nispeten sağlam olabilir. Bu sayfada: http://www.r-bloggers.com/winsorization/ , kötüleşmeyi uygulamak için R kodlarını bulacaksınız. Verilerinizi zayıflatmayı düşünüyorsanız, dağıtımın kuyrukları hakkında dikkatlice düşünmeniz gerekir. Aykırı değerlerin son derece düşük olması ya da son derece yüksek olması ya da her ikisinin birden olması bekleniyor. Bu, örneğin% 5 veya% 10 ve / veya% 95 veya% 99 seviyesinde kazanıp kazanmayacağınızı etkileyecektir.


1
Winsorization, genel bir ortalama tahmin etmek amacıyla, verilerde herhangi bir eğilim veya mevsimsel bileşen olmadığında bir anlam ifade edebilir, ancak aksi takdirde önemli bilgileri yok etmekle tehdit eder.
whuber

0

Öngörü bağlamında, aykırı değerleri kaldırmak çok tehlikelidir. Örneğin, bir bakkalın satışını öngörüyorsunuz. Komşu binada birkaç gün boyunca dükkanınızı kapatmanıza neden olan bir gaz patlaması olduğunu varsayalım. Dükkanın 10 yıl içinde kapatıldığı tek zaman buydu. Böylece, zaman serisini alırsınız, aykırı değeri algılar, kaldırır ve tahmin edersiniz. Gelecekte böyle bir şeyin olmayacağını sessizce varsaydınız. Pratik anlamda, gözlemlediğiniz varyansı sıkıştırdınız ve katsayı varyansları küçüldü. Dolayısıyla, tahmininiz için güven bantlarını gösterirseniz, aykırı değeri kaldırmazsanız olduğundan daha dar olacaktır.

Tabii ki, aykırı davranabilir ve her zamanki gibi devam edebilirsiniz, ancak bu da iyi bir yaklaşım değildir. Bunun nedeni, bu aykırı değer katsayıları eğrilmesidir.

Bu durumda daha iyi bir yaklaşım, yağ kuyrukları ile hata dağılımına, belki de kararlı bir dağılıma izin olduğunu düşünüyorum. Bu durumda aykırı değer katsayıları çok fazla eğriltmez. Bir aykırı değer kaldırıldığında katsayılara yakın olacaklardır. Ancak, aykırı değer hata dağılımında, hata varyansında görünecektir. Temel olarak, daha geniş tahmin güven bantları elde edersiniz.

Güven grupları çok önemli bir bilgi taşır. Satışların bu ay 1.000.000 $ olacağını tahmin ediyorsanız , ancak 10.000 $ olma olasılıkları% 5 ise, bu harcama, nakit yönetimi vb. İle ilgili kararlarınızı etkiler.


-1

Aykırı değerlerin çıkarıldığı bir modeli kullanarak (veya etmeyerek) tahmin yapmak, gelecekte gerçekleşen aykırı değerlerin olasılığına ve gerçekleşmesi durumunda etkisinin beklenen dağılımına bağlıdır. Antrenman verileri bunu aydınlatmak için yeterli mi? Bayesci bir yaklaşım ...


1
Bu yanlış. aykırı değerlere ayarlama yapmazsanız, özellikle aykırı değerleriniz serinin sonundaysa, tahmininiz yanlış olabilir.
tahminci
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.