Quale è meglio, stl o decomporre?


10

Sto eseguendo l'analisi delle serie storiche usando R. Devo scomporre i miei dati in componenti di tendenza, stagionali e casuali. Ho dati settimanali per 3 anni. Ho trovato due funzioni in R - stl()e decompose(). Ho letto che stl()non va bene per la decomposizione moltiplicativa. Qualcuno può dirmi in quale scenario queste funzioni possono essere utilizzate?


1
Dovrai fornire un contesto al tuo problema, altrimenti dovremo migrare per scambiare lo stack o chiudere con la raccomandazione che provi ?stle ?decompose.
AdamO,

Risposte:


4

Direi STL. STL fa tendenza e stagionale vedi: http://www.wessa.net/download/stl.pdf

Decomponi solo stagionale vedere la documentazione qui: http://stat.ethz.ch/R-manual/R-devel/library/stats/html/decompose.html

Quando lavori con loro assicurati di includere il tipo di tendenza (moltiplicativo, additivo) e il tipo di stagione (moltiplicativo, additivo). Le tendenze a volte possono anche avere un fattore di smorzamento.

Per decomposizione moltiplicativa suppongo che tu intenda nel caso della tendenza. È improbabile che tu usi la decomposizione moltiplicativa a meno che tu non stia decomponendo una funzione di crescita esponenziale.


La decomposizione moltiplicativa nel caso semplice è dove il modello sottostante è Y = trend * stagionale * errore. I modelli moltiplicativi emergono in contesti non esponenziali. Ad esempio con le vendite hai un certo livello di traffico e un certo tasso di conversione, e quindi la componente stagionale varia proporzionalmente all'andamento. La soluzione è quella descritta da Natalie.

5

Svantaggi della decomposefunzione in R:

  1. La stima dell'andamento non è disponibile per le prime e ultime osservazioni.
  2. Presuppone che la componente stagionale si ripeta di anno in anno.

Quindi preferirei STL. È possibile ottenere una decomposizione moltiplicativa prendendo prima i registri dei dati e poi trasformando nuovamente i componenti.


1

STL è una tecnica più avanzata per estrarre la stagionalità, nel senso che consente di variare la stagionalità, il che non è il caso decompose.

Per capire come funziona STL:

  • l'algoritmo stima ogni sotto-serie stagionale (in una stagionalità di 7 giorni, stimerà 7 sotto-serie: la serie temporale del lunedì, la serie temporale del martedì, ecc.),
  • stimerà quindi la stagionalità locale eseguendo una regressione loess su ogni sotto-serie.

Ciò consente di catturare l'effetto variabile nella stagionalità. Se non si desidera variare la stagionalità (in altre parole, l'effetto stimato di ciascuna sotto-serie rimarrà costante per tutta la serie temporale), è possibile specificare che la finestra stagionale sia infinita o "periodica". Ciò equivale alla media di ogni sotto-serie e dà lo stesso peso a tutti i punti (non si ha più alcun effetto "locale"). decomposeè essenzialmente lo stesso, poiché i sottocomponenti stagionali rimarranno costanti per tutta la serie temporale, che è una configurazione speciale di STL.

Questo è abbastanza ben spiegato qui: https://www.otexts.org/fpp/6/1 .

STL stima la stagionalità in modo additivo. Come spiegato alcune pagine più avanti nella fonte precedente, è possibile stimare la stagionalità in modo moltiplicativo ricorrendo alla trasformazione dei registri (o trasformazione di Cox-Box).

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.