ODS PDF FILE='tp6no3.pdf'; OPTIONS PS=66 LS=80 FORMDLIM= '='; /* Exemple de lecture de donnees avec SAS */ DATA tp6no3; INPUT serie @@; DATALINES; 35404 36762 32901 38902 37515 37462 36742 36356 37858 38629 32901 33385 37166 32926 32019 33718 34171 35733 35697 35710 34449 36124 35791 34548 36693 38044 ; DATA nouvelle; INPUT serie; DATALINES; 38658 34592 32087 37153 ; /* Statistiques descriptives */ PROC MEANS DATA=tp6no3; VAR serie; RUN; /* Methode de lissage exponentiel simple. Les resultats sont dans le DATA out. Les estimateurs sont dans le DATA est. */ PROC FORECAST DATA=tp6no3 METHOD=expo TREND = 1 LEAD=4 OUT = out OUTALL OUTEST = est NSTART=30 WEIGHT = 0.1 ALPHA=0.05; VAR serie; RUN; /* ==== Reorganisation des donnees I, previsions pour donnees disponibles ==== */ DATA out0; SET out; WHERE _lead_ = 0; DROP _lead_; RUN; PROC SORT DATA=out0; BY _type_; PROC TRANSPOSE DATA=out0 OUT=trout; BY _type_; RUN; PROC TRANSPOSE DATA=trout OUT=out2; ID _TYPE_; RUN; DATA out2; SET out2; DROP _NAME_; RUN; /* ==== Reorganisation des donnees II, previsions et intervalles de prevision ==== */ DATA out1; SET out; WHERE _lead_ >= 1 AND _lead_ <= 4; DROP _lead_; RUN; PROC SORT DATA=out1; BY _type_; PROC TRANSPOSE DATA=out1 OUT=trout1; BY _type_; RUN; PROC TRANSPOSE DATA=trout1 OUT=out3; ID _TYPE_; RUN; DATA out3; MERGE out3 nouvelle; ERR = (serie-FORECAST)/serie; DROP _NAME_; RUN; PROC PRINT data=out3; RUN; /* ==== Combinaison des jeux de donnees ==== */ DATA out4; SET out2 out3; NOOBS = _N_; RUN; PROC PRINT DATA=out4; run; GOPTIONS RESET=ALL GACCESS='sasgastd > fig_lissage.pdf' DEVICE=PDF; GOPTIONS FTEXT=ZAPF BORDER ROTATE=LANDSCAPE; SYMBOL1 V=DOT H=.1 C=BLACK; SYMBOL2 V=DOT H=.1 C=BLACK I=JOIN L=1; SYMBOL3 V=DOT H=.1 C=BLACK I=JOIN L=3; AXIS1 LABEL=('Temps'); AXIS2 LABEL=(a=90 'Serie'); PROC GPLOT DATA=out4; PLOT forecast*noobs=3 actual*noobs=2 l95*noobs=1 u95*noobs=1 /overlay haxis=axis1 hminor=0 vaxis=axis2 vminor=0; TITLE "PREVISIONS ET BANDES DE PREVISIONS"; run; /* ==== Impression des différents estimateurs ==== */ PROC PRINT DATA=est; RUN; DATA out5; SET out4; resid2 = residual*residual; RUN; PROC MEANS DATA=out5 SUM MEAN N VAR STD; VAR residual resid2; RUN; ODS PDF CLOSE;