uniTimeSeries esm

Umgang mit fehlenden Banktransaktionsdaten

Scénario de test & Cas d'usage

Geschäftskontext

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 NULL markiert. Das System muss robust genug sein, um diese Lücken zu erkennen und korrekt auszurichten.
Über das Set : uniTimeSeries

Analyse und Prognose univariater Zeitreihen.

Entdecken Sie alle Aktionen von uniTimeSeries
Datenaufbereitung

Erstellung eines Datensatzes mit fehlenden Tagen und NULL-Werten im Transaktionsbetrag.

Kopiert!
1 
2DATA mycas.bank_tx;
3date = '01JAN2024'd;
4DO i = 1 to 100;
5amount = 1000 + rand('Uniform')*500;
6IF mod(i, 10) = 0 THEN delete;
7/* Fehlender Tag */ ELSE IF mod(i, 15) = 0 THEN call missing(amount);
8/* Fehlender Wert */ ELSE OUTPUT;
9date = date + 1;
10END;
11FORMAT date date9.;
12 
13RUN;
14 

Étapes de réalisation

1
Überprüfung der lückenhaften Daten.
Kopiert!
1 
2PROC CAS;
3SIMPLE.numRows / TABLE={name='bank_tx'};
4 
5RUN;
6 
2
Ausführung von ESM mit 'alignId=BEGIN' und 'boundaryAlign=BOTH' zur Behandlung der Zeitreihenlücken.
Kopiert!
1 
2PROC CAS;
3uniTimeSeries.esm TABLE={name='bank_tx'} timeId={name='date'} interval='DAY' alignId='BEGIN' boundaryAlign='BOTH' forecast={{name='amount', method='SIMPLE', lead=7}} outFor={name='tx_forecast', replace=true};
4 
5RUN;
6 

Erwartetes Ergebnis


Die Aktion stürzt nicht ab. Sie erkennt die Lücken in der Zeitreihe basierend auf dem Intervall 'DAY' und behandelt die fehlenden Werte (z.B. durch interne Interpolation oder Ignorieren, abhängig von der Standardimplementierung), um eine Prognose für die nächsten 7 Tage zu erstellen. Die Zeitausrichtung (Alignment) erfolgt korrekt auf den Tagesbeginn.