Sei sulla pagina 1di 28

Serie Storiche

PIL italiano nel periodo I Trimestre 1982 – III trimestre 2000

Docente:Prof.Roberto Zelli
Roberto.zelli@uniroma1.it

Roma 29 Settembre 2005 Candidato:Adnan Kemura


Introduzione

Il file “pil_8201.txt” contiene i dati relativi al Pil (Prodotto interno lordo) dell’Italia nel periodo 1982 – 2000 per
ogni trimestre. I dati sono divisi in due colonne: la prima indicava i dati grezzi , la seconda i dati
destagionalizzati , mentre tramite le altre 4 colonne è stato “segnalato” a quale trimestre appartiene il valore
PIL indicato.

Con i caratteri corsivi sarà inserito il commento,


Una serie storica è un insieme dei dati numerici registrati ad intervalli regolari di tempo. In tale amniera
evidenza la dinamica di un fenomeno che cambia nel tempo. Se descriviamo il fenomeno tramite i valori che
mettiamo nella ordinata mentre nell’accisse indichiamo il tempo “t”. possiamo dire che la determinazione al
tempo “t” dipende da quella di tempo “t-1”, “t-2” e cosi via. E’ ovvio che esiste un tipo di autocorrelazione tra i
valori successivi. Possiamo formulare che una serie storica rappresenta un insieme ordinato di “N” rilevazioni,
effettuate su uno stesso fenomeno in più istanti successivi , con le distanze temporali uguali, indicati con xt,
dove l’indice “t” denota il momento in cui il dato è stato rilevato.

In questa tesina si assumerà l’analisi classica delle seria storica presumendo che la dinamica temporale del
fenomeno, in questo caso PIL, risulti dall’effetto combinato di alcune precise componenti, ciascuna legata a
una specifica caratteristica dell’andamento:
a) Il trend, è la tendenza del fenomeno di assumere una direzione o meglio
inclinazione positiva o negativa in modo lento e uniforme nel tempo (Tt);
b) La ciclicità pluriennale, legata alle flutazioni dell’economia e delle
circostanze congiunturali(Ct). Questa componente è di solito collegata ai
fenomeni economici e non è sempre presente;
c) La stagionalità, legata ai cambiamenti stagionali del fenomeno in esame
durante lo stesso anno solare(St);
d) Le variazioni accidentali, dovute a complesso delle cause impreviste non
prevedibili(At);

Ciascuno di questi quattro aspetti influisce su ciascun dato che allora possiamo dividere in 4 componenti. Con
questo modello si ipotizza che si tratta di un modello moltiplicativo classico cioè che il valori di Xt sono la
molteplicazione di 4 componenti sopra descritti : xt=Tt x Ct x St x At , t=1,2,…,N

## Serie storiche (Analisi Classica)


## Esercitazione Statistica Economica Master S.G.S.I. A.A. 2004-2005

> ## Filename ss_classica_master


> ## The data set SSdat dati trimestrali 1° trimestre 82 al 3°2000
> SSdat<-matrix(scan("pil_8201.txt"),ncol=6,byrow=T)
Read 450 items

> PIG <- SSdat[,1] ## serie storica del PIL italiano grezzo a prezzi costanti 1995
> PIG
[1] 335899 340240 333006 351255 334630 340289 339458 362843 346513 351604
[11] 348264 368828 351606 363098 360229 382373 361643 372981 369455 390037
[21] 370468 384635 379175 404435 387297 398307 394061 419808 401214 410897
[31] 403702 429590 412344 420611 413241 431689 415750 424712 418249 442500
[41] 423696 431497 419881 439075 417358 425912 415002 440729 422450 434467
[51] 427437 452150 439763 447629 437654 462232 445610 451045 445430 464729
[61] 444495 461951 454230 478948 455841 468173 462559 481223 460180 472765
[71] 470099 491364 474613 484995 481857
> PIDS <-SSdat[,2] ## serie storica del PIL italiano destagionalizzato a prezzi costanti 1995
> PIDS
[1] 342096 340584 338808 338911 340309 340915 345446 350550 352498 351158 Uno dei scopi di tesina e di
[11] 354297 357256 357674 362887 366918 369827 368711 372318 375409 377678 arrivare ai dati
[21] 377379 384484 385561 391290 394746 397781 401096 405850 407584 410153 destagionalizzati tramite la
[31] 411996 415670 418705 419923 421305 417952 422150 424149 426204 428708 procedura che abbiamo
chiamato il metodo
moltiplicativo classico.
[41] 430090 430996
427391 425672 424206 425271 422853 426670 429160 433314
[51] 435507 438523
446239 446295 446129 448615 451933 449795 453101 451985
[61] 451243 460039
462621 465720 463822 466747 469417 467811 469432 471533
[71] 475346 478097
483324 484525 487431
> D1 <- SSdat[,3] ## variabili stagionali La lunghezza totale è allora 75
> D2 <- SSdat[,4]
> D3 <- SSdat[,5]
>D1
[1] 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0
[39] 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0
> D2
[1] 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
[39] 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0
> D3
[1] 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
[39] 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

Non è stata utilizzata quarta colonna per evitare i problemi relativi alla multicolinearità .

##creo la serie storica dal 1°trimestre 82 al 3° 2000 (75 osservazioni)


> tsPIG<-ts(PIG, frequency = 4, start = c(1982, 1)) # primo trimestre del 1982
> tsPIG
Qtr1 Qtr2 Qtr3 Qtr4
1982 335899 340240 333006 351255
1983 334630 340289 339458 362843
1984 346513 351604 348264 368828
1985 351606 363098 360229 382373
1986 361643 372981 369455 390037
1987 370468 384635 379175 404435
1988 387297 398307 394061 419808 Tramite il comando “ts” , utilizzando i
1989 401214 410897 403702 429590 parametri : (PIG-PIL grazzo), frequency (4),
1990 412344 420611 413241 431689 start (1982,1) sono stati definiti tutti i
1991 415750 424712 418249 442500
parametri per presentare la seria storica per i 4
1992 423696 431497 419881 439075
1993 417358 425912 415002 440729
trimestri partendo dall’anno 1982 e dal primo
1994 422450 434467 427437 452150 trimestre. Si è fatta la stessa cosa per la
1995 439763 447629 437654 462232 variabile PIDS – PIL destagionalizzato.
1996 445610 451045 445430 464729
1997 444495 461951 454230 478948
1998 455841 468173 462559 481223
1999 460180 472765 470099 491364
2000 474613 484995 481857
>tsPIDS
Qtr1 Qtr2 Qtr3 Qtr4
1982 342096 340584 338808 338911
1983 340309 340915 345446 350550
1984 352498 351158 354297 357256
1985 357674 362887 366918 369827
1986 368711 372318 375409 377678
1987 377379 384484 385561 391290
1988 394746 397781 401096 405850
1989 407584 410153 411996 415670
1990 418705 419923 421305 417952
1991 422150 424149 426204 428708
1992 430090 430996 427391 425672
1993 424206 425271 422853 426670
1994 429160 433314 435507 438523
1995 446239 446295 446129 448615
1996 451933 449795 453101 451985
1997 451243 460039 462621 465720
1998 463822 466747 469417 467811
1999 469432 471533 475346 478097
2000 483324 484525 487431
> ##postscript("SS_time.eps", horizontal=F,height=5.5, width=7, pointsize=8)
> ##1. Grafico della serie storica-dati grezzi
> plot(tsPIG, xlab="anno", ylab="PIL prezzi 1995", type="l")
 title(main="1.a Serie storica trim.del PIL italiano a prezzi costanti 1995, dati grezzi")

Con il commando plot si disegna la funzione con i valori del PIL nell’ordinata e la variabile temporale
(trimestri per anni) nell’ascisse. Dal grafico si può subito osservare la componente di Trend e di
Stagionalità . Le componenti Ciclici ed Accidentali saranno mostrate tramite le procedure matematiche
per detrazione.
Possiamo osservare una continua crescita del PIL , dovuto al Trend, una oscillazione ripetitiva , dovuto
al Stagione , mentre la parte Ciclica, è più difficile vedere e sarà verificato con strumenti statistici se
esiste e se questo aspetto è statisticamente significativo, e alla fine le oscillazioni casuali imprevedibili
che sono le variazioni non attribuibili a quelli tre precedenti. Da ricordarsi che non sono sempre presenti
tutte le componenti.

boxplot(PIG)
title(main="1.b Serie storica trimestr. del PIL italiano a prezzi costanti 1995")

Tramite boxplot si determina non solo il valore medio ma anche i percentili relativi al 25°,e 75° che
insieme disegnano la scatola suddivisa in due parti con la linea orizzontale che indica il valore medio,
mentre le due linee orizzontali stacate dalla scatola indicano 5° e 95° percentile . Gli eventuali valori
oltre le due linee rappresentano spesso i valori anomali.
> ##postscript("SS_boxplot.eps", horizontal=F,height=5.5, width=7, pointsize=8)
##1. Grafico della serie storica--dati destagionalizzati
> plot(tsPIDS, xlab="anno", ylab="PIL prezzi 1995", type="l")
title(main="1.c Serie storica trim.del PIL italiano a prezzi cost.1995,dati destagionalizzati")

Il diagramma 1c mostra i dati di input relativi alla seconda colonna, quella con i dati
destagionalizzati. Con le nostre procedure cercheremmo di arrivare ai dati destagionalizzati partendo
dalla prima colonna. Così potremmo paragonare i dati destagionalizzati iniziali e quelli che abbiamo
calcolato noi partendo dai dati grezzi.
## I due grafici insieme

> dati<-c(1:length(PIG)) ##vettore pari alla lunghezza del data set


> PP<-cbind(PIG,PIDS) ##metto insieme le due serie
> matplot(dati, PIG, type="n", xaxt="n", xlab="dati", ylab="serie", main="1.d Confronto tra dati grezzi e dati
destagionalizzati")
>matpoints(dati, PP, type = "l", lty = 1:5, lwd = 1, pch = "°", col=c(2,4))

##2. Calcolo delle medie mobili centrate di 4 termini e grafico di confronto tra serie e
medie mobili
> mm4<-NULL
> for(i in 2:length(PIG))
+ {mm4[i]<-(1/4)*((0.5*PIG[i-2])+(PIG[i-1])+(PIG[i])+(PIG[i+1])+(0.5*PIG[i+2]))}
> mm4<-mm4[!is.na(mm4)]
> ##elimino i 2 dati iniziali e finali del PI
> PIGa<-PIG[-(1:2)]
##controllo le lunghezze dei due vettori
> length(mm4)
[1] 71
> length(PIGb)
[1] 71
##grafico della serie e delle medie mobili
> dati<-c(1:length(PIGb)) ##vettore pari alla lunghezza del data set
> ss<-cbind(mm4,PIGb) ##metto insieme le due serie
> matplot(dati, mm4, type="n", xaxt="n", xlab="dati", ylab="serie", main="2. Confronto tra i dati grezzi e le
medie mobili")
>matpoints(dati, ss, type = "l", lty = 1:5, lwd = 1, pch = "°", col=c(2,4))
boxplot(PIG)
> ##3. Calcolo dei coefficienti lordi di stagionalità (sotto l'ipotesi di modello moltiplicativo)
> SA<-(PIGb/mm4)*100 ##dati grezzi sulla stima del trend-ciclo
> SA
[1] 97.95983 103.37449 98.24678 99.25114 98.16872 104.05887 98.66396 99.58926 98.25784 103.45451 97.81924 100.12813
[13] 98.53600 103.88563 97.62005 100.11005 98.61808 103.40543 97.52655 100.45876 98.03329 103.54344 98.25777 100.09056
[25] 98.12083 103.67646 98.40909 100.18750 97.80977 103.42906 98.70495 100.33447 98.41485 102.57907 98.52503 100.17941
[37] 98.11234 103.35468 98.72003 100.59017 98.16152 103.00768 98.21422 100.32235 97.55875 103.19284 98.30903 100.40874
[49] 97.97082 102.73813 99.26440 100.46453 97.78877 103.01393 99.00085 99.92327 98.64158 102.63722 97.63729 100.83435
[61] 98.46220 103.32839 97.95888 100.32322 98.94493 102.69207 97.88476 100.09117 98.88366 102.63714 98.5210

Coeficenti lordi di stagionalità indicano quanto il singolo PIL si differisce dal valore della medie mobile
centrata. Dando il valore 100 alla mm4 possiamo osservare in termini percentuali le differenze stagionali
del PIL. Così osserviamo che 6° valore nella prima riga , che corrisponde all’8°trimestre, cioè all’4°
trimestre dell’1983 ha coefficiente più alto di tutti altri – 104,06 che indica che quel trimestre il PIL era
per 4,06% più alto rispetto alla valore del PIL che corrispondesse al media mobile centrale di quel
trimestre.

##4. Rappresentazione grafica dei coefficienti di stagionalità


> ##elimino i dati rimanenti del primo e dell'ultimo trimestre per valutare il tipo di modello sia per SA che
per PI
> ## L'ultimo trimestre del 2000 i primi due trimestri del 1982
> ## I primi due del 1982 e il secondo e terzo trimestre del 2000 sono andati perduti con le medie mobili
> length(SA)
[1] 71
> SA1<-SA[-(1:2)]
> SA2<-SA1[-length(SA1)]
> tsSA2<-ts(SA2, frequency = 4, start = c(1983, 1))# primo trimestre del 1983
> length(SA2)
[1] 68
> tsSA2
Qtr1 Qtr2 Qtr3 Qtr4
1983 98.24678 99.25114 98.16872 104.05887
1984 98.66396 99.58926 98.25784 103.45451
1985 97.81924 100.12813 98.53600 103.88563 Adesso possiamo osservare anche il
1986 97.62005 100.11005 98.61808 103.40543 fenomeno della stagionalità, tramite il
1987 97.52655 100.45876 98.03329 103.54344 coeficiente lordo di stagionalità. Nel secondo
1988 98.25777 100.09056 98.12083 103.67646
e quarto Trimestre PIL è sistematicamente
1989 98.40909 100.18750 97.80977 103.42906
1990 98.70495 100.33447 98.41485 102.57907 maggiore che in primo e terzo trimestre.
1991 98.52503 100.17941 98.11234 103.35468
1992 98.72003 100.59017 98.16152 103.00768
1993 98.21422 100.32235 97.55875 103.19284
1994 98.30903 100.40874 97.97082 102.73813
1995 99.26440 100.46453 97.78877 103.01393
1996 99.00085 99.92327 98.64158 102.63722
1997 97.63729 100.83435 98.46220 103.32839
1998 97.95888 100.32322 98.94493 102.69207
1999 97.88476 100.09117 98.88366 102.63714
> ##adeguo anche i dati della PI
> PIGc<-PIGb[-(1:2)]
> PIGnew<-PIGc[-length(PIGc)]
> length(PIGnew)
[1] 68
> tsPIGnew<-ts(PIGnew, frequency = 4, start = c(1983, 1))
> tsPIGnew
Qtr1 Qtr2 Qtr3 Qtr4
1983 334630 340289 339458 362843
1984 346513 351604 348264 368828
1985 351606 363098 360229 382373
1986 361643 372981 369455 390037
1987 370468 384635 379175 404435
1988 387297 398307 394061 419808
1989 401214 410897 403702 429590
1990 412344 420611 413241 431689
1991 415750 424712 418249 442500
1992 423696 431497 419881 439075
1993 417358 425912 415002 440729
1994 422450 434467 427437 452150
1995 439763 447629 437654 462232
1996 445610 451045 445430 464729
1997 444495 461951 454230 478948
1998 455841 468173 462559 481223
1999 460180 472765 470099 491364
> ##estraggo i dati dei singoli trimestri per determinare i coeff. netti di stagionalità
> Itrim <- window(tsSA2, start=c(1983,1), deltat=1) # tutti i dati del primo trimestre
> IItrim <- window(tsSA2, start=c(1983,2), deltat=1) # tutti i dati del secondo trimestre
> IIItrim <- window(tsSA2, start=c(1983,3), deltat=1) # tutti i dati del terzo trimestre
> IVtrim <- window(tsSA2, start=c(1983,4), deltat=1) # tutti i dati del quarto trimestre
> Itrim
Time Series:Start = 1983 :End = 1999
Frequency = 1
[1] 98.24678 98.66396 97.81924 97.62005 97.52655 98.25777 98.40909 98.70495 98.52503 98.72003 98.21422 98.30903 99.26440
[14] 99.00085 97.63729 97.95888 97.88476
> IItrim
Time Series:Start = 1983.25 :End = 1999.25
Frequency = 1
[1] 99.25114 99.58926 100.12813 100.11005 100.45876 100.09056 100.18750 100.33447 100.17941 100.59017 100.32235 100.40874
[13] 100.46453 99.92327 100.83435 100.32322 100.09117
> IIItrim
Time Series:Start = 1983.5 End = 1999.5
Frequency = 1
[1] 98.16872 98.25784 98.53600 98.61808 98.03329 98.12083 97.80977 98.41485 98.11234 98.16152 97.55875 97.97082 97.78877
[14] 98.64158 98.46220 98.94493 98.88366
> IVtrim
Time Series:Start = 1983.75 :End = 1999.75
Frequency = 1
[1] 104.0589 103.4545 103.8856 103.4054 103.5434 103.6765 103.4291 102.5791 103.3547 103.0077 103.1928 102.7381 103.0139
[14] 102.6372 103.3284 102.6921 102.6371
> split.screen(c(2,2))
[1] 1 2 3 4
> screen(1) # prepare screen 1 for output
> plot(Itrim, xlab="",ylab="I° trimestre")
Queste operazioni ci permettono di prima
> screen(2) # elencare tutti i dati che appartengono allo
> plot(IItrim,xlab="",ylab="II° trimestre") stesso trimestre, e poi di fare i diagrammi
> title(main="SA lordi") osservando come cambiano i valori nei
> screen(3) diversi anni, ed entro i quali parametri
> plot(IIItrim, xlab="",ylab="III° trimestre") oscillano. Ad occhio sembra che il più alto
> screen(4) # PIL arriva all’ultimo trimestre dell’anno
> plot(IVtrim, xlab="",ylab="IV° trimestre") (che varia tra 104% e 102,5% ) invece
> close.screen(all=TRUE) quello più basso o primo o terzo.(che
variano tra il 97,5% ed il 99%)

I 4 diagrammi mostrano come variano i coeficienti lordi di stagionalità degli stessi Trimestri nei diversi anni.

> ## 5. Calcolo dei coefficienti netti di stagionalità


> Trim<-data.frame(Itrim,IItrim,IIItrim,IVtrim)
> med<-apply(Trim, 2,median) Trim<-data.frame(Itrim,IItrim,IIItrim,IVtrim)
> sum(med) ##verifico che la somma sia pari a 4*100 med<-apply(Trim,2,median)
[1] 399.9424 Tramite i comandi sopra esposti si calcola il valore
> med<-rep(med,17) ##considero una matrice fittizia mediano per l’intero periodo di 17 anni, del
> S<-data.frame(PIGnew,med) coeficiente di destagionalizzazione per ogni trimestre.
Possiamo dire che il coeficente netto rappresenta la
>S
mediana dei coeficienti lordi per il periodo osservato,
PIGnew med mentre i coeficienti lordi rappresentano il coeficiente
1 334630 98.25777 annuale uguale alla media mobile centrata di
2 340289 100.18750 quel’anno.
3 339458 98.16872
4 362843 103.32839
5 346513 98.25777
6 351604 100.18750
7 348264 98.16872
8 368828 103.32839
9 351606 98.25777
10 363098 100.18750
11 360229 98.16872
12 382373 103.32839
13 361643 98.25777
14 372981 100.18750
15 369455 98.16872
16 390037 103.32839
17 370468 98.25777
18 384635 100.18750
19 379175 98.16872
20 404435 103.32839
21 387297 98.25777
22 398307 100.18750
23 394061 98.16872
24 419808 103.32839
25 401214 98.25777
26 410897 100.18750
27 403702 98.16872
28 429590 103.32839
29 412344 98.25777
30 420611 100.18750
31 413241 98.16872
32 431689 103.32839
33 415750 98.25777
34 424712 100.18750
35 418249 98.16872
36 442500 103.32839
37 423696 98.25777
38 431497 100.18750
39 419881 98.16872
40 439075 103.32839
41 417358 98.25777
42 425912 100.18750
43 415002 98.16872
44 440729 103.32839
45 422450 98.25777
46 434467 100.18750
47 427437 98.16872
48 452150 103.32839
49 439763 98.25777
50 447629 100.18750
51 437654 98.16872
52 462232 103.32839
53 445610 98.25777
54 451045 100.18750
55 445430 98.16872
56 464729 103.32839
57 444495 98.25777
58 461951 100.18750
59 454230 98.16872
60 478948 103.32839
61 455841 98.25777
62 468173 100.18750
63 462559 98.16872
64 481223 103.32839
65 460180 98.25777
66 472765 100.18750
67 470099 98.16872
68 491364 103.32839
##6. Destagionalizzazione della serie
##divido i valori di ogni trimestre per i coeff. netti di stagionalità del mese corrispondente
> dest<-(PIGnew/med)*100
> dest
Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim
340563.4 339652.1 345790.4 351155.2 352657.1 350946.0 354760.6 356947.4 357840.4 362418.5 366948.8 370056.1 368055.4
IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim
372283.0 376347.0 377473.2 377036.9 383915.1 386248.3 391407.4 394164.3 397561.6 401412.0 406285.3 408328.0 410128.0
IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim
411232.8 415752.2 419655.4 419823.8 420949.8 417783.5 423121.8 423917.1 426051.2 428246.3 431208.6 430689.4 427713.6
IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim
424931.6 424758.3 425114.9 422743.6 426532.4 429940.6 433653.9 435410.6 437585.5 447560.5 446791.3 445818.2 447342.7
Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim
453511.2 450200.9 453739.2 449759.3 452376.4 461086.5 462703.4 463520.3 463923.6 467296.8 471187.7 465722.0 468339.6
IItrim IIItrim IVtrim
471880.2 478868.4 475536.3
> ##grafico della serie originaria e di quella destagionalizzata
> ss1<-cbind(PIGnew, dest)
> datinew<-c(1:length(PIGnew)) ##vettore pari alla lunghezza del data set
> matplot(datinew, PIGnew, type="n", xaxt="n", xlab="dati", ylab="serie", main="6.Confronto tra i dati
grezzi e destagionalizzati")
>matlines(datinew, ss1, type = "l", lty = 1:5, lwd = 1, pch = "°", col=c(2,4))

Otteniamo la serie destagionalizzata dividendo i valori


del PIL di ogni trimestre con il coeficente netto di
stagionalità . Presentando il grafico dei valori così
ottenuti si avrà un grafico “smussato” dai picchi
stagionali.
Che cosa è la destagionalizzazione e a cosa serve una serie destagionalizzata
La costruzione di una qualsiasi procedura di destagionalizzazione si basa sull’ipotesi che ogni serie storica, Yt, a cadenza infrannuale sia
esprimibile come combinazione delle seguenti componenti, non osservabili:

• la componente di trend, Tt, che rappresenta la tendenza di lungo periodo;

• la componente ciclica, Ct, che rappresenta le fluttuazioni intorno alla tendenza di lungo termine;

• la componente stagionale, St, caratterizzata da oscillazioni ricorrenti con periodo inferiore all'anno;

• la componente irregolare, It, dovuta a fattori erratici.

Il legame tra le componenti può essere di tipo additivo:

Yt = Tt+ Ct + St + It

oppure moltiplicativo:

Yt = Tt Ct St It.

Si noti che, spesso, la componente ciclica ed il trend vengono considerate come un’unica componente denominata ciclo-trend, data la
difficoltà teorica ed empirica di identificarle separatamente.
Le procedure di destagionalizzazione sono finalizzate all’eliminazione della componente stagionale. Quasi tutte prevedono un
trattamento preliminare dei dati, inteso a correggere l'influenza esercitata dal diverso numero di giorni lavorativi contenuti nei periodi
considerati (in genere, mesi o trimestri), dalla presenza di festività fisse o “mobili” come la Pasqua o, infine, da valori anomali (outlier), legati
a fenomeni accidentali o straordinari (scioperi, calamità naturali, ecc.). Alcune procedure, come TRAMO-SEATS, consentono inoltre di trattare
serie con valori mancanti.
Una volta sottoposti i dati a questo trattamento preliminare è necessario stimare le componenti non osservate, precedentemente
ricordate (ciclo-trend, componente stagionale e componente irregolare). A questo fine, gli approcci utilizzati sono essenzialmente due. Il
primo (filter-based) consente di trovare stimatori che non tengono conto dell'esistenza di un modello statistico sottostante la serie analizzata;
tali procedure, come ad esempio X-11, X-11 ARIMA e, successivamente, X-12 ARIMA, si basano sull’applicazione ripetuta di una serie di filtri
lineari costituiti da medie mobili centrate di diversa lunghezza. Queste procedure sono dette ad hoc in quanto i filtri adottati per stimare le
componenti non osservate non derivano dalle struttura probabilistica del processo stocastico che ha generato la serie.
Il secondo approccio (model-based), al contrario, ipotizza l'esistenza di un modello statistico parametrico, concependo la serie storica
osservata come la parte finita della realizzazione di un processo stocastico, la cui struttura probabilistica è adeguatamente descritta dal
suddetto modello. I filtri lineari utilizzati nell'approccio model-based sono, di solito, filtri simmetrici, la cui espressione analitica dipende dal
modello seguito dalla serie storica considerata e quindi risultano legati alle caratteristiche stocastiche della serie stessa. Questo tipo di
approccio è adottato dalla procedura TRAMO-SEATS; in particolare, tale procedura si basa su modelli di tipo ARIMA (AutoRegressive
Integrated Moving Average).
Sottraendo dalla serie storica originaria la componente relativa alla stagionalità (o dividendo, nel caso di un modello moltiplicativo, per
il fattore stagionale) è possibile ottenere la serie “destagionalizzata”, la quale presenta normalmente un andamento meno oscillante della
serie “grezza”, pur mantenendo al suo interno la componente irregolare. Se si elimina anche quest’ultima, si ottiene la stima del ciclo-trend, il
quale rappresenta la tendenza di medio-lungo termine della serie storica.
Per comprendere l'utilità da un punto di vista informativo della destagionalizzazione, è utile fare riferimento all'esempio della
produzione industriale (figura sottostante).
La serie "grezza" dell’indice della produzione industriale presenta una brusca e profonda caduta nel mese di agosto, a causa della
chiusura di molti impianti industriali per le ferie estive. Ciò rende difficile un confronto corretto tra mesi contigui (nello specifico tra agosto e
luglio e tra settembre e agosto), pertanto, per valutare l’evoluzione nel tempo di una serie storica “grezza”, come quella della produzione
industriale in cui è presente una componente stagionale, si deve ricorrere alle variazioni percentuali “tendenziali” (calcolate cioè rispetto allo
stesso periodo dell’anno precedente). La corrispondente serie “destagionalizzata” mostra, invece, una dinamica molto più omogenea nel corso
dell’anno, pur presentando oscillazioni significative, dovute sia a fattori di natura ciclica, sia alla presenza di una componente puramente
irregolare. La destagionalizzazione, quindi, consente di interpretare correttamente anche le variazioni percentuali “congiunturali”, calcolate
rispetto al periodo immediatamente precedente (mese su mese). In questo modo, si può disporre di una misura dell’andamento di breve
periodo del fenomeno analizzato, non influenzata dagli elementi di natura stagionale.
Figura: Serie grezza (linea continua) e destagionalizzata (linea
tratteggiata) dell’indice generale della produzione industriale
(base 1995=100)
(Ingrandisci)

##7. Stima della componente di trend


> ##7.a Stima di un trend lineare (serie destagionalizzata)
> datitrend<-data.frame(datinew,dest)
> datitrend
datinew dest
1 1 340563.4
2 2 339652.1
3 3 345790.4
4 4 351155.2
5 5 352657.1
6 6 350946.0
7 7 354760.6
8 8 356947.4
9 9 357840.4
10 10 362418.5
11 11 366948.8
12 12 370056.1
13 13 368055.4
14 14 372283.0
15 15 376347.0
16 16 377473.2
17 17 377036.9
18 18 383915.1
19 19 386248.3
20 20 391407.4
21 21 394164.3
22 22 397561.6
23 23 401412.0
24 24 406285.3
25 25 408328.0
26 26 410128.0
27 27 411232.8
28 28 415752.2
29 29 419655.4
30 30 419823.8
31 31 420949.8
32 32 417783.5
33 33 423121.8
34 34 423917.1
35 35 426051.2
36 36 428246.3
37 37 431208.6
38 38 430689.4
39 39 427713.6
40 40 424931.6
41 41 424758.3
42 42 425114.9
43 43 422743.6
44 44 426532.4
45 45 429940.6
46 46 433653.9
47 47 435410.6
48 48 437585.5
49 49 447560.5
50 50 446791.3
51 51 445818.2
52 52 447342.7
53 53 453511.2
54 54 450200.9
55 55 453739.2
56 56 449759.3
57 57 452376.4
58 58 461086.5
59 59 462703.4
60 60 463520.3
61 61 463923.6
62 62 467296.8
63 63 471187.7
64 64 465722.0
65 65 468339.6
66 66 471880.2
67 67 478868.4
68 68 475536.3
> ##edit(datitrend)
> fitted.model<-lm(dest~datinew, data=datitrend)
 fitted.model
Call:
lm(formula = dest ~ datinew, data = datitrend) Il modelo lineare con alto valore del “R”
Residuals: (0,9679= o quello agiustato 0,9674) e che
Min 1Q Median 3Q Max risulta significativo con alfa < 0,001 è
-12533 -5267 -1747 5324 14866 seguente:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
PIL-trim= 348,288.21+1,948.32datinew
(Intercept) 348288.21 1733.22 200.95 <2e-16 ***
datinew 1948.32 43.67 44.62 <2e-16 ***
Il PIL di 348,288.21 mld di lire
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aumentava ogni trimestre per 1.948.32
Residual standard error: 7068 on 66 degrees of freedom mld. Con un intervallo di confidenza
Multiple R-Squared: 0.9679, Adjusted R-squared: 0.9674 uguale a ±1.96 x (1,733.22 + 43.67 x
F-statistic: 1991 on 1 and 66 DF, p-value: < 2.2e-16 datinew)
> datistim<-predict(fitted.model)
> sink("aa")
> aa
> sink()
> ##plot(fitted.model)
> ##confronto graficamente la serie grezza con la stima del trend lineare
> PItrend<-cbind(dest,datistim)
> PItrend
dest datistim
Itrim 340563.4 350236.5
IItrim 339652.1 352184.9
IIItrim 345790.4 354133.2
IVtrim 351155.2 356081.5
Itrim 352657.1 358029.8
IItrim 350946.0 359978.1
IIItrim 354760.6 361926.5
IVtrim 356947.4 363874.8
Itrim 357840.4 365823.1
IItrim 362418.5 367771.4
IIItrim 366948.8 369719.8
IVtrim 370056.1 371668.1
Itrim 368055.4 373616.4
IItrim 372283.0 375564.7
IIItrim 376347.0 377513.0
IVtrim 377473.2 379461.4
Itrim 377036.9 381409.7
IItrim 383915.1 383358.0
IIItrim 386248.3 385306.3
IVtrim 391407.4 387254.7
Itrim 394164.3 389203.0
IItrim 397561.6 391151.3
IIItrim 401412.0 393099.6
IVtrim 406285.3 395047.9
Itrim 408328.0 396996.3
IItrim 410128.0 398944.6
IIItrim 411232.8 400892.9
IVtrim 415752.2 402841.2
Itrim 419655.4 404789.6
IItrim 419823.8 406737.9
IIItrim 420949.8 408686.2
IVtrim 417783.5 410634.5
Itrim 423121.8 412582.8
IItrim 423917.1 414531.2
IIItrim 426051.2 416479.5
IVtrim 428246.3 418427.8
Itrim 431208.6 420376.1
IItrim 430689.4 422324.5
IIItrim 427713.6 424272.8
IVtrim 424931.6 426221.1
Itrim 424758.3 428169.4
IItrim 425114.9 430117.7
IIItrim 422743.6 432066.1
IVtrim 426532.4 434014.4
Itrim 429940.6 435962.7
IItrim 433653.9 437911.0
IIItrim 435410.6 439859.4
IVtrim 437585.5 441807.7
Itrim 447560.5 443756.0
IItrim 446791.3 445704.3
IIItrim 445818.2 447652.6
IVtrim 447342.7 449601.0
Itrim 453511.2 451549.3
IItrim 450200.9 453497.6
IIItrim 453739.2 455445.9
IVtrim 449759.3 457394.3
Itrim 452376.4 459342.6
IItrim 461086.5 461290.9
IIItrim 462703.4 463239.2
IVtrim 463520.3 465187.5
Itrim 463923.6 467135.9
IItrim 467296.8 469084.2
IIItrim 471187.7 471032.5
IVtrim 465722.0 472980.8
Itrim 468339.6 474929.2
IItrim 471880.2 476877.5
IIItrim 478868.4 478825.8
IVtrim 475536.3 480774.1
> matplot(datinew, dest, type="n", xaxt="n", xlab="dati", ylab="serie", main="7.a confronto tra i dati
destagionalizzati e la stima del trend lineare")
>matpoints(datinew, PItrend, type = "l", lty = 1:5, lwd = 1, pch = "°", col=c(2,4))

Destagion
alizzati

##7.b Stima di un trend quadratico


> datinew1<-datinew^2
> datinew1
[1] 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576
[25] 625 676 729 784 841 900 961 1024 1089 1156 1225 1296 1369 1444 1521 1600 1681 1764 1849 1936 2025 2116 2209 2304
[49] 2401 2500 2601 2704 2809 2916 3025 3136 3249 3364 3481 3600 3721 3844 3969 4096 4225 4356 4489 4624
> datitrend1<-data.frame(datinew,datinew1,dest)
> datitrend1
datinew datinew1 dest
1 1 1 340563.4
2 2 4 339652.1
3 3 9 345790.4
4 4 16 351155.2
5 5 25 352657.1
6 6 36 350946.0
7 7 49 354760.6
8 8 64 356947.4
9 9 81 357840.4
10 10 100 362418.5
11 11 121 366948.8
12 12 144 370056.1
13 13 169 368055.4
14 14 196 372283.0
15 15 225 376347.0
16 16 256 377473.2
17 17 289 377036.9
18 18 324 383915.1
19 19 361 386248.3
20 20 400 391407.4
21 21 441 394164.3
22 22 484 397561.6
23 23 529 401412.0
24 24 576 406285.3
25 25 625 408328.0
26 26 676 410128.0
27 27 729 411232.8
28 28 784 415752.2
29 29 841 419655.4
30 30 900 419823.8
31 31 961 420949.8
32 32 1024 417783.5
33 33 1089 423121.8
34 34 1156 423917.1
35 35 1225 426051.2
36 36 1296 428246.3
37 37 1369 431208.6
38 38 1444 430689.4
39 39 1521 427713.6
40 40 1600 424931.6
41 41 1681 424758.3
42 42 1764 425114.9
43 43 1849 422743.6
44 44 1936 426532.4
45 45 2025 429940.6
46 46 2116 433653.9
47 47 2209 435410.6
48 48 2304 437585.5
49 49 2401 447560.5
50 50 2500 446791.3
51 51 2601 445818.2
52 52 2704 447342.7
53 53 2809 453511.2
54 54 2916 450200.9
55 55 3025 453739.2
56 56 3136 449759.3
57 57 3249 452376.4
58 58 3364 461086.5
59 59 3481 462703.4
60 60 3600 463520.3
61 61 3721 463923.6
62 62 3844 467296.8
63 63 3969 471187.7
64 64 4096 465722.0
65 65 4225 468339.6
66 66 4356 471880.2
67 67 4489 478868.4
68 68 4624 475536.3
> fitted.model1<-lm(dest~datinew+datinew1, data=datitrend1)
> fitted.model1 Il secondo modello è quadratico:
Call: PILtrim.= 337,514.291 + 2,871.80datinew -
lm(formula = dest ~ datinew + datinew1, data = datitrend1) 13.38datinew2
Coefficients:
(Intercept) datinew datinew1 Con intervallo di confidenza al 95% uguale a
337514.29 2871.80 -13.38 1.96 x (2,000.155 +133.769datinew-
> summary(fitted.model1) 7.123datinew1)
Call:
lm(formula = dest ~ datinew + datinew1, data = datitrend1) Nel caso del modelo quadratico il valore del
Residuals: R=0,982 (0,9814)>0,9679(0,9674)
Min 1Q Median 3Q Max
-13511.58 -3324.70 99.07 3587.95 10114.58 Per cioè possiamo considerare il modelo
quadratico migliore di quello lineare.
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 337514.291 2000.155 168.744 < 2e-16 ***
datinew 2871.801 133.769 21.468 < 2e-16 ***
datinew1 -13.384 1.879 -7.123 1.05e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 5337 on 65 degrees of freedom
Multiple R-Squared: 0.982, Adjusted R-squared: 0.9814
F-statistic: 1771 on 2 and 65 DF, p-value: < 2.2e-16

> datistim1<-predict(fitted.model1)
> datistim1
1 2 3 4 5 6 7 8 9 10 11 12 13
340372.7 343204.4 346009.2 348787.4 351538.7 354263.3 356961.1 359632.1 362276.4 364893.9 367484.7 370048.6 372585.9
14 15 16 17 18 19 20 21 22 23 24 25 26
375096.3 377580.0 380036.9 382467.0 384870.4 387247.0 389596.8 391919.9 394216.2 396485.7 398728.5 400944.5 403133.7
27 28 29 30 31 32 33 34 35 36 37 38 39
405296.2 407431.9 409540.8 411622.9 413678.3 415707.0 417708.8 419683.9 421632.2 423553.8 425448.6 427316.6 429157.8
40 41 42 43 44 45 46 47 48 49 50 51 52
430972.3 432760.1 434521.0 436255.2 437962.6 439643.2 441297.1 442924.2 444524.6 446098.2 447645.0 449165.0 450658.3
53 54 55 56 57 58 59 60 61 62 63 64 65
452124.8 453564.5 454977.5 456363.7 457723.1 459055.8 460361.7 461640.9 462893.2 464118.8 465317.7 466489.7 467635.0
66 67 68
468753.5 469845.3 470910.3
> #plot(fitted.model1)
> ##confronto graficamente la serie destagionalizzata con la stima del trend quadratico
> PItrend1<-cbind(dest,datistim1)
> PItrend1
dest datistim1
Itrim 340563.4 340372.7
IItrim 339652.1 343204.4
IIItrim 345790.4 346009.2
IVtrim 351155.2 348787.4
Itrim 352657.1 351538.7
IItrim 350946.0 354263.3
IIItrim 354760.6 356961.1
IVtrim 356947.4 359632.1
Itrim 357840.4 362276.4
IItrim 362418.5 364893.9
IIItrim 366948.8 367484.7
IVtrim 370056.1 370048.6
Itrim 368055.4 372585.9
IItrim 372283.0 375096.3
IIItrim 376347.0 377580.0
IVtrim 377473.2 380036.9
Itrim 377036.9 382467.0
IItrim 383915.1 384870.4
IIItrim 386248.3 387247.0
IVtrim 391407.4 389596.8
Itrim 394164.3 391919.9
IItrim 397561.6 394216.2
IIItrim 401412.0 396485.7
IVtrim 406285.3 398728.5
Itrim 408328.0 400944.5
IItrim 410128.0 403133.7
IIItrim 411232.8 405296.2
IVtrim 415752.2 407431.9
Itrim 419655.4 409540.8
IItrim 419823.8 411622.9
IIItrim 420949.8 413678.3
IVtrim 417783.5 415707.0
Itrim 423121.8 417708.8
IItrim 423917.1 419683.9
IIItrim 426051.2 421632.2
IVtrim 428246.3 423553.8
Itrim 431208.6 425448.6
IItrim 430689.4 427316.6
IIItrim 427713.6 429157.8
IVtrim 424931.6 430972.3
Itrim 424758.3 432760.1
IItrim 425114.9 434521.0
IIItrim 422743.6 436255.2
IVtrim 426532.4 437962.6
Itrim 429940.6 439643.2
IItrim 433653.9 441297.1
IIItrim 435410.6 442924.2
IVtrim 437585.5 444524.6
Itrim 447560.5 446098.2
IItrim 446791.3 447645.0
IIItrim 445818.2 449165.0
IVtrim 447342.7 450658.3
Itrim 453511.2 452124.8
IItrim 450200.9 453564.5
IIItrim 453739.2 454977.5
IVtrim 449759.3 456363.7
Itrim 452376.4 457723.1
IItrim 461086.5 459055.8
IIItrim 462703.4 460361.7
IVtrim 463520.3 461640.9
Itrim 463923.6 462893.2
IItrim 467296.8 464118.8
IIItrim 471187.7 465317.7
IVtrim 465722.0 466489.7
Itrim 468339.6 467635.0
IItrim 471880.2 468753.5
IIItrim 478868.4 469845.3
IVtrim 475536.3 470910.3
> matplot(datinew, dest, type="n", xaxt="n", xlab="dati", ylab="serie", main="7.b confronto tra i dati
grezzi e la stima del trend quadratico")
>matpoints(datinew, PItrend1, type = "l", lty = 1:5, lwd = 1, pch = "°", col=c(2,4))
Destagion
alizzati

##8. Eliminazione della componente tendenziale (ipotesi di modello moltiplicativo)


> ##Scelta della funzione per la stima del trend
> R2r<- 0.9674 ##R^2 ristretto (lo trovo da summary(fitted.model))
> R2u<- 0.9814 ##R^2 non ristretto (lo trovo da summary(fitted.model1))
> ##F=((R2u-R2r)/k2)/(1-R2u)/(n-k) ##k=# di regressori di u
> ##k1=#di regressori r
> ##k2<-(k-k1) Per calcolare l’elemento ciclico e
> Fc<-((R2u-R2r)/1)/((1-R2u)/(length(datinew)-3)) casuale è necessario eliminare la
> Fcri<-qf(0.95,1,(length(datinew)-3)) parte del Trend, e il modelo
> PV<-1-pf(Fc, 1, length(datinew)-3) ##accetto il quadratico quadratico come migliore
> espressione del la funzione del
> ##scelgo il trend quadratico trend.
> detrend<-dest/datistim1 ##detrend=CA
> tsdtrend<-ts(detrend, frequency = 4, start = c(1983, 1))# primo trimestre del 1983
> plot(tsdtrend, type="l", xlab="dati", ylab="serie detrendizzata")
title(main="8.Serie storica detrendizzata")
##9. Isolamento della componente ciclica
> ##medie mobili a 9 termini ponderate
> ciclo1<-NULL
> for(i in 4:length(detrend))
+ {ciclo1[i]<-(1/8)*((0.5)*detrend[i-4]+detrend[i-3]+(detrend[i-2])+(detrend[i-1])+(detrend[i])+
+ (detrend[i+1])+(detrend[i+2])+(detrend[i+3])+(0.5)*(detrend[i+4]))}
>
> ##elimino i dati mancanti (4 iniziali e finali)
> ciclo1<-ciclo1[!is.na(ciclo1)]
> ciclo1
[1] 0.9962690 0.9956915 0.9958628 0.9953882 0.9940063 0.9931640 0.9934616 0.9936878 0.9936107 0.9937575
[11] 0.9939563 0.9941755 0.9955826 0.9976996 0.9996794 1.0022662 1.0059106 1.0091884 1.0115046 1.0135671
[21] 1.0157387 1.0176392 1.0186760 1.0181257 1.0169124 1.0161174 1.0154030 1.0145587 1.0132774 1.0118281
[31] 1.0097673 1.0072701 1.0041163 1.0001674 0.9955933 0.9906789 0.9861298 0.9823285 0.9799028 0.9789532
[41] 0.9802141 0.9828084 0.9855122 0.9881536 0.9908959 0.9930859 0.9945950 0.9955563 0.9946925 0.9941532
[51] 0.9953325 0.9968303 0.9974921 0.9983310 1.0001810 1.0019412 1.0035671 1.0045317 1.0055545 1.0067964
> tsciclo1<-ts(ciclo1, frequency = 4, start = c(1984, 1))# primo triemstre dl 1984 al quarto trimestre 1998
> tsciclo1
Qtr1 Qtr2 Qtr3 Qtr4 Per la componente ciclica si calcola media
1984 0.9962690 0.9956915 0.9958628 0.9953882
mobile centrale a 9 trimestri invece di 4 trimestri
1985 0.9940063 0.9931640 0.9934616 0.9936878
1986 0.9936107 0.9937575 0.9939563 0.9941755
come nel caso di valori destagionalizzati. Questo
1987 0.9955826 0.9976996 0.9996794 1.0022662 comporta ulteriori eliminazioni di 4 trimestri
1988 1.0059106 1.0091884 1.0115046 1.0135671 iniziali e finali.
1989 1.0157387 1.0176392 1.0186760 1.0181257
1990 1.0169124 1.0161174 1.0154030 1.0145587
1991 1.0132774 1.0118281 1.0097673 1.0072701
1992 1.0041163 1.0001674 0.9955933 0.9906789
1993 0.9861298 0.9823285 0.9799028 0.9789532
1994 0.9802141 0.9828084 0.9855122 0.9881536
1995 0.9908959 0.9930859 0.9945950 0.9955563
1996 0.9946925 0.9941532 0.9953325 0.9968303
1997 0.9974921 0.9983310 1.0001810 1.0019412
1998 1.0035671 1.0045317 1.0055545 1.0067964
> plot(tsciclo1, type="l", xlab="anni", ylab="cicli")
title(main="9.a Rappresentazione dei cicli della serie")

considero vettori di uguale lunghezza adeguando anche i dati detrendizzati


(dati senza stagionalità e trend)
> detrend1 <-detrend[-(1:4)]
> detrend1
Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim
1.0031814 0.9906360 0.9938356 0.9925348 0.9877552 0.9932159 0.9985419 1.0000201 0.9878404 0.9924997
IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim
0.9967344 0.9932542 0.9858023 0.9975181 0.9974210 1.0046474 1.0057266 1.0084862 1.0124248 1.0189522
Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim
1.0184154 1.0173498 1.0146477 1.0204213 1.0246974 1.0199233 1.0175774 1.0049953 1.0129586 1.0100867
IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim
1.0104805 1.0110789 1.0135388 1.0078931 0.9966347 0.9859835 0.9815099 0.9783529 0.9690283 0.9739013
Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim
0.9779305 0.9826801 0.9830362 0.9843898 1.0032782 0.9980929 0.9925487 0.9926428 1.0030664 0.9925839
IIItrim IVtrim Itrim IItrim IIItrim IVtrim Itrim IItrim IIItrim IVtrim
0.9972784 0.9855281 0.9883189 1.0044235 1.0050866 1.0040711 1.0022260 1.0068474 1.0126152 0.9983542
Itrim IItrim IIItrim IVtrim
1.0015066 1.0066702 1.0192044 1.0098235
> detrend2 <-detrend1[-((length(detrend1)-3):length(detrend1))]
> tsdtrend2<-ts(detrend2, frequency = 4, start = c(1985, 1))
>> tsdtrend2
Qtr1 Qtr2 Qtr3 Qtr4
1985 1.0031814 0.9906360 0.9938356 0.9925348
1986 0.9877552 0.9932159 0.9985419 1.0000201
1987 0.9878404 0.9924997 0.9967344 0.9932542
1988 0.9858023 0.9975181 0.9974210 1.0046474
1989 1.0057266 1.0084862 1.0124248 1.0189522
1990 1.0184154 1.0173498 1.0146477 1.0204213
1991 1.0246974 1.0199233 1.0175774 1.0049953
1992 1.0129586 1.0100867 1.0104805 1.0110789
1993 1.0135388 1.0078931 0.9966347 0.9859835
1994 0.9815099 0.9783529 0.9690283 0.9739013
1995 0.9779305 0.9826801 0.9830362 0.9843898
1996 1.0032782 0.9980929 0.9925487 0.9926428
1997 1.0030664 0.9925839 0.9972784 0.9855281
1998 0.9883189 1.0044235 1.0050866 1.0040711
1999 1.0022260 1.0068474 1.0126152 0.9983542
> plot(detrend2, type="n")
> lines(ciclo1, col="red")
lines(detrend2, col="blue")
> ## analisi dei residui
> res<-(detrend2/ciclo1)
> plot(res, type="l")
> ## Test sui residui di Jarque e Bera
> Skw<- sum(((res-mean(res))/sqrt(var(res)))^3)/length(res)
> Skw
[1] -0.04782859
> Crt<- sum(((res-mean(res))/sqrt(var(res)))^4)/length(res)
> Crt
[1] 2.609554
> JB<-length(res)/6*(Skw^2+0.25*(Crt-3)^2)
> JB
[1] 0.4039958
> PV<-1-pchisq(JB,2) # p-value for stat con 2 gdl
> PV
[1] 0.8170967
>
> library(stats) ##ex ts
> ## funzione di autocorrelazione globale
> cc <- (acf(res,lag.max= 12, type="correlation"))
> cc
Test diagnostici
Per verificare la significatività dei coefficienti stimati del modello ARIMA si usano le statistiche t (t-ratio). Queste ultime sono calcolate
dividendo il valore del parametro stimato per il suo errore standard e seguono asintoticamente una distribuzione normale standardizzata.
Come regola pratica, si può ritenere significativamente diverso da zero un parametro quando il t-ratio è maggiore di 2 in valore assoluto. La
stessa regola vale per i coefficienti della parte deterministica.
Occorre verificare anche la matrice di correlazione degli stimatori dei coefficienti. Si noti come un’elevata correlazione possa indicare
una errata specificazione del modello evidenziando, di fatto, un legame lineare tra i coefficienti e, di conseguenza, la necessità di provvedere
ad una semplificazione, anche se tutti i coefficienti risultano significativi.
Un aspetto fondamentale è rappresentato dalla diagnostica sui residui, in quanto essi, affinché il modello rappresenti adeguatamente la
serie analizzata, devono rispettare le ipotesi di partenza, ossia devono avere media zero, essere incorrelati e distribuiti normalmente.
Innanzitutto, si verifica se essi hanno la media non significativamente diversa da zero utilizzando il t-ratio. Al solito, questa ipotesi è
rifiutata se esso è maggiore di 2 in valore assoluto.
Per la verifica dell’ipotesi di normalità si considera il test parametrico di Jarque-Bera, che combina i momenti terzo (skewness, che nel
caso della distribuzione normale è uguale a 0) e quarto (curtosi, che nel caso della distribuzione normale è pari a 3). Sotto l’ipotesi nulla che
l’errore si distribuisca normalmente, la statistica test di Jarque-Bera si distribuisce come una variabile casuale chi-quadro con 2 gradi di
libertà; in pratica, si rifiuta l'ipotesi di normalità al livello di confidenza del 5% se la statistica test è superiore a 5,99. Va ricordato che un
valore elevato della statistica segnala, generalmente, la presenza di valori anomali e può quindi suggerire di rivedere le specifiche relative al
controllo degli outlier.
Un’ulteriore indicazione può venire dall'errore quadratico medio dei residui; tanto più esso è piccolo, tanto meglio il modello si adatta ai
dati; può dunque essere un utile strumento quando si confrontano modelli alternativi, tenendo comunque conto che esso diminuisce
all'aumentare del numero di coefficienti stimati (anche non significativi) presenti nel modello. Può inoltre risultare utile considerare anche i
valore di skewness e curtosi assieme ai loro errori standard. Una regola empirica consiste nel controllare che il corrispondente valore
"desiderato" (0 per la skewness e 3 per la curtosi) cada nell'intervallo [valore stimato ±2 errore standard].
Per la verifica dell'assenza di autocorrelazione dei residui, è di fondamentale importanza l'analisi delle funzioni di autocorrelazione
empirica totale e parziale. In questo caso, il test utilizzato per verificare l’ipotesi che le prime m autocorrelazioni siano nulle è quello di Ljung-
Box. La corrispondente statistica, quando le autocorrelazioni sono calcolate per i residui di un modello ARMA, si distribuisce come una
variabile casuale chi-quadro con (m-q-p) gradi di libertà. Generalmente m è pari a 24 per le serie mensili, a 4×f per le altre serie infrannuali
(f=2, 3, 4, 6).
L’assenza di autocorrelazione nei residui non esclude che questi possano presentare un legame di tipo non lineare; a questo proposito
utili indicazioni possono derivare dall'analisi dei residui al quadrato. Infatti, se la statistica test di Ljung-Box calcolata su questi ultimi è
maggiore della medesima statistica calcolata sui residui non trasformati, si può sospettare la presenza di un legame non lineare. Dunque,
l'eventuale differenza tra le due statistiche, quella sui residui originali e quella sui residui al quadrato, costituirà un segnale di non linearità
quando la prima determina l’accettazione dell'ipotesi nulla di incorrelazione e la seconda la rifiuta.

per ulteriori informazioni rivolgersi a:

Ciammola Anna tel. 06-46736446

Autocorrelations of series 'res', by lag

0 1 2 3 4 5 6 7 8 9 10 11 12
1.000 0.190 -0.131 -0.151 0.003 -0.107 -0.304 -0.192 0.037 0.118 0.058 -0.011 0.002
> plot(cc,main="9.b ACF-residui")
>
Eliminando la componente ciclica, dopo che abbiamo eliminato le componenti del Trend e della Stagione rimane
solo la parte casuale. Tramite l’adeguato test statistico si controllerà se la parte rimanente è veramente casuale o
c’è ancora da eliminare alcuni aspetti residuali delle componenti prima menzionati.
Secondo modello addittivo
[Caricato workspace precedentemente salvato]

> ## Serie storiche (Analisi Classica)


> ## Esercitazione Statistica Economica Master S.G.S.I. A.A. 2004-2005
> ## Filename ss_classica_master
>
> ## The data set SSdat dati trimestrali 1° trimestre 82 al 3°2000
> SSdat<-matrix(scan("pil_8201.txt"),ncol=6,byrow=T)
Read 450 items
> ##estraggo le singole variabili
> PIG <- SSdat[,1] ## serie storica del PIL italiano grezzo a prezzi costanti 1995
> PIDS <-SSdat[,2] ## serie storica del PIL italiano destagionalizzato a prezzi costanti 1995
>
> D1 <- SSdat[,3] ## variabili stagionali
> D2 <- SSdat[,4]
> D3 <- SSdat[,5]
>
> PIG
[1] 335899 340240 333006 351255 334630 340289 339458 362843 346513 351604
[11] 348264 368828 351606 363098 360229 382373 361643 372981 369455 390037
[21] 370468 384635 379175 404435 387297 398307 394061 419808 401214 410897
[31] 403702 429590 412344 420611 413241 431689 415750 424712 418249 442500
[41] 423696 431497 419881 439075 417358 425912 415002 440729 422450 434467
[51] 427437 452150 439763 447629 437654 462232 445610 451045 445430 464729
[61] 444495 461951 454230 478948 455841 468173 462559 481223 460180 472765
[71] 470099 491364 474613 484995 481857
> PIDS
[1] 342096 340584 338808 338911 340309 340915 345446 350550 352498 351158
[11] 354297 357256 357674 362887 366918 369827 368711 372318 375409 377678
[21] 377379 384484 385561 391290 394746 397781 401096 405850 407584 410153
[31] 411996 415670 418705 419923 421305 417952 422150 424149 426204 428708
[41] 430090 430996 427391 425672 424206 425271 422853 426670 429160 433314
[51] 435507 438523 446239 446295 446129 448615 451933 449795 453101 451985
[61] 451243 460039 462621 465720 463822 466747 469417 467811 469432 471533
[71] 475346 478097 483324 484525 487431
> D1
[1] 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0
[39] 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0
> ##1. Stima del trend con variabili dummy
> Temp<-c(1:length(PIG))
> datitrendA <- data.frame(Temp, PIG,D1, D2, D3)
> #edit(datitrendA)
> fitted.model<-lm(PIG~Temp+D1+D2+D3, data=datitrendA)
> fitted.model
Call:
lm(formula = PIG ~ Temp + D1 + D2 + D3, data = datitrendA)
Coefficients:
(Intercept) Temp D1 D2 D3
352593 1970 -20129 -12391 -20299

> summary(fitted.model)
Call:
lm(formula = PIG ~ Temp + D1 + D2 + D3, data = datitrendA)

Residuals:
Min 1Q Median 3Q Max
-11729 -5042 -1946 3745 14887

Coefficients:
Estimate Std.Error t value Pr(>|t|)
(Intercept) 352592.60 2161.27 163.142 < 2e-16 ***
Temp 1969.50 37.09 53.094 < 2e-16 ***
D1 -20129.01 2286.56 -8.803 6.07e-13 ***
D2 -12391.25 2286.26 -5.420 8.00e-07 ***
D3 -20298.60 2286.56 -8.877 4.44e-13 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6951 on 70 degrees of freedom


Multiple R-Squared: 0.9766, Adjusted R-squared: 0.9753
F-statistic: 731.4 on 4 and 70 DF, p-value: < 2.2e-16

> datistim<-predict(fitted.model)
> ##plot(fitted.model)
>
> ##confronto graficamente la serie grezza con la stima del trend lineare
> plot(datistim, type="n")
> lines(datistim, col="red")
> lines(PIG, col="blue") La componente ciclica è stata calcolata
> ## resta il ciclo direttamente come differenza dei dati stimati
> rr<- datistim-PIG del modelo e quelli grezzi.
> plot(rr, type="l") Da notare che la componente ciclica calcolata
> stop("aaa") tramite il modelo additivo è diversa rispetto al
modelo moltiplicativo che abbiamo fatto nella

Potrebbero piacerti anche