Ecco un esempio di una serie non stazionaria che nemmeno un test del rumore bianco può rilevare (per non parlare di un test del tipo Dickey-Fuller):
Sì, potrebbe essere sorprendente ma questo non è un rumore bianco .
La maggior parte dei contro-esempi non stazionari si basa su una violazione delle prime due condizioni stazionarie: tendenze deterministiche (media non costante) o serie storiche / radice eteroschedastica dell'unità (varianza non costante). Tuttavia, puoi anche avere processi non stazionari che hanno media e varianza costanti, ma violano la terza condizione: la funzione di autocovarianza (ACVF) dovrebbe essere costante nel tempo e una funzione disolo.| s - t |c o v ( xS, xt)| s-t |
Le serie temporali sopra riportate sono un esempio di tali serie, che hanno media zero, varianza unitaria, ma l'ACVF dipende dal tempo. Più precisamente, il processo sopra è un processo MA (1) localmente stazionario con parametri tali da diventare un rumore bianco spurio (vedi riferimenti sotto): il parametro del processo MA cambia nel tempoXt= εt+ θ1εt - 1
θ1( u ) = 0,5 - 1 ⋅ u ,
dove è tempo normalizzato. Il motivo per cui questo sembra rumore bianco (anche se chiaramente per definizione matematica non lo è), è che il tempo che varia ACVF si integra a zero nel tempo. Poiché l'ACVF del campione converge nell'ACVF medio, ciò significa che l'autocovarianza del campione (e l'autocorrelazione (ACF)) convergeranno in una funzione che assomiglia al rumore bianco. Quindi anche un test di Ljung-Box non sarà in grado di rilevare questa non stazionarietà. L'articolo (dichiarazione di non responsabilità: sono l'autore) sul test per il rumore bianco rispetto alle alternative localmente stazionarie propone un'estensione dei test Box per gestire tali processi localmente stazionari.u = t / T
Per più codice R e maggiori dettagli vedi anche questo post sul blog .
Aggiornamento dopo il commento di mpiktas :
È vero che questo potrebbe apparire proprio come un caso teoricamente interessante che non si vede nella pratica. Sono d'accordo che è improbabile vedere direttamente un simile rumore bianco spurio in un set di dati del mondo reale, ma lo vedrai in quasi tutti i residui di un modello stazionario. Senza entrare troppo nei dettagli teorici, immagina un modello generale
varia nel tempo con una funzione di covarianza che varia nel tempo . Se si adatta un modello costante , questa stima sarà vicina alla media temporale del modello reale ; e naturalmente i residui ora saranno vicini a , che per costruzione diy θ ( k , u ) θ θ ( u ) θ ( u ) - θ θθ ( u )γθ( k , u )θˆθ ( u )θ ( u ) - θˆθˆsi integrerà a zero (approssimativamente). Vedi Goerg (2012) per i dettagli.
Diamo un'occhiata a un esempio
library(fracdiff)
library(data.table)
tree.ring <- ts(fread(file.path(data.path, "tree-rings.txt"))[, V1])
layout(matrix(1:4, ncol = 2))
plot(tree.ring)
acf(tree.ring)
mod.arfima <- fracdiff(tree.ring)
mod.arfima$d
## [1] 0.236507
Quindi adattiamo il rumore frazionario con il parametro (poiché pensiamo che tutto vada bene e abbiamo un modello stazionario). Controlliamo i residui: d <0,5dˆ=0.23dˆ< 0,5
arfima.res <- diffseries(tree.ring, mod.arfima$d)
plot(arfima.res)
acf(arfima.res)
Sembra buono vero? Bene, il problema è che i residui sono rumori bianchi spuri . Come lo so? Innanzitutto, posso provarlo
Box.test(arfima.res, type = "Ljung-Box")
##
## Box-Ljung test
##
## data: arfima.res
## X-squared = 1.8757, df = 1, p-value = 0.1708
Box.test.ls(arfima.res, K = 4, type = "Ljung-Box")
##
## LS Ljung-Box test; Number of windows = 4; non-overlapping window
## size = 497
##
## data: arfima.res
## X-squared = 39.361, df = 4, p-value = 5.867e-08
e in secondo luogo, sappiamo dalla letteratura che i dati degli anelli degli alberi sono in realtà rumori frazionari localmente fissi: vedi Goerg (2012) e Ferreira, Olea e Palma (2013) .
Ciò dimostra che il mio - certo - aspetto teoricamente apparente, si sta effettivamente verificando nella maggior parte degli esempi del mondo reale.