Come analizzare l'andamento in serie temporali non periodiche


12

Supponiamo di avere le seguenti serie temporali non periodiche. Ovviamente la tendenza sta diminuendo e vorrei dimostrarlo con alcuni test (con valore p ). Non sono in grado di utilizzare la regressione lineare classica a causa della forte auto-correlazione temporale (seriale) tra i valori.

library(forecast)
my.ts <- ts(c(10,11,11.5,10,10.1,9,11,10,8,9,9,
               6,5,5,4,3,3,2,1,2,4,4,2,1,1,0.5,1),
            start = 1, end = 27,frequency = 1)
plot(my.ts, col = "black", type = "p",
     pch = 20, cex = 1.2, ylim = c(0,13))
# line of moving averages 
lines(ma(my.ts,3),col="red", lty = 2, lwd = 2)

inserisci qui la descrizione dell'immagine

Quali sono le mie opzioni?


4
Penso che il fatto che la serie non sia periodica ( frequency=1) sia poco rilevante qui. Un problema più rilevante potrebbe essere se si desidera specificare un modulo funzionale per il proprio modello.
Richard Hardy,

1
Alcune ulteriori informazioni su quali siano i dati sarebbero probabilmente utili per la modellazione.
bdeonovic,

I dati sono conteggi di individui (in migliaia) di determinate specie contati ogni anno nel serbatoio dell'acqua.
Ladislav Naďo,

1
@LadislavNado è la tua serie così breve come nell'esempio fornito? Chiedo perché, in tal caso, riduce il numero di metodi che possono essere impiegati a causa delle dimensioni del campione.
Tim

1
L'ovvietà dell'aspetto decrescente dipende in larga misura dalla scala, che, per me, dovrebbe essere presa in considerazione
Laurent Duval,

Risposte:


7

Come hai detto, la tendenza nei dati di esempio è ovvia. Se si desidera solo giustificare questo fatto con il test di ipotesi, oltre a utilizzare la regressione lineare (la scelta parametrica ovvia), è possibile utilizzare il test Mann-Kendall non parametrico per la tendenza monotonica. Il test è usato per

valutare se c'è una tendenza monotonica al rialzo o al ribasso della variabile di interesse nel tempo. Una tendenza monotona verso l'alto (verso il basso) significa che la variabile aumenta costantemente (diminuisce) nel tempo, ma la tendenza può o meno essere lineare. ( http://vsp.pnnl.gov/help/Vsample/Design_Trend_Mann_Kendall.htm )

inoltre, come osservato da Gilbert (1987), il test

è particolarmente utile poiché sono ammessi valori mancanti e non è necessario che i dati siano conformi a una particolare distribuzione

La statistica del test è la differenza tra le differenze negative e positive tra tutte le possibili coppie n ( n - 1 ) / 2 , ovveroXj-Xion(n-1)/2

S=Σio=1n-1Σj=io+1nSgn(Xj-Xio)

Sgn()S τ-1+1τ

τ=Sn(n-1)/2

pn10pSS

vun'r(S)=118[n(n-1)(2n+5)-Σp=1gtp(tp-1)(2tp+5)]

ZMK

ZMK={S-1vun'r(S)Se S>00Se S=0S+1vun'r(S)Se S<0

ZMK

  • ZMKZ1-α
  • ZMK-Z1-α
  • |ZMK|Z1-α/2

In questa discussione puoi trovare il codice R che implementa questo test.

SpSpSdatiSpermutazioneSdatiSpermutazione


Gilbert, RO (1987). Metodi statistici per il monitoraggio dell'inquinamento ambientale. Wiley, NY.

Önöz, B., e Bayazit, M. (2003). Il potere dei test statistici per il rilevamento delle tendenze. Journal turco di ingegneria e scienze ambientali, 27 (4), 247-251.


1

Il problema che hai "Non sono in grado di utilizzare la regressione lineare classica a causa della forte auto-correlazione temporale (seriale) tra i valori". è in realtà un'opportunità. Ho preso i tuoi 27 valori e ho usato AUTOBOX un software (che ho aiutato a sviluppare) che può (facoltativamente) determinare automaticamente un possibile modello. Ecco il grafico attuale / di adattamento e previsione inserisci qui la descrizione dell'immagine. L'ACF dei residui è qui con la trama residua qui inserisci qui la descrizione dell'immagine. Il modello è qui, inserisci qui la descrizione dell'immaginequi inserisci qui la descrizione dell'immaginee quiinserisci qui la descrizione dell'immagine. Due coefficienti descrivono appropriatamente i dati con una "tendenza" stimata, nota anche come "deriva", ovvero differenziale da periodo a periodo di -.596. Si noti che questo è un tipo di tendenza in cui il modello ha utilizzato i numeri di conteggio 1,2, ... 27 come variabile predittore. Se i tuoi dati suggerissero quel tipo di tendenza, il software lo avrebbe trovato più applicabile. Cercherò di trovare un mio precedente post che descrivesse in dettaglio / contrastasse questi due tipi di tendenze. Qui Identificazione di un modello di tendenza stocastica e Rilevamento di tendenza iniziale o valori anomali

inserisci qui la descrizione dell'immagine


2
Le previsioni di Autobox mancano di ogni punto interessante 1996, 1999, 2000, 2009 in cui si è interrotta la tendenza recente. È quasi come uno sfasamento di un anno. A tale proposito non spiega nulla.
Aksakal,

La tua precedente raccomandazione (ironia) di adattare un polinomio di alto grado ai dati farebbe esattamente quello che hai chiesto. Ma non si tratta di adattamento, ma di modellazione. La trama residua sembra descrivere adeguatamente un processo di errore dovuto a qualche fattore esterno / sconosciuto. Tutti i modelli sono sbagliati ma alcuni sono utili. Questo credo sia un modello utile, ma se pensi di poter fare di meglio, pubblica i tuoi risultati in modo che tutti possano imparare. Non c'è alcuna spiegazione da un modello ARIMA in quanto il passato è solo un proxy per le variabili omesse.
IrishStat

2
In questo caso sembra che non ci sia molto a che fare con le statistiche. Non è affatto una domanda statistica interessante. C'è una tendenza evidente e OP deve studiare la fisica del fenomeno. Penso che questi modelli come quelli di Autobox stiano semplicemente portando OP nella direzione sbagliata. Non stanno rivelando nulla di valore oltre ciò che è già evidente.
Aksakal,

La domanda è se l'analitico può sostituire o meno l'occhio umano ... L'analisi rivela ciò che l'occhio supporta, ecco perché pratichiamo le statistiche per fare forse più di quanto sia immediatamente visibile. La soluzione AUTOBOX porta l'OP nella giusta direzione, cioè verso il basso. I tuoi commenti non sono affatto produttivi secondo me MA come ho chiesto in precedenza (educatamente), fornire un'alternativa valida basata su statistiche. Secondo me questa è una domanda statistica molto interessante e richiede una risposta. Si prega di fornire uno se è possibile.
IrishStat,

1

È possibile utilizzare il coefficiente di correlazione dei ranghi di Spearman per determinare il grado in cui i dati sono monotonici. Restituisce valori positivi per dati monotonici in aumento e valori negativi per dati monotonici in diminuzione (tra -1 e +1). Seguendo il link qui sopra, v'è anche un test di significatività sezione che si occupa, anche se sono sicuro che la maggior parte dei pacchetti software avranno un valore di p fatto per voi quando si calcolano i coefficienti di correlazione (ad esempio in Matlab: [RHO,PVAL] = corr(...); in R: cor.test(x,...))


0

Puoi usare OLS perché non c'è autocorrelazione seriale (almeno nel campione che hai fornito); notare la statistica del test Durbin-Watson di 1.966 (≈2).

Quindi, la stima del coefficiente significativamente negativo per x1 è tutto ciò che serve per dire qualcosa del genere

Il conteggio osservato di [alcune specie] sta diminuendo di circa 1.000 all'anno.

o

Il conteggio osservato di [alcune specie] sta diminuendo tra 628 e 1.408 all'anno (al 95% di confidenza).

Ciò presuppone che la metodologia per il conteggio delle specie abbia una buona copertura ed è coerente nel corso degli anni nel campione.

inserisci qui la descrizione dell'immagine

Questo è stato prodotto con questo codice Python (scusate; non ho R a portata di mano):

import numpy as np
import statsmodels.api as sm

y = [10,12,10,11,8,9,6,4,2,4]
x = np.arange(len(y))
x = sm.add_constant(x)

mod = sm.OLS(y, x)
result = mod.fit()
print(result.summary())

0

Conoscere la fonte dei dati sarebbe molto utile, e anche le informazioni se i valori di my.tspotrebbero diventare negativi o meno.

Tuttavia, dando una rapida occhiata alla trama, piuttosto che vedere una tendenza lineare costante , suggerisco piuttosto che le serie temporali non siano fisse, quindi integrate . Ad esempio, anche i prezzi delle azioni sono integrati, ma i rendimenti delle azioni non sono più (fluttuano vicino a 0).

Questa ipotesi può anche essere verificata utilizzando il test completo Dickey completo:

require(tseries)
adf.test(my.ts)

Augmented Dickey-Fuller Test
Dickey-Fuller = -2.9557, Lag order = 2, p-value = 0.7727
alternative hypothesis: stationary

Dato che il valore p non è inferiore a 0,05, non ci sono prove che il processo sia fermo.

Per rendere stazionari i dati, è necessario differenziarli:

diff.ts <- diff(my.ts)
plot(diff.ts)

inserisci qui la descrizione dell'immagine

Ora i dati non mostrano più alcuna tendenza e l'unica cosa che troverai è un termine autoregressivo dell'ordine 2 (utilizzo acf(diff.ts)).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.