OPTIONS PS=66 LS=80 FORMDLIM= '='; /* Exemple de lecture de donnees avec SAS */ DATA serie2; INFILE '~duchesne/STT3220/serie2.dat'; INPUT nonfarm @@; RUN; /* Impression avec PROC PRINT du DATA que l'on vient de composer */ PROC PRINT DATA=serie2; RUN; /* Methode de lissage exponentiel simple, avec ALPHA=0.11, 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 = 1 LEAD=12 OUT = out OUTALL OUTEST = est ASTART = 1.829 WEIGHT = 0.11 ALPHA=0.05; VAR nonfarm; RUN; PROC PRINT DATA=out; 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; PROC PRINT data=out2; RUN; /* ==== Envoie de out2 dans un fichier ==== */ DATA _NULL_; SET out2; FILE 'residus.dat'; PUT actual residual forecast; 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; PROC PRINT data=out3; RUN; /* ==== Envoie de out3 dans un fichier ==== */ DATA _NULL_; SET out3; FILE 'previsions.dat'; PUT l95 forecast u95; RUN; /* ==== Impression des divers estimateurs ==== */ PROC PRINT DATA=est; RUN;