Wygładzanie wykładnicze jest klasyczną techniką stosowaną w nieszablonowym prognozowaniu szeregów czasowych. Tak długo, jak używasz go tylko do bezpośredniego prognozowania i nie używasz dopasowanych dopasowań w próbce jako danych wejściowych do innego eksploracji danych lub algorytmu statystycznego, krytyka Briggsa nie ma zastosowania. (W związku z tym jestem sceptycznie nastawiony do wykorzystywania go do „wygładzania danych do prezentacji”, jak mówi Wikipedia - może to być mylące, ukrywając wygładzoną zmienność).
Oto wprowadzenie do wygładzania wykładniczego.
A oto (10-letni, ale wciąż aktualny) artykuł przeglądowy.
EDYCJA: wydaje się, że istnieją wątpliwości co do zasadności krytyki Briggsa, prawdopodobnie pod wpływem jej opakowania . W pełni zgadzam się, że ton Briggsa może być szorstki. Chciałbym jednak zilustrować, dlaczego uważam, że ma on rację.
Poniżej symuluję 10 000 par szeregów czasowych, po 100 obserwacji każda. Wszystkie serie to biały szum, bez żadnej korelacji. Zatem uruchomienie standardowego testu korelacji powinno dać wartości p, które są równomiernie rozłożone na [0,1]. Jak to się dzieje (histogram po lewej stronie poniżej).
Załóżmy jednak, że najpierw wygładzamy każdą serię i stosujemy test korelacji do wygładzonych danych. Pojawia się coś zaskakującego: ponieważ usunęliśmy wiele zmienności z danych, otrzymujemy wartości p, które są zdecydowanie zbyt małe . Nasz test korelacji jest bardzo stronniczy. Będziemy więc zbyt pewni związku między oryginalną serią, co mówi Briggs.
Pytanie naprawdę zależy od tego, czy wykorzystujemy wygładzone dane do prognozowania, w którym to przypadku wygładzanie jest poprawne, czy też uwzględniamy je jako dane wejściowe w pewnym algorytmie analitycznym, w którym to przypadku usunięcie zmienności będzie symulować większą pewność naszych danych niż jest to uzasadnione. Ta nieuzasadniona pewność danych wejściowych przenosi się na wyniki końcowe i należy ją uwzględnić, w przeciwnym razie wszystkie wnioski będą zbyt pewne. (I oczywiście otrzymamy również zbyt małe przedziały prognozowania, jeśli użyjemy modelu opartego na „zawyżonej pewności” do prognozowania).
n.series <- 1e4
n.time <- 1e2
p.corr <- p.corr.smoothed <- rep(NA,n.series)
set.seed(1)
for ( ii in 1:n.series ) {
A <- rnorm(n.time)
B <- rnorm(n.time)
p.corr[ii] <- cor.test(A,B)$p.value
p.corr.smoothed[ii] <- cor.test(lowess(A)$y,lowess(B)$y)$p.value
}
par(mfrow=c(1,2))
hist(p.corr,col="grey",xlab="",main="p values\nunsmoothed data")
hist(p.corr.smoothed,col="grey",xlab="",main="p values\nsmoothed data")