Sei sulla pagina 1di 18

Metodi e Modelli Matematici di Probabilit per la Gestione

HOMEWORK 2 Analisi e previsione di serie storiche


Irene Bont 302917

HOMEWORK 2 Analisi e previsione di serie storiche

Sommario
SCOPO .................................................................................................................................................. 3 FONTE ................................................................................................................................................... 3 ANALISI ................................................................................................................................................. 4 Decomposizione della serie ............................................................................................................. 4 Medie mobili, differenze dei termini ........................................................................................... 5 Metodo analitico .......................................................................................................................... 7 Livellamento esponenziale con il metodo di Holt-Winters ......................................................... 8 Analisi del problema ........................................................................................................................ 9 Costruzione del modello ................................................................................................................ 10 Previsione ....................................................................................................................................... 13 Intervallo di confidenza.................................................................................................................. 14 Test sullerrore ............................................................................................................................... 14 Conclusioni ......................................................................................................................................... 18

HOMEWORK 2 Analisi e previsione di serie storiche

SCOPO
Lo scopo del presente lavoro quello di analizzare la situazione delloccupazione tra i giovani nellet compresa tra i 15 e i 24 anni. I dati della serie storica presa in esame vanno dal primo trimestre del 2000 al quarto trimestre del 2005. Mi sembrato interessante esaminare questa serie storica, in quanto questo un periodo pieno di cambiamenti soprattutto per il diritto allo studio e per il mondo del lavoro che si trovato a fronteggiare le conseguenze di una crisi economica sempre pi pressante. Attraverso lanalisi dei valori si cercher di capire landamento temporale dei dati stessi e individuare i fenomeni da ci sono scaturiti. Tutte queste informazioni serviranno successivamente per effettuare una previsione sullandamento dei valori futuri.

FONTE
Conistat - ricerca per aggregato - Forze di Lavoro - Occupati - Giovani 15-24 anni per ripartizione geografica e sesso - IIOL Italia Totale
(il sito Conistat raggiungibile attraverso il seguente collegamento: http://con.istat.it/amerigo/)

HOMEWORK 2 Analisi e previsione di serie storiche

ANALISI
Prendiamo i dati che vanno dal primo trimestre del 2000 al quarto trimestre del 2005. Li inseriamo in una tabella chiamata dati e poi creiamo la serie storica con il comando >occ=ts(dati,start=2000,frequency=4). Il parametro start indica il tempo della prima osservazione, mentre la frequenza indica il numero di osservazioni per unit di tempo. Nel nostro caso, essendo la serie a cadenza trimestrale, il parametro frequency viene impostato a 4. Una volta fatto ci, plottiamo il grafico della serie digitando >ts.plot(occ):

Si nota subito a occhio un certo trend lineare decrescente e una sorta di periodicit annuale. Il fatto che il trend e la periodicit non sono sempre uguali, ma si notano dei bruschi cambiamenti, potrebbe essere un ostacolo per quanto riguarda la previsione futura, in quanto potrebbe essere difficile stimarne landamento.

Decomposizione della serie


Si vuole ora scomporre la serie nelle sue componenti, isolandole per poterle studiare meglio. Vogliamo infatti individuare e eliminare il trend e la periodicit. Per prima cosa possiamo cercare di eliminare la stagionalit per mettere in risalto solo la componente di fondo del trend. Questo pu essere fatto sfruttando vari metodi.

HOMEWORK 2 Analisi e previsione di serie storiche

Medie mobili, differenze dei termini Come primo metodo di analisi si pu applicare una media ponderata a 4 termini. Digitiamo > occ.fil2=filter(occ,filter=rep(1/9,9)) > plot(occ.fil2, main="Trend stimato con media mobile")

In questo modo emerge chiaramente il trend della serie, che prima era mascherato dalla periodicit.

Il metodo invece per eliminare il trend quello di operare sulle differenze tra i termini della serie storica. Digitiamo > occ.diff=diff.ts(occ) > plot(occ.diff,main="Serie detrendizzata")

HOMEWORK 2 Analisi e previsione di serie storiche

Altro strumento molto utile per studiare le periodicit la funzione acf. Digitiamo >acf(occ): Dal grafico si vede chiaramente come la funzione di autocorrelazione decresce lentamente allaumentare dei lag temporali. Questo vuol dire che i valori della serie storica sono fortemente correlati a quelli della serie ritardata di un periodo, poi un po meno per quella ritardata di due periodi e cos via. La serie presenta quindi un tendenza di fondo, o meglio prevale la componente tendenziale. Si nota tuttavia che i picchi significativi (cio quelli che escono dalla zona di confidenza, rappresentata dalle linee tratteggiate) sono soltanto quelli iniziali. Questo significa che inizialmente la serie presenta delle nette periodicit e quindi una forte correlazione, mentre successivamente (in corrispondenza dellanno 2003) questa correlazione decresce e non pi significativa.

Tutto ci si nota benissimo applicando la funzione di autocorrelazione alla serie detrendizzata, che mette in evidenza la periodicit. Digitiamo >acf(occ.diff,24):

Si vede chiaramente la periodicit significativa per i primi 3 anni e poi lanomalia che porta a una scarsa correlazione della serie.

Metodo analitico Un metodo messo a disposizione da R nel pacchetto stat() la funzione decompose(). Questa funzione decompone la serie storica in stagionalit, trend e componente di errore automaticamente. Digitiamo: > dec.fit=decompose(occ,type="additive") > stag.dec=dec.fit$seasonal > trend.dec=dec.fit$trend > res.dec=dec.fit$random > plot(dec.fit)

Dal grafico viene messo nettamente in evidenza landamento lineare decrescente della serie e la chiara periodicit annuale.

Un altro metodo, che ottiene forse stime migliori, quello ottenuto con la funzione stl(). Digitiamo: > stl.fit=stl(occ,s.window="periodic") > trend.stl=stl.fit$time.series[,2] > stag.stl=stl.fit$time.series[,1] > res.stl=stl.fit$time.series[,3] > plot(stl.fit, main="Decomposizione con la funzione 'stl'")

Si vede come dal 2003 circa sia piuttosto evidente il peso dellerrore.

Livellamento esponenziale con il metodo di Holt-Winters Il metodo di Holt-Winters un ottimo strumento per descrivere landamento di una serie, ma soprattutto per effettuare delle previsioni. R mette a disposizione lomonima funzione HoltWinters() nel pacchetto stats. Digitiamo: > occ.hw=HoltWinters(occ,se asonal="additive") > occ.hw > plot(occ.hw) In questo caso il metodo utilizza lo smorzamento esponenziale con trend e stagionalit. Possiamo per utilizzare il metodo di smorzamento esponenziale oppure di smorzamento esponenziale con trend.

HOMEWORK 2 Analisi e previsione di serie storiche

Nel primo caso (in cui =0 e =0) digitiamo: > occ.hw.bg=HoltWinters(occ ,beta=0,gamma=0) > plot(occ.hw.bg)

Per utilizzare, invece, il metodo di smorzamento esponenziale con trend (in cui =0) digitiamo: > occ.hw.g=HoltWinters(occ,g amma=0) > plot(occ.hw.g)

Analisi del problema


Come si pu evidenziare dai grafici landamento della serie decrescente e presenta picchi stagionali. La prima spiegazione generica che potremmo dare che il numero di giovani lavoratori sta diminuendo a causa della diminuzione del tasso di natalit (si veda http://demo.istat.it/fecondita/index.html). Ma questo andamento decrescente tuttavia pu indicare anche che listruzione pi diffusa e impegna i giovani per pi anni. Infatti gi nel 1999 lobbligo scolastico era stato innalzato a 15 anni, ma il 21 maggio 2004 il Consiglio dei ministri aveva approvato in via preliminare il decreto sul diritto-dovere allistruzione

10

HOMEWORK 2 Analisi e previsione di serie storiche

e alla formazione, in attuazione della legge 53/03, in cui si legge: aumenta di tre anni (da nove a dodici) l'obbligo scolastico, tutti dovranno conseguire un diploma o una qualifica entro il 18 anno di et. L'innalzamento dagli attuali nove a dodici anni sar graduale. Gi dal prossimo anno scolastico 2004-2005 partir il primo innalzamento della scolarit obbligatoria di un anno. Laumento dellobbligo scolastico pu spiegare solo in parte il repentino calo delloccupazione giovanile, occorre anche tenere presente la congiuntura economica del periodo preso in esame. Va evidenziato, infatti, che i giovani lavoratori sono pi vulnerabili alla recessione economica, nel senso che i datori di lavoro reagiscono alle pressioni economiche riducendo le assunzioni di nuovi giovani lavoratori. I giovani, quindi, sono meno frequentemente impiegati in occupazioni a tempo pieno e, al contrario, pi spesso assunti con contratti a tempo determinato. Se poi si vuol cercare di spiegare la stagionalit di tali valori possiamo sicuramente affermare che laumento nel terzo trimestre (luglio, agosto, set tembre) legato al periodo estivo quando gli impegni scolastici sono meno pressanti e maggiore il flusso turistico. Infatti sono molti i giovani lavoratori che vengono impiegati nel settore alberghiero e nella ristorazione. Anche la relativa tenuta che si nota nel quarto trimestre pu essere spiegabile con laumento delloccupazione, nello stesso settore, durante il periodo natalizio.

Costruzione del modello


La teoria della regressione ci permette di costruire un modello lineare che descriva una serie di dati sperimentali. Anche nel caso della nostra serie storica possiamo utilizzare lo stesso metodo per descriverne landamento. Lo stesso metodo potr poi essere utile per fare previsioni. Cominciamo con un semplice modello lineare del tipo x=ax+b+. Digitiamo: > x0=occ[2:n] > x1=occ[1:(n-1)] > REG=lm(x0~x1) > summary(REG) Call: lm(formula = x0 ~ x1) Residuals: Min 1Q Median 3Q Max -121.434 -52.073 -2.971 58.993 142.878 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 138.6472 203.9537 0.680 0.504 x1 0.9135 0.1139 8.019 7.93e-08 *** --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1

11

HOMEWORK 2 Analisi e previsione di serie storiche

Residual standard error: 71.71 on 21 degrees of freedom Multiple R-squared: 0.7538, Adjusted R-squared: 0.7421 F-statistic: 64.3 on 1 and 21 DF, p-value: 7.929e-08 La correlazione buona, il parametro R alto e pari a 0.7538. Introduciamo un nuovo modello pi complesso del tipo x=ax+ax+b+. Digitiamo: > x0=occ[3:n] > x1=occ[2:(n-1)] > x2=occ[1:(n-2)] > REG=lm(x0~x1+x2) > summary(REG) Call: lm(formula = x0 ~ x1 + x2) Residuals: Min 1Q Median 3Q Max -117.635 -47.862 -4.934 59.475 144.683 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 175.27186 232.81119 0.753 0.460767 x1 0.90606 0.22526 4.022 0.000728 *** x2 -0.01452 0.24079 -0.060 0.952552 --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 Residual standard error: 73.98 on 19 degrees of freedom Multiple R-squared: 0.7464, Adjusted R-squared: 0.7197 F-statistic: 27.97 on 2 and 19 DF, p-value: 2.182e-06 La correlazione sempre buona ma un po meno forte rispetto al modello precedente. Il parametro R pari a 0.7464. Avendo inizialmente valutato ad occhio una periodicit annuale, quindi ogni quattro trimestri, introduciamo un modello in cui vogliamo vedere come il primo trimestre e lultimo trimestre dellanno precedente influenzano lanno successivo. Il nostro modello sempre del tipo x=ax+ax+b+, ma con una variante. Digitiamo: > x0=occ[5:n] > x1=occ[4:(n-1)] > x4=occ[1:(n-4)] > REG=lm(x0~x1+x4) > summary(REG) Call: lm(formula = x0 ~ x1 + x4)

12

HOMEWORK 2 Analisi e previsione di serie storiche

Residuals: Min 1Q Median 3Q Max -77.820 -29.870 -7.957 24.604 100.584 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -254.4298 182.6256 -1.393 0.181517 x1 0.2998 0.1367 2.194 0.042432 * x4 0.8063 0.1606 5.022 0.000105 *** --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 Residual standard error: 46.98 on 17 degrees of freedom Multiple R-squared: 0.8776, Adjusted R-squared: 0.8632 F-statistic: 60.94 on 2 and 17 DF, p-value: 1.764e-08 Si vede chiaramente che la correlazione maggiore. Il modello migliore di entrambi gli altri due. Il valore di R 0.8776. Si osserva oltretutto che il nuovo fattore introdotto x di gran lunga pi importante rispetto al fattore x (rispettivamente x4 e x1 in R): questo lo si vede dal numer o di asterischi di lato ai due coefficienti nel summary(REG). Proviamo allora a vedere di quanto peggiora il modello eliminando x. Digitiamo: > REG=lm(x0~x4) > summary(REG) Call: lm(formula = x0 ~ x4) Residuals: Min 1Q Median 3Q Max -110.7785 -26.6855 0.8381 24.8682 80.4942 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -227.6249 200.5904 -1.135 0.271 x4 1.0819 0.1101 9.829 1.16e-08 *** --Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1 Residual standard error: 51.72 on 18 degrees of freedom Multiple R-squared: 0.8429, Adjusted R-squared: 0.8342 F-statistic: 96.6 on 1 and 18 DF, p-value: 1.165e-08 Notiamo che infatti il modello non peggiorato eccessivamente, ma il valore di R, adesso pari a 0.8429, comunque sempre molto vicino a quello del modello precedente.

13

HOMEWORK 2 Analisi e previsione di serie storiche

Previsione
Vogliamo adesso utilizzare il nostro modello per prevedere i successivi tre anni. Siamo al punto in cui abbiamo eseguito la regressione > REG=lm(x0~x1+x4). Digitiamo adesso:

> serie=read.table(file="file62085.txt") > serie=serie[,2] > a1=REG$coefficients[2] > a2=REG$coefficients[3] > b=REG$coefficients[1] > for(k in (n+1):(n+12)){ + P[k]=a1*P[k-1]+a2*P[k-12]+b +} > ts.plot(P,col="red") > lines(serie,col="blue") > legend(0,1550,legend=c("Dati da prevedere","Previsione"),col=c("Blue","Red"), lwd=c(3,3),lty=c(1,1))

Possiamo per effettuare la previsione utilizzando un altro metodo. R mette a disposizione un utile metodo di previsione con la funzione predict(). Questa funzione in grado di applicare il metodo di previsione a un oggetto generato col metodo di Holt-Winters. Se vogliamo prevedere i tre anni successivi alla nostra serie storica (anni 2006-2008), ovvero un totale di 12 trimestri, digitiamo: > prev=predict(occ.hw,n.ahead=12) Volendo confrontare la previsione con i veri valori presentatisi quegli anni, possiamo plottare entrambi gli andamenti in un unico grafico. Digitiamo:

> plot(prev,col="red",asp=0.005) > lines(occ.da.prev) > legend(2006,1300,legend=c("Dati da prevedere","Previsione"),col=c("Black"," Red"),lwd=c(3,3),lty=c(1,1))

14

HOMEWORK 2 Analisi e previsione di serie storiche

Facciamo ora un confronto tra i due metodi di previsione, andandoci a calcolare la deviazione standard per valutare quale dei due commette il minimo errore. Digitiamo: > sigma=sqrt(mean((P[25:36]-serie[25:36])^2)) > sigma [1] 106.3143 > sigma2=sqrt(mean((prev[1:12]-serie[25:36])^2)) > sigma2 [1] 125.3559 Possiamo concludere che il primo metodo produce un errore minore rispetto al metodo fornito da R con la funzione predict(). Anche nelle previsioni, quindi, landamento discendente e con variazioni stagionali viene confermato, quasi ad indicare che le due cause individuate, lelevazione dellobbligo scolastico e il lavoro a tempo determinato, continuano a produrre gli stessi effetti dei periodi precedenti.

Intervallo di confidenza
Il calcolo della deviazione standard appena fatto per confrontare i due metodi pu essere utilizzato per stimare un intervallo di confidenza. Verifichiamo che i veri valori futuri cadano nellintervallo di confidenza p3. Digitiamo: > Pp3sigma=P[25:36]+3*sigma > Pp3sigma [1] 1882.618 1999.971 2081.114 1988.529 1909.974 1883.197 1935.641 1849.772 [9] 1781.293 1775.276 1745.252 1732.218 > Pm3sigma=P[25:36]-3*sigma > Pm3sigma [1] 1244.732 1362.085 1443.228 1350.643 1272.088 1245.311 1297.755 1211.885 [9] 1143.407 1137.390 1107.365 1094.332 > serie[25:36] [1] 1547 1562 1565 1491 1450 1527 1561 1429 1467 1526 1528 1392 Si vede anche a occhio che la serie dei veri valori futuri sta sempre nellintervallo di confiden za calcolato, ovvero si ha sempre che Pm3sigma < serie < Pp3sigma.

Test sullerrore
Fino a questo momento abbiamo come implicitamente supposto che lerrore fosse distribuito normalmente con media zero e varianza costante e che non ci fosse autocorrelazione. Queste ipotesi vanno per verificate con dei test statistici per dimostrare la validit del modello oppure per smentire la stessa e optare per modelli pi complessi.

15

HOMEWORK 2 Analisi e previsione di serie storiche

Cerchiamo di verificare allora che i residui si distribuiscano secondo una variabile aleatoria normale, individuando i valori anomali. Innanzitutto standardizziamo i residui con una semplice funzione: > stand=function(x){ + m=mean(x) + s=(var(x)^0.5) + z=(x-m)/s + return(z) +} Poi plottiamo il diagramma dei residui standardizzati e la banda di confidenza al 95% (quella compresa tra 0.4 e -0.4).

> res.stand=stand(res.stl ) > plot(res.stand,main="Diagr amma dei residui standardizzati") > abline(h=0.4,col="blue") > abline(h=-0.4,col="blue") Emerge quindi un errore considerevole soprattutto a partire dal 2003 in cui si ha un andamento molto imprevedibile.

Bisogna quindi comprendere il significato di questa situazione anomala e le motivazioni che lo hanno determinato. Secondo lIstat, nel 2003 si avuto un rallentamento dellattivit produttiva in tutti i settori (Rapporto annuale 2003 - Dati sintetici). Il riflesso di queste tendenze sulloccupazione non ha mancato di farsi sentire. Sempre secondo i dati forniti dal principale istituto di statistica nazionale, in un solo anno, tra maggio 2003 e maggio 2004, le grandi imprese hanno perso circa 16.000 posti di lavoro. vero che nel 2003 il numero di occupati in Italia aumentato dell1% (+225 mila), ma lincremento ha riguardato le fasce det pi anziane a causa di fattori demografici e del progressivo innalzamento dei requisiti di et e di contribuzione per laccesso alle pensioni di vecchiaia o di anzianit.

16

HOMEWORK 2 Analisi e previsione di serie storiche

Questo giustifica quindi ampiamente lanomalia repentina che si avuta dal 2003 in poi , ben visibile nel grafico. Volendo verificare la normalit della distribuzione degli errori si ricorre allaiuto grafico con un istogramma e con un QQ-plot. Digitiamo: > hist(res.stand,main="Distrib uzione dei residui: istogramma")

> plot(density(res.stand,kernel ="gaussian"),main="Distribuz ione dei residui: lisciamento")

17

HOMEWORK 2 Analisi e previsione di serie storiche

> qqnorm(res.stand) > abline(0,1)

Da tutti e tre i grafici emerge una buona indicazione su una probabile distribuzione pressoch normale dei residui, anche se ci sono punti che si discostano molto dallandamento normale. Possiamo tornare allora al discorso iniziale sullautocorrelazione. Se facciamo il grafico di autocorrelazione dei residui si nota chiaramente che non c correlazione. Digitiamo: >acf(res.stand)

Le linee tratteggiate indicano la banda di confidenza ad un livello del 95%. Al variare del lag temporale i coefficienti di autocorrelazione dei residui risultano essere tutti interni alla banda di confidenza, indicando quindi una chiara assenza di correlazione della serie.

18

HOMEWORK 2 Analisi e previsione di serie storiche

Conclusioni
Dal lavoro svolto si evince che loccupazione giovanile sta attraversando un periodo negativo. Sicuramente la diminuzione del tasso di natalit a partire dal 1976 in poi ha influito sullandamento decrescente delloccupazione giovanile. Si sono poi accavallate altre problematiche quali la riforma scolastica e, in maggior misura, la crisi economica. Tutti questi fattori influiscono in percentuale diversa a seconda dei vari anni. Prima del 2003 incide maggiormente la diminuzione del tasso di natalit; successivamente si acuita la crisi economica soprattutto negli anni 2003-2004, che si ripercossa pesantemente sulloccupazione giovanile, a cui si aggiunta contemporaneamente la riforma sullobbligo scolastico. Tuttavia bisogna aggiungere che i contorni reali del fenomeno sfuggono alle statistiche perch il lavoro dei minori molto spesso legato al lavoro clandestino e in ogni caso non denunciato.