Scénario de test & Cas d'usage
Analyse und Prognose univariater Zeitreihen.
Entdecken Sie alle Aktionen von uniTimeSeriesErstellt eine Tabelle `monatsverkaeufe` mit monatlichen Verkaufsdaten über 5 Jahre, die einen Trend und eine 12-monatige Saisonalität aufweisen.
| 1 | DATA mycas.monatsverkaeufe; |
| 2 | FORMAT datum monyy.; |
| 3 | DO year = 1 to 5; |
| 4 | DO month = 1 to 12; |
| 5 | datum = mdy(month, 1, 2018 + year); |
| 6 | saison_effekt = 150 * sin((month-3)*constant('pi')/6); |
| 7 | trend = 50 * (year-1) + 10 * month; |
| 8 | rauschen = rannor(12345) * 30; |
| 9 | verkaeufe = 2000 + trend + saison_effekt + rauschen; |
| 10 | IF verkaeufe < 500 THEN verkaeufe = 500; |
| 11 | OUTPUT; |
| 12 | END; |
| 13 | END; |
| 14 | RUN; |
| 1 | PROC CAS; |
| 2 | uniTimeSeries.arima / |
| 3 | TABLE={name='monatsverkaeufe', caslib='mycas'}, |
| 4 | timeId={name='datum'}, |
| 5 | interval='MONTH', |
| 6 | seasonality=12, |
| 7 | series={name='verkaeufe', model={estimate={p={{factor=1}}, diff={1, 12}, q={{factor=1, seasonal=12}}, method='ML'}, forecast={lead=12, alpha=0.95}}}, |
| 8 | outFor={name='prognose_verkaeufe', caslib='mycas', replace=true}, |
| 9 | outEst={name='est_verkaeufe', caslib='mycas', replace=true}, |
| 10 | outStat={name='stat_verkaeufe', caslib='mycas', replace=true}; |
| 11 | RUN; |
| 1 | |
| 2 | PROC PRINT |
| 3 | DATA=mycas.prognose_verkaeufe; |
| 4 | |
| 5 | RUN; |
| 6 | PROC PRINT |
| 7 | DATA=mycas.est_verkaeufe; |
| 8 | |
| 9 | RUN; |
| 10 | PROC PRINT |
| 11 | DATA=mycas.stat_verkaeufe; |
| 12 | |
| 13 | RUN; |
| 14 |
Die Aktion führt erfolgreich eine saisonale ARIMA-Analyse durch. Die Tabelle `mycas.prognose_verkaeufe` enthält 12 zukünftige Prognosewerte mit Ober- und Untergrenzen des Konfidenzintervalls. Die Tabelle `mycas.est_verkaeufe` enthält die geschätzten Parameter für das saisonale Modell. Die Tabelle `mycas.stat_verkaeufe` zeigt Anpassungsstatistiken wie AIC und BIC, die eine gute Modellanpassung bestätigen.