ODS PDF FILE='exLISSAGE_DOUBLE.pdf'; OPTIONS PS=66 LS=80 FORMDLIM= '='; /* Exemple de lecture de donnees avec SAS */ DATA serie2; INFILE '~duchesne/STT3220/thermostat.txt'; INPUT thermo @@; RUN; /* Statistiques descriptives */ PROC MEANS DATA=serie2; VAR thermo; RUN; /* Methode de lissage exponentiel double, avec ALPHA=0.14, on veut un total de 12 previsions. Les resultats sont dans le DATA out. Les estimateurs sont dans le DATA est. */ PROC FORECAST DATA=serie2 METHOD=expo TREND = 2 LEAD=12 OUT = out OUTALL OUTEST = est NSTART=MAX WEIGHT = 0.14 ALPHA=0.05; VAR thermo; 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_ <= 12; 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; SET out3; 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_double.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;