?>
Die Aktion `arima` im Aktionssatz `uniTimeSeries` wird verwendet, um ARIMA-Modelle (Autoregressive Integrated Moving Average) für die Zeitreihenanalyse anzupassen. Diese Modelle sind nützlich, um zukünftige Punkte in einer Serie vorherzusagen. Die Aktion ermöglicht die Schätzung von Modellparametern, die Durchführung von Prognosen und die Ausgabe verschiedener Statistiken und Schätzungen.
| Parameter | Beschreibung |
|---|---|
| alignId | Gibt die Ausrichtung der Zeit-ID an. |
| auxData | Gibt die Hilfszeitreihen-Datentabellen an. |
| boundaryAlign | Gibt die Ausrichtung des Start- und Endzeitstempels an. |
| casOut | Benennt die Ausgabe-Datentabelle, die die Prognosen der Variablen enthalten soll. |
| display | Gibt die Liste der Anzeigetabellen an, die die Aktion erstellen soll. Wenn dieser Parameter nicht angegeben ist, werden alle Tabellen erstellt. |
| interval | Gibt das Zeitintervall (oder die Frequenz) an. |
| nlFormat | Wenn auf True gesetzt, wird das beste internationale Format für die Zeitstempelvariable basierend auf dem Akkumulationszeitintervall ausgewählt. Wenn auf False gesetzt, wird das beste englischsprachige Format ausgewählt. |
| nThreads | Gibt die Anzahl der pro Worker-Knoten in einer CAS-Sitzung verwendeten Threads an. |
| outEst | Benennt die Ausgabe-Datentabelle, die die Modellparameterschätzungen und die zugehörigen Teststatistiken und Wahrscheinlichkeitswerte enthalten soll. |
| outFor | Benennt die Ausgabe-Datentabelle, die die Prognosezeitreihenkomponenten enthalten soll. |
| outputTables | Gibt die Liste der Anzeigetabellen an, die Sie als CAS-Tabellen ausgeben möchten. |
| outStat | Benennt die Ausgabe-Datentabelle, die die Anpassungsstatistiken enthalten soll. |
| seasonality | Gibt die Anzahl der Zeiträume pro saisonalem Zyklus an. |
| series | Gibt den Namen der zu modellierenden Serie und die Modellierungsoptionen an. |
| sumOut | Benennt die Ausgabe-Datentabelle, die die Zusammenfassungsstatistiken und die Prognosesummierung enthalten soll. |
| table | Gibt die Eingabe-Datentabelle an. |
| tEnd | Gibt das Ende des Zeitfensters an. |
| timeId | Gibt die Zeitstempelvariable an. |
| trimId | Gibt an, wie die Zeitreihe gekürzt werden soll (fehlende Werte am Anfang, am Ende, an beiden Enden oder gar nicht). |
| tStart | Gibt den Anfang des Zeitfensters an. |
Dieser SAS-Code erstellt eine Beispieltabelle `mycas.series` mit einer Zeitreihenvariable `y` und einer Zeit-ID-Variable `time`. Diese Daten werden in den folgenden Beispielen verwendet, um die ARIMA-Modellierung zu demonstrieren.
data mycas.series;
format time yymmdd10.;
do i = 1 to 100;
time = intnx('month', '01jan2020'd, i-1);
y = 100 + 5*i + 10*sin(i/6) + rannor(123);
output;
end;
run;Dieses Beispiel zeigt, wie ein einfaches ARIMA(1,1,1)-Modell für die Variable `y` aus der Tabelle `mycas.series` geschätzt wird. Das Zeitintervall ist auf 'MONTH' gesetzt.
| 1 | PROC CAS; |
| 2 | uniTimeSeries.arima / |
| 3 | TABLE={name='series' caslib='mycas'}, |
| 4 | timeId={name='time'}, |
| 5 | interval='MONTH', |
| 6 | series={name='y', model={estimate={p={{factor=1}}, diff={1}, q={{factor=1}}}}}, |
| 7 | outEst={name='mycas.estout', replace=true}, |
| 8 | outStat={name='mycas.statout', replace=true}; |
| 9 | RUN; |
Dieses Beispiel führt eine detailliertere Analyse durch. Es schätzt ein saisonales ARIMA(1,1,1)(1,1,1)12-Modell mit einer logarithmischen Transformation der `y`-Serie. Es generiert auch eine Prognose für 12 Perioden in die Zukunft und speichert die Prognoseergebnisse in der Tabelle `mycas.forout`.
| 1 | PROC CAS; |
| 2 | uniTimeSeries.arima / |
| 3 | TABLE={name='series' caslib='mycas'}, |
| 4 | timeId={name='time'}, |
| 5 | interval='MONTH', |
| 6 | seasonality=12, |
| 7 | series={ |
| 8 | name='y', |
| 9 | model={ |
| 10 | estimate={ |
| 11 | transform='LOG', |
| 12 | p={{factor=1}, {factor=1, seasonal=12}}, |
| 13 | diff={1, 12}, |
| 14 | q={{factor=1}, {factor=1, seasonal=12}}, |
| 15 | method='ML', |
| 16 | noint=false |
| 17 | }, |
| 18 | forecast={lead=12, alpha=0.95} |
| 19 | } |
| 20 | }, |
| 21 | outFor={name='mycas.forout', replace=true}, |
| 22 | outEst={name='mycas.estout_detailed', replace=true}, |
| 23 | outStat={name='mycas.statout_detailed', replace=true}; |
| 24 | RUN; |