STL işlevi neden rastgele verilerle önemli mevsimsel varyasyon veriyor?


11

Aşağıdaki kodla stl (Zaman Serisinin Mevsimlik Ayrışması)

plot(stl(ts(rnorm(144), frequency=12), s.window="periodic"))

Yukarıdaki koda rastgele veriler (rnorm fonksiyonu) konulduğunda önemli mevsimsel değişiklikler gösterir. Model farklı olsa da, bu her çalıştırıldığında önemli değişiklikler görülür. Bu tür iki desen aşağıda gösterilmiştir:

resim açıklamasını buraya girin

resim açıklamasını buraya girin

Mevsimsel değişiklik gösterdiğinde bazı verilerde stl işlevine nasıl güvenebiliriz. Bu mevsimsel varyasyonun diğer bazı parametreler ışığında görülmesi gerekiyor mu? Fikriniz için teşekkürler.

Kod bu sayfadan alınmıştır: Bu , intihar sayısı verilerindeki mevsimsel etkileri test etmek için uygun bir yöntem midir?


1
Bunun nedeni, takma tekniğinizde yeterli parametre varsa rastgele verilerde "desenler" bulunmasıdır.
bill_080

3
Burada "anlamlı" terimi herhangi bir önem testini yansıtmıyor gibi görünmektedir.
Nick Cox

1
Stl parametrik olmayan bir veriye dayalı bir yöntemdir, bu nedenle önem testi ile mevsimsel belirsizliklerin varlığını ölçmenin bir yolu yoktur.
tahminci

Yanıtlar:


12

Loess ayrışması, verilerin analizi için ilginç olan bileşenlere, örneğin trend veya mevsimsel olarak daraltılacak şekilde, verilere ortalamalar uygulayarak seriyi düzeltmeyi amaçlamaktadır . Ancak bu metodolojinin mevsimsellik varlığı için resmi bir test yapması amaçlanmamıştır .

stlÖrneğinizde mevsimsel periyodikliğin düzeltilmiş bir örneğini döndürmesine rağmen , bu model serinin dinamiklerini açıklamak için uygun değildir. Bunu görmek için, her bir bileşenin varyansını orijinal serinin varyansına göre karşılaştırabiliriz.

set.seed(123)
x <- ts(rnorm(144, sd=1), frequency=12)
a <- stl(x, s.window="periodic")
apply(a$time.series, 2, var) / var(x)
#   seasonal      trend  remainder 
# 0.07080362 0.07487838 0.81647852 

Verilerdeki varyansın çoğunu açıklayanların geri kalanı olduğunu görebiliriz (beyaz bir gürültü süreci için beklediğimiz gibi).

Mevsimselliğe sahip bir seri alırsak, mevsimsel bileşenin nispi varyansı çok daha alakalı olur (ancak lös parametrik olmadığı için test etmek için basit bir yolumuz olmamasına rağmen).

y <- diff(log(AirPassengers))
b <- stl(y, s.window="periodic")
apply(b$time.series, 2, var) / var(y)
#    seasonal       trend   remainder 
# 0.875463620 0.001959407 0.117832537 

Göreli varyanslar, mevsimsellikin serinin dinamiklerini açıklayan ana bileşen olduğunu göstermektedir.


Arsaya dikkatsiz bir bakış stlaldatıcı olabilir. Tarafından döndürülen güzel desen stl, verilerde ilgili bir mevsimsel modelin tanımlanabileceğini düşünmemize neden olabilir, ancak daha yakından bakmak, aslında durumun böyle olmadığını ortaya çıkarabilir. Amaç mevsimselliğin varlığına karar vermekse, loess ayrışması ön görüş olarak yararlı olabilir, ancak diğer araçlarla tamamlanmalıdır.


AirPassengers örneğinizde, çıktıda herhangi bir eğilim yoktur, arsa üzerinde net bir eğilim vardır (AirPassengers). "Diff (log (AirPassengers))" ifadesi kaldırılırsa, eğilim 0,86'ya (yalnızca sezonluk olarak 0,1) gelir. Ne yapılmalı?
rnso

Sayısal olarak net bir örnek verdim. Pratikte, düzeltilmiş bileşenlerin varyansını karşılaştırarak mevsimsellik varlığı hakkında bir sonuca varmak yeterli olmayabilir. Örneğin, bu durumda bulduğunuz gibi, eğilim farklılıklar alarak kaldırılmazsa, eğilimin varyansı mevsimsel bileşenin varyansına hakim olur. Soru şudur: 0,1 nispi varyans, bu bileşeni ilgili olarak değerlendirecek kadar büyük mü? Sorun şu ki, loess'e dayanarak, bileşenin varyansının önemli olup olmadığını test etmenin basit bir yolu yoktur.
javlacalle

Dediğim gibi, bu ve diğer durumlarda yapmamız gereken, mevsimsellik varlığını test etmek için başka yöntemler kullanmaktır. Örneğin cevabım ikinci bölümünü bakınız burada . Verilerde mevsimselliğin varlığına karar verdikten sonra, bu bileşenin modelini elde etmek için lös kullanabiliriz.
javlacalle

Sadece daha fazla açıklama için, göreceli sapma, ayrışmanın bir kısmının genel verilerde ne kadar oynadığını nasıl gösterir? IE% 70 mevsimsel,% 20 trend. vs
Ted Mosby

1
@TedMosby Varyans, verilerdeki değişkenliğin / dağılımın bir ölçüsüdür. Bileşenlerin varyanslarının (örn. Eğilim, mevsimsel) ve geri kalanın varyansının toplamı, orijinal serinin varyansına eklenir. Bu şekilde, bir bileşenin varyansını orijinal serinin varyansı ile karşılaştırarak, bileşenin ne kadar alakalı olduğu (yani, verilerdeki değişkenliğin ne kadarı bileşen tarafından açıklandığı) hakkında bir fikir edinebiliriz.
javlacalle

2

Benzer bir şekilde, mevsimsel olmayan verilere Fourier Modellerinin kullanıldığını gördüm, mevsimsel bir yapıyı uyum ve tahmin değerlerine zorlayarak benzer (nefes nefese!) Bir sonuca neden oldum. Tahmin edilen bir modelin takılması, kullanıcıya her zaman iyi analitiklerin önerebileceği / sunmayacağı gibi empoze ettiği / varsaydığı şeyi verir.


1
stl()Fourier fikirlerine dayanmaz. Henüz "akılsız" analizi savunan kimseyi görmeme rağmen, takılan herhangi bir model ailesinin dayatılan ya da varsayıldığı kabul edilebilir. Soru, herhangi bir prosedürün belirli bir veri seti için kullanıcıların ne kadar kötü çalıştığını ve nasıl çalıştığını anlamaları için ne kadar kapsam sağladığıdır.
Nick Cox

@NickCox oldukça doğru ....
IrishStat
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.