Berechnet den Bereich und den gleitenden relativen Bereich für jede Zeitreihenbeobachtung in den Eingabedaten. Diese Aktion dient dazu, Schwankungen und Trends in der Volatilität von Zeitreihen über definierte Zeitfenster hinweg zu analysieren.
| Parameter | Beschreibung |
|---|---|
| casOut | Gibt die Ausgabetabelle für die berechneten erwarteten Bereichswerte an. |
| dttmName | Gibt den Namen der Variablen an, die den Zeitstempel (Datum/Uhrzeit) für die Zeitreihe enthält. |
| expectedRangeWindowLength | Gibt die Fensterlänge (Anzahl der Beobachtungen) für die Berechnung des erwarteten Bereichs an. Der Mindestwert beträgt 1. |
| rangeWindowLength | Gibt die Fensterlänge (Anzahl der Beobachtungen) für die Berechnung des tatsächlichen Bereichs an. Der Mindestwert beträgt 1. |
| timeSeriesTable | Gibt die Eingabe-Zeitreihentabelle an, die die zu analysierenden Daten enthält. |
| xVarNames | Gibt eine oder mehrere unabhängige Variablen (Analysevariablen) an, für die der Bereich berechnet werden soll. |
Erzeugt eine Tabelle 'TSDATA' in der Bibliothek 'mycas' mit einer Datumsspalte und einer Wertespalte, die sinusförmige Daten mit Rauschen enthält.
| 1 | DATA mycas.tsdata; |
| 2 | FORMAT date date9.; |
| 3 | DO i = 1 to 365; |
| 4 | date = intnx('day', '01JAN2023'd, i); |
| 5 | value = 10 + sin(i/10) + rannor(123); |
| 6 | OUTPUT; |
| 7 | END; |
| 8 | drop i; |
| 9 | RUN; |
Führt die Aktion 'expectedRange' auf der Tabelle 'tsdata' aus. Dabei wird der Bereich über ein Fenster von 5 Beobachtungen und der erwartete Bereich über 20 Beobachtungen berechnet.
| 1 | PROC CAS; |
| 2 | timeFilters.expectedRange / |
| 3 | timeSeriesTable={name="tsdata"}, |
| 4 | dttmName="date", |
| 5 | xVarNames={"value"}, |
| 6 | rangeWindowLength=5, |
| 7 | expectedRangeWindowLength=20, |
| 8 | casOut={name="range_output", replace=true}; |
| 9 | RUN; |
Analysiert die Zeitreihen, wobei die Daten nach einer hypothetischen Variable 'Category' gruppiert werden (hier als Platzhalter in der Syntax gezeigt) und nur Daten ab einem bestimmten Datum berücksichtigt werden.
| 1 | PROC CAS; |
| 2 | timeFilters.expectedRange / |
| 3 | timeSeriesTable={ |
| 4 | name="tsdata", |
| 5 | where="date >= '01JUN2023'd", |
| 6 | groupBy={{ |
| 7 | name="Category" /* Angenommen, diese Spalte existiert */ |
| 8 | }} |
| 9 | }, |
| 10 | dttmName="date", |
| 11 | xVarNames={"value"}, |
| 12 | rangeWindowLength=7, |
| 13 | expectedRangeWindowLength=30, |
| 14 | casOut={ |
| 15 | name="detailed_range_output", |
| 16 | caslib="casuser", |
| 17 | replace=true, |
| 18 | label="Detaillierte Bereichsanalyse" |
| 19 | }; |
| 20 | RUN; |