Concetti Chiave

  • L'approccio classico alla decomposizione delle serie temporali si basa su un modello additivo, con errori distribuiti normalmente e indipendenti.
  • Il pacchetto R offre diverse funzioni per la decomposizione, tra cui decompose(), stl() e tsr(), ognuna con caratteristiche specifiche.
  • La funzione decompose() permette di analizzare sia modelli additivi che moltiplicativi, restituendo componenti come stagionalità, trend e errori.
  • La funzione stl() utilizza il metodo loess per fornire stime più accurate nella decomposizione delle serie temporali rispetto a decompose().
  • La funzione tsr() offre vari stimatori, come constant, poly(r), loess(r, g), gauss(r, g) e spline(g), per un'analisi flessibile delle serie temporali.

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 base utilizzato nella decomposizione classica delle serie temporali?
  2. Il modello di base è di tipo additivo, espresso come Yt = Tt + St + εt, dove gli errori εt sono distribuiti normalmente con media zero e varianza costante.

  3. Qual è il modello di base utilizzato nella decomposizione classica delle serie temporali?
  4. Il modello di base è di tipo additivo, espresso come Yt = Tt + St + εt, dove gli errori εt sono distribuiti normalmente con media zero e varianza costante.

  5. Quali funzioni R possono essere utilizzate per la decomposizione delle serie temporali?
  6. Le funzioni R utilizzabili sono decompose() e stl() nel package stats, e tsr() nel package ast, ognuna con caratteristiche specifiche per la stima delle componenti.

  7. Quali funzioni R possono essere utilizzate per la decomposizione delle serie temporali?
  8. Le funzioni R utilizzabili sono decompose() e stl() nel package stats, e tsr() nel package ast, ognuna con caratteristiche specifiche per la stima delle componenti.

  9. Quali componenti restituisce la funzione decompose()?
  10. La funzione decompose() restituisce un oggetto con le componenti: seasonal (stagionalità), trend (trend della serie) e random (errori).

  11. Quali componenti restituisce la funzione decompose()?
  12. La funzione decompose() restituisce un oggetto con le componenti: seasonal (stagionalità), trend (trend della serie) e random (errori).

  13. Come si confrontano i risultati dei diversi metodi di decomposizione?
  14. I risultati possono essere confrontati tracciando i trend stimati dai vari metodi su un grafico, evidenziando le differenze di adattamento e la qualità delle stime ottenute.

  15. Come si confrontano i risultati ottenuti con i diversi metodi di decomposizione?
  16. I risultati possono essere confrontati tracciando i trend stimati con i vari metodi, come decompose(), stl() e tsr(), per valutare il grado di adattamento e identificare il metodo più efficace.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community