Die Aktion esm bietet Funktionen für exponentielle Glättungsmodelle (Exponential Smoothing Models). Sie ermöglicht die Analyse und Vorhersage von univariaten Zeitreihen unter Verwendung verschiedener Glättungsmethoden, einschließlich einfacher, doppelter, linearer, saisonaler und Winters-Methoden. Die Aktion kann automatisch das beste Modell basierend auf einem gewählten Kriterium auswählen.
| Parameter | Beschreibung |
|---|---|
| alignId | Gibt die Ausrichtung der Zeit-ID an. Werte: BEGIN, END, MIDDLE. Standard: BEGIN. |
| auxData | Gibt die Tabellen für zusätzliche Zeitreihendaten an. |
| boundaryAlign | Gibt die Ausrichtung des Start- und Endzeitstempels an. Werte: BOTH, END, NONE, START. Standard: BOTH. |
| casOut | Benennt die Ausgabedatentabelle, die die Prognosen der Variablen enthalten soll. |
| forecast | Gibt Optionen an, die sich auf die Prognose beziehen (z. B. Methode, Alpha, Vorhersagehorizont). |
| interval | Gibt das Zeitintervall (oder die Häufigkeit) der Daten an (z. B. 'MONTH', 'DAY'). |
| nlFormat | Wenn auf TRUE gesetzt, wird das beste internationale Format für die Zeitstempelvariable basierend auf dem Akkumulationsintervall gewählt. |
| nThreads | Gibt die Anzahl der Threads an, die pro Worker-Knoten in einer CAS-Sitzung verwendet werden sollen. |
| outEst | Benennt die Ausgabedatentabelle für die Modellparameterschätzungen und die zugehörigen Teststatistiken. |
| outFor | Benennt die Ausgabedatentabelle für die Komponenten der Prognosezeitreihe (tatsächlich, vorhergesagt, Konfidenzgrenzen). |
| outStat | Benennt die Ausgabedatentabelle für die Anpassungsstatistiken. |
| seasonality | Gibt die Anzahl der Zeitperioden pro Saisonzyklus an. |
| sumOut | Benennt die Ausgabedatentabelle für die Zusammenfassungsstatistiken und die Prognosesumme. |
| table | Gibt die Eingabedatentabelle an. |
| tEnd | Gibt das Ende des Zeitfensters an. |
| timeId | Gibt die Variable für den Zeitstempel an. |
| trimId | Gibt an, wie die Zeitreihe gekürzt werden soll (z. B. fehlende Werte am Anfang oder Ende entfernen). |
| tStart | Gibt den Beginn des Zeitfensters an. |
Erstellt einen Beispieldatensatz mit monatlichen Verkaufsdaten für die Analyse.
| 1 | DATA mycas.sales_data; |
| 2 | DO date = '01JAN2015'd to '01DEC2023'd; |
| 3 | date = intnx('month', date, 0, 'b'); |
| 4 | sales = 100 + 2 * _n_ + 10 * sin(_n_) + 5 * rannor(123); |
| 5 | OUTPUT; |
| 6 | date = intnx('month', date, 0, 'e'); |
| 7 | END; |
| 8 | FORMAT date monyy.; |
| 9 | RUN; |
Führt eine einfache exponentielle Glättung für die Verkaufsdaten durch und prognostiziert die nächsten 12 Perioden.
| 1 | PROC CAS; |
| 2 | uniTimeSeries.esm |
| 3 | TABLE={name='sales_data'} |
| 4 | timeId={name='date'} |
| 5 | interval='month' |
| 6 | forecast={{name='sales', method='SIMPLE', lead=12}}; |
| 7 | RUN; |
Verwendet die BEST-Methode zur automatischen Auswahl des besten Glättungsmodells, speichert Prognosen, Statistiken und Schätzungen in separaten Tabellen.
| 1 | PROC CAS; |
| 2 | uniTimeSeries.esm |
| 3 | TABLE={name='sales_data'} |
| 4 | timeId={name='date'} |
| 5 | interval='month' |
| 6 | forecast={{ |
| 7 | name='sales', |
| 8 | method='BEST', |
| 9 | lead=12, |
| 10 | alpha=0.05 |
| 11 | }} |
| 12 | casOut={name='sales_forecast', replace=true} |
| 13 | outEst={name='sales_estimates', replace=true} |
| 14 | outStat={name='sales_statistics', replace=true} |
| 15 | outFor={name='sales_components', replace=true}; |
| 16 | RUN; |
Eine große Supermarktkette möchte Engpässe vermeiden und den Lagerbestand für das kommende Quartal optimieren. Das Ziel ist es, die täglichen Verkaufszahlen basierend auf histor...
Ein Energieversorger muss den Stromverbrauch alle 15 Minuten vorhersagen, um die Netzstabilität zu gewährleisten. Das Szenario testet die Performance der Aktion bei einer hohen ...
Eine Bank analysiert tägliche Transaktionsvolumina. Aufgrund von Systemausfällen fehlen einige Datumswerte in der Historie (Lücken in der Zeitreihe) und einige Beträge sind als ...