_fanciullo
Ominide
4 min. di lettura
Vota

Concetti Chiave

  • La decomposizione classica additiva del modello si basa su tre componenti: trend, stagionalità e casualità, verificando gli errori tramite test di specificazione.
  • R offre tre funzioni per la decomposizione di serie temporali: decompose() e stl() nel package stats, e tsr() nel package ast.
  • La funzione decompose() può essere usata per modelli additivi e moltiplicativi, restituendo componenti come stagionalità, trend ed errori in vettori distinti.
  • La funzione stl() utilizza il metodo loess per fornire stime più accurate, memorizzando le componenti in vettori separati per analisi e visualizzazione.
  • La funzione tsr() permette di utilizzare diversi smoothers, come loess e spline, per migliorare l'adattamento del trend, con risultati migliori aumentando i parametri equivalenti.

L'approccio più semplice della decomposizione classica è basata sul modello di tipo additivo:
Yt= Tt + St + εt
con εt ~ NID (0,σ2) ovvero supponendo che gli errori siano distribuiti normalmente con media zero e varianza costante e siano tra loro indipendenti. Tali ipotesi saranno verificate tramite appositi tests di specificazione del modello. R consente di determinare e stimare tali componenti con tre diverse funzioni: decompose() e stl() nel package stats, tsr() nel package ast.

Funzione decompose

La funzione decompose() può essere applicata sia al modello additivo che al modello moltiplicativo, per questo occorre specificarlo nel parametro type=c(“additive”, “multiplicative”).

> dec.fit

La funzione restituisce un oggetto con le seguenti componenti:

seasonal, vettore con la stagionalità

figure, stima della componente stagionale per i dodici mesi dell'anno

trend, vettore con il trend della serie

random, vettore con gli errori.


Si memorizzino in alcuni vettori le tre componenti ottenute:

> stag.dec[math]seasonal>br>> trend.dec>-dec.fit[/math]trend
> res.dec[math]random

Per otte
ere il grafico della decomposizio
e della serie:

> plot(dec.fit)

Metodo analitico articolo

Funzio
e stl()

La funzio
e stl() fornisce delle stime migliori in quan o per la decomposizio
e usa il me odo loess:

> stl.fit> attributes(stl.fit)
[/math]names
[1] "time.series" "weights" "call" "win" "deg" "jump" "inner" "outer"

[math]class
[1] \text{stl}

La funzio
e restituisce un ogget o le cui compo
enti possono essere memorizzate in vet ori

> stag.stltime.series[,1]
> trend.stl[math]time.series[,2]>br>> res.stl>-stl.fit[/math]

time.series[,3]

Il grafico della serie storica decomposta è il seguente

> plot(stl.fit,main="GRAFICO DELLA SERIE STORICA DECOMPOSTA- funzione stl")

Metodo analitico articolo

Funzione tsr()

Si tratta di un'ulteriore funzione per la decomposizione di una serie temporale. Gli stimatori, detti smoothers, riconosciuti sono:

• constant: la serie assume valore uguale alla media;

• poly(r): la serie viene interpolata con un polinomio di grado r;

• loess(r, g): la serie viene stimata utilizzando una regressione locale di tipo loess;

• gauss(r, g): la serie viene stimata utilizzando una regressione locale con pesi gaussiani;

• spline(g): la serie osservata è stimata utilizzando una spline con g parametri equivalenti.

> tsr.fit

Per avere una visualizzazione grafica del modello stimato:

> plot(tsr.fit)

Metodo analitico articolo

Si valuti il grado di adattamento di questo tipo di trend tracciando il grafico della serie filtrata sovrapposto al trend stimato con tsr():

> plot(xt.filt)
> lines(trend(tsr.fit),col="red")

Metodo analitico articolo

Come si può facilmente vedere l'adattamento non è particolarmente buono e ciò induce all'utilizzo di un altro tipo di stimatore, ad esempio di tipo loess:

> tsr2.fit> plot(tsr2.fit)

Metodo analitico articolo

Si valuti il grado di adattamento:

> plot(xt.filt)
> lines(trend(tsr2.fit),col="blue")

Metodo analitico articolo

Il risultato è decisamente migliore. Per determinare il numero dei parametri spesso si deve procedere per tentativi, ma in generale aumentando il numero dei parametri equivalenti il grado di adattamento migliora.
Si confrontino i trend stimati con i tre metodi:

> plot(trend(tsr2.fit),main="COMPARAZIONE DEL TREND STIMATO")
> lines(xt.filt,col="red")
> lines(trend.stl,col="green")

Si proceda alla memorizzazione delle componenti risultanti dalla funzione tsr() in tre vettori distinti

> trend.tsr> stag.tsr> res.tsr

Domande da interrogazione

  1. Qual è il modello di decomposizione classica descritto nel testo?
  2. Il modello di decomposizione classica descritto è di tipo additivo: Yt = Tt + St + εt, dove gli errori εt sono distribuiti normalmente con media zero e varianza costante e sono indipendenti tra loro.

  3. Quali funzioni di R sono menzionate per la decomposizione delle serie temporali?
  4. Le funzioni menzionate sono decompose() e stl() nel package stats, e tsr() nel package ast.

  5. Come si differenzia la funzione stl() rispetto a decompose()?
  6. La funzione stl() fornisce stime migliori utilizzando il metodo loess per la decomposizione, mentre decompose() può essere applicata sia al modello additivo che al modello moltiplicativo.

  7. Quali sono gli stimatori riconosciuti dalla funzione tsr()?
  8. Gli stimatori riconosciuti dalla funzione tsr() sono constant, poly(r), loess(r, g), gauss(r, g), e spline(g).

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community