R de bir zaman serisinin düzgünlüğü nasıl ölçülür?


25

R'de zaman dizisinin düzgünlüğünü ölçmenin iyi bir yolu var mı? Örneğin,

-1, -0.8, -0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6, 0.8, 1.0

daha yumuşak

-1, 0.8, -0.6, 0.4, -0.2, 0, 0.2, -0.4, 0.6, -0.8, 1.0

aynı ortalama ve standart sapmalara sahip olmalarına rağmen. Bana bir zaman serisinde pürüzsüz bir puan verecek bir işlev varsa, iyi olurdu.


4
Pürüzsüzlük, stokastik süreçler teorisinde iyi tanımlanmış bir anlama sahiptir. ("Bir variogram, yüzeyin pürüzlülüğünün istatistiksel olarak temelli, niceliksel bir açıklamasıdır": goldensoftware.com/variogramTutorial.pdf , s. 16.) Pürüzsüzlük, variogramın sıfır mesafeye ekstrapolasyonuyla ilgilidir . (Ardışık farklılıkların SD'si ve gecikmeli otokorelasyon bunun hızlı ve kirli versiyonlarıdır). Temel bilgi, Taylor serisinin katsayılarında 0'da bulunur. Örneğin, sıfır olmayan bir sabittir. 0'da yüksek dereceli sıfır, çok düzgün bir seri olduğunu gösterir.
whuber

Ben de patlama üssünü duydum .
Taylor

Ne kadar komik, aynı şeyi kendim de merak ediyordum. Gönderdiğiniz için teşekkür ederiz!
Chris Beeley,

@whuber: Bu bir cevap, yorum değil.
naught101

@ naught101 ben alçakgönüllülükle yalvarırım: yorumum apropos ile ilgili bir durumdur ve bu, kişinin o düzgünlüğü nasıl tahmin edeceğine değil, mekansal verileri modellemek için kullanılan teorik süreci ifade eder . Çok tahminde olduğum, ama bir tanesinde özel olmayan (zamanın okunun yönü nedeniyle) bildiğim bir tahmin var, bu yüzden çok boyutlu prosedürleri zaman serilerine uygulamanın tümüyle olduğunu iddia etmekten çekinmiyorum. geleneksel hatta iyi bir yaklaşım.
whuber

Yanıtlar:


22

Farklılıkların standart sapması size kaba bir pürüzsüzlük tahmini verecektir:

x <- c(-1, -0.8, -0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6, 0.8, 1.0)
y <- c(-1, 0.8, -0.6, 0.4, -0.2, 0, 0.2, -0.4, 0.6, -0.8, 1.0)
sd(diff(x))
sd(diff(y))

Güncelleme: Cyan'ın işaret ettiği gibi, bu size ölçeğe bağlı bir önlem verir. Benzer bir ölçek bağımsız ölçü, standart sapma yerine varyasyon katsayısını kullanacaktır:

sd(diff(x))/abs(mean(diff(x)))
sd(diff(y))/abs(mean(diff(y)))

Her iki durumda da, küçük değerler daha yumuşak serilere karşılık gelir.


1
Bu puan, uygulamaya bağlı olarak anlamlı olabilecek veya olmayabilecek ölçek değişmez değildir. (Ve kendi öneri olduğunu aynı endişe kendisine geçerlidir böylece ölçek değişmeyen,.) Ayrıca, işaret 's değerinde yukarıdaki puan için, daha küçük değerler daha düzgün zaman serileri gösteriyor ki.
Camgöbeği

1
@Cyan teşekkür ederiz. Şimdi bir ölçek bağımsız sürümü de ekledim.
Rob Hyndman

2
Gerçekten diffpaydaları dahil etmeyi düşünüyor musunuz ? Değerler cebirsel olarak (x[n]-x[1])/(n-1)(ham) bir eğilim ölçüsüdür ve çoğu durumda sıfıra son derece yakın olacak şekilde düşebilir ve bu da dengesiz ve korkunç derecede anlamlı bir istatistik ortaya çıkarır. Bundan şaşırdım, ama belki de bariz bir şeyle
ilgileniyorum

1
diffDurağanlık varsayımından kaçınmak için kullanılırdı . Payda ile tanımlandıysa abs(mean(x)), ölçeklendirme yalnızca xdurağan olduğunda işe yarar. Farklılığı almak, farklı durağan süreçler için de çalışacağı anlamına gelir. Tabii ki, farklar xdurağan olmayabilir ve o zaman hala sorunlar var. Ölçekleme zaman serileri bu nedenle zor. Ama istikrar konusunda senin fikrin var. Daha iyi bir şey yapmanın, örneğin parametrik olmayan bir pürüzsüzlük kullanarak çok daha karmaşık bir şey gerektireceğini düşünüyorum.
Rob Hyndman

1
Sürekli bir eğilimin mükemmel şekilde pürüzsüz olması gerektiğini düşünürdüm, bu yüzden cevap 0 olmalıdır.
Rob Hyndman

13

Gecikmeli bir otokorelasyon bir skor olarak görev yapacak ve oldukça basit bir istatistiksel yorumlamaya da sahip olacak.

cor(x[-length(x)],x[-1])

Puan yorumlama:

  • 1'e yakın puanlar, sorunsuz şekilde değişen bir dizi anlamına gelir
  • 0'a yakın puanlar, bir veri noktası ile aşağıdaki nokta arasında genel bir doğrusal ilişki olmadığı anlamına gelir (yani, arsa (x [-length (x)], x [-1]), herhangi bir görünür doğrusallığa sahip bir dağılım grafiği vermez)
  • -1'e yakın puanlar, serinin belirli bir şekilde pürüzlü olduğunu göstermektedir: eğer bir nokta ortalamanın üstünde ise, bir sonraki yaklaşık aynı miktarda ortalamanın altında olması muhtemeldir ve bunun tersi de geçerlidir.

0

Sadece timestep sayısı ile olan korelasyonu kontrol edebilirsiniz. Bu, zaman dilimleri üzerinde basit bir doğrusal regresyonun R²'sini almakla aynı olacaktır. Ancak, bunların iki farklı zaman dilimi olduğunu unutmayın, bu yüzden bunun bir karşılaştırma olarak ne kadar iyi çalıştığını bilmiyorum.


4
Bu zamanla doğrusallığın bir ölçüsü olurdu, ancak pürüzsüzlüğün ölçüsü olmazdı.
Rob Hyndman
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.