L’approccio più semplice della decomposizione classica, utile a titolo introduttivo, è basato sul modello:
Yt=f(t) + εt
in cui f(t) è una funzione del tempo che descrive trend e stagionalità in modo semplice. In particolare nel
caso di un modello di tipo additivo, come nella nostra esemplificazione pratica:
Yt= Tt + St + εt
con ovvero supponendo che gli errori siano distribuiti normalmente con media zero e varianza
costante (omoschedasticità) e siano tra loro indipendenti. Sono le ipotesi di base della regressione lineare
che verranno verificate tramite appositi tests di specificazione del modello.
R consente di determinare e stimare le tre componenti con ben tre diverse funzioni: decompose()e
stl()nel package stat, tsr()nel package ast.
La funzione decompose() decompone la serie storica in stagionalità, trend e componente erratica usando il
metodo della media mobile e può essere applicata sia al modello additivo che a quello moltiplicativo (occorre
specificarlo nel parametro type = c("additive", "multiplicative").
dec.fit<-decompose(ore, type="additive")
la funzione restituisce un oggetto della classe '"decomposed.ts"' con le seguenti componenti:
seasonal: un vettore con la stagionalità
figure: le stime della componente stagionale per i dodici mesi dell’anno
trend: un vettore con il trend della serie
random: un vettore con gli errori
type: “additive” o “moltiplicative” a seconda di quanto specificato nel parametro type
Memorizziamo in alcuni vettori le tre componenti ottenute dalla decomposizione.
Come si può vedere vanno persi i dati relativi ad alcuni termini a causa della perequazione con la media
mobile. Per ottenere il grafico della decomposizione della serie :
plot(dec.fit)
Un modo più raffinato che fornisce delle stime migliori è quello ottenuto con la funzione stl() che per la
decomposizione usa il metodo ‘loess’.
stl.fit<-stl(ore,s.window="periodic")
Tale funzione ha una pluralità di parametri (si veda l’help), ma ci soffermeremo solo su s.window. che
serve per determinare il parametro per la stima della stagionalità basata su una perequazione di tipo loess,
può assumere valori numerici oppure il valore stringa “periodic”. La funzione restituisce un oggetto della
classe “stl” del quale i nomi delle componenti possono essere visualizzati digitando questo comando:
in particolare time.series è una serie multipla le cui colonne contengono la stagionalità, il trend e i
residui.
trend.stl<-stl.fit$time.series[,2]
Vito Ricci
Successivo: Metodo analitico II
Sommario: Index