?> arima - WeAreCAS
uniTimeSeries

arima

Beschreibung

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.

uniTimeSeries.arima result=<results> status=<rc> / alignId="BEGIN" | "END" | "MIDDLE", auxData={{...}, {...}, ...}, boundaryAlign="BOTH" | "END" | "NONE" | "START", casOut={...}, display={...}, interval="string", nlFormat=TRUE | FALSE, nThreads=integer, outEst={...}, outFor={...}, outputTables={...}, outStat={...}, seasonality=integer, series={{...}, {...}, ...}, sumOut={...}, table={...}, tEnd=double | date | datetime, timeId={...}, trimId="BOTH" | "LEFT" | "NONE" | "RIGHT", tStart=double | date | datetime;
Einstellungen
ParameterBeschreibung
alignIdGibt die Ausrichtung der Zeit-ID an.
auxDataGibt die Hilfszeitreihen-Datentabellen an.
boundaryAlignGibt die Ausrichtung des Start- und Endzeitstempels an.
casOutBenennt die Ausgabe-Datentabelle, die die Prognosen der Variablen enthalten soll.
displayGibt die Liste der Anzeigetabellen an, die die Aktion erstellen soll. Wenn dieser Parameter nicht angegeben ist, werden alle Tabellen erstellt.
intervalGibt das Zeitintervall (oder die Frequenz) an.
nlFormatWenn 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.
nThreadsGibt die Anzahl der pro Worker-Knoten in einer CAS-Sitzung verwendeten Threads an.
outEstBenennt die Ausgabe-Datentabelle, die die Modellparameterschätzungen und die zugehörigen Teststatistiken und Wahrscheinlichkeitswerte enthalten soll.
outForBenennt die Ausgabe-Datentabelle, die die Prognosezeitreihenkomponenten enthalten soll.
outputTablesGibt die Liste der Anzeigetabellen an, die Sie als CAS-Tabellen ausgeben möchten.
outStatBenennt die Ausgabe-Datentabelle, die die Anpassungsstatistiken enthalten soll.
seasonalityGibt die Anzahl der Zeiträume pro saisonalem Zyklus an.
seriesGibt den Namen der zu modellierenden Serie und die Modellierungsoptionen an.
sumOutBenennt die Ausgabe-Datentabelle, die die Zusammenfassungsstatistiken und die Prognosesummierung enthalten soll.
tableGibt die Eingabe-Datentabelle an.
tEndGibt das Ende des Zeitfensters an.
timeIdGibt die Zeitstempelvariable an.
trimIdGibt an, wie die Zeitreihe gekürzt werden soll (fehlende Werte am Anfang, am Ende, an beiden Enden oder gar nicht).
tStartGibt den Anfang des Zeitfensters an.
Datenaufbereitung
Erstellung von Beispieldaten

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.

1DATA mycas.series;
2 FORMAT time yymmdd10.;
3 DO i = 1 to 100;
4 time = intnx('month', '01jan2020'd, i-1);
5 y = 100 + 5*i + 10*sin(i/6) + rannor(123);
6 OUTPUT;
7 END;
8RUN;

Beispiele

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.

SAS® / CAS-Code
Kopiert!
1PROC 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};
9RUN;
Ergebnis :
Die Aktion schätzt die Parameter für das ARIMA(1,1,1)-Modell. Die Ergebnisse, einschließlich der Parameterschätzungen und Anpassungsstatistiken, werden in den Tabellen `mycas.estout` bzw. `mycas.statout` gespeichert.

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`.

SAS® / CAS-Code
Kopiert!
1PROC 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};
24RUN;
Ergebnis :
Die Aktion schätzt das saisonale ARIMA-Modell unter Verwendung der Maximum-Likelihood-Methode. Die Prognosen für die nächsten 12 Monate werden generiert und zusammen mit den Konfidenzintervallen in der Tabelle `mycas.forout` gespeichert. Die Parameterschätzungen und Anpassungsstatistiken werden in `mycas.estout_detailed` und `mycas.statout_detailed` gespeichert.

FAQ

Was ist die `arima`-Aktion in SAS Viya?
Welche Schätzmethoden unterstützt die `arima`-Aktion?
Wie kann ich eine Zeitreihentransformation wie die Box-Cox-Transformation anwenden?
Wie definiere ich die Ordnung eines ARIMA-Modells, z. B. p, d und q?
Wie erstelle ich Prognosen mit der `arima`-Aktion?
Wie kann ich die Konfidenzgrenzen für die Prognosen festlegen?
Welche Ausgabetabellen kann die `arima`-Aktion erzeugen?