(Bu yanıt , bazı verileri grafik biçiminde sunan olağanüstü olayları saptamadaki yinelenen (şimdi kapalı) sorusuna yanıt verdi .)
Aykırı saptama, verinin niteliğine ve bunlar hakkında neyi varsaymaya istekli olduğunuza bağlıdır. Genel amaçlı yöntemler sağlam istatistiklere dayanır. Bu yaklaşımın özü, verilerin yığınını herhangi bir aykırı etkilenmeyecek şekilde karakterize etmek ve daha sonra bu karakterizasyona uymayan herhangi bir bireysel değeri işaret etmektir.
Bu bir zaman dizisi olduğu için, aykırı değerleri sürekli olarak saptamaya (yeniden) ihtiyaç duymanın komplikasyonunu ekler. Bu, seri ortaya çıktıkça yapılacaksa, gelecekteki verileri değil, yalnızca algılama için eski verileri kullanmamıza izin verilir! Ayrıca, birçok tekrarlanan testlere karşı koruma olarak, yanlış pozitif oranı çok düşük olan bir yöntem kullanmak isteriz.
Bu düşünceler, veriler üzerinde basit, sağlam bir hareketli pencere dışa açık testi çalıştırılmasını önerir . Pek çok olasılık var, ancak basit, kolay anlaşılan ve kolayca uygulanabilen bir tanesi, çalışan bir MAD: medyandan medyan mutlak sapmasıdır. Bu, standart sapmalara benzer şekilde verilerdeki güçlü bir varyasyon ölçüsüdür. Bir uzaktaki zirve birkaç Mads veya ortanca daha büyük olacaktır.
R
x=(1,2,…,n)n=1150y
# Parameters to tune to the circumstances:
window <- 30
threshold <- 5
# An upper threshold ("ut") calculation based on the MAD:
library(zoo) # rollapply()
ut <- function(x) {m = median(x); median(x) + threshold * median(abs(x - m))}
z <- rollapply(zoo(y), window, ut, align="right")
z <- c(rep(z[1], window-1), z) # Use z[1] throughout the initial period
outliers <- y > z
# Graph the data, show the ut() cutoffs, and mark the outliers:
plot(x, y, type="l", lwd=2, col="#E00000", ylim=c(0, 20000))
lines(x, z, col="Gray")
points(x[outliers], y[outliers], pch=19)
Soruda gösterilen kırmızı eğri gibi bir veri kümesine uygulandığında, bu sonucu verir:
Veriler kırmızı renkte, 30 günlük ortanca + 5 * MAD eşiğinin gri renkte eşik değeri ve sadece gri eğrinin üzerindeki veri değerleri olan aykırı renkler - siyah olarak gösterilir.
(Eşik yalnızca ilk pencerenin sonundan başlayarak hesaplanabilir . Bu ilk penceredeki tüm veriler için ilk eşik kullanılır: bu nedenle gri eğri x = 0 ve x = 30 arasında düzdür.)
Parametreleri değiştirmenin etkileri (a) değerinin arttırılması window
gri eğriyi yumuşatma eğiliminde olacaktır ve (b) arttırılması threshold
gri eğriyi yükseltecektir. Bunu bilerek, veriler ilk bir parçayı alabilir ve dıştaki zirveleri en iyi şekilde ayıran parametrelerin değerlerini hızlı bir şekilde tanımlayabilir. Geri kalan verileri kontrol etmek için bu parametre değerlerini uygulayın. Bir çizim, yöntemin zaman içinde kötüye gittiğini gösterirse, bu verilerin niteliğinin değişmekte olduğu ve parametrelerin yeniden ayarlanması gerekebileceği anlamına gelir.
Bu yöntemin verilerle ilgili ne kadar az varsaydığına dikkat edin: normal şekilde dağıtılması gerekmez; herhangi bir periyodiklik sergilemelerine gerek yoktur; Olumsuz olmaları bile gerekmez. Tek düşündüğü, verilerin zaman içinde oldukça benzer şekilde davrandığı ve dıştaki tepe noktalarının diğer verilerden gözle görülür şekilde daha yüksek olduğu.
Herhangi biri denemek isterse (veya burada sunulan ile başka bir çözümü karşılaştırırsak), soruda gösterilenler gibi veri üretmek için kullandığım kod.
n.length <- 1150
cycle.a <- 11
cycle.b <- 365/12
amp.a <- 800
amp.b <- 8000
set.seed(17)
x <- 1:n.length
baseline <- (1/2) * amp.a * (1 + sin(x * 2*pi / cycle.a)) * rgamma(n.length, 40, scale=1/40)
peaks <- rbinom(n.length, 1, exp(2*(-1 + sin(((1 + x/2)^(1/5) / (1 + n.length/2)^(1/5))*x * 2*pi / cycle.b))*cycle.b))
y <- peaks * rgamma(n.length, 20, scale=amp.b/20) + baseline