timeFilters

expectedRange

Descripción

La acción `expectedRange` calcula el rango y el rango relativo móvil para cada observación de una serie temporal en los datos de entrada. Esta técnica es fundamental en el análisis de series temporales para evaluar la volatilidad y detectar anomalías o cambios en la variabilidad dentro de ventanas de tiempo específicas.

timeFilters.expectedRange <result=results> <status=rc> / casOut={caslib="string", compress=TRUE|FALSE, indexVars={"variable-name-1" <, "variable-name-2", ...>}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR"|"INHERIT"|"STANDARD", name="table-name", promote=TRUE|FALSE, replace=TRUE|FALSE, replication=integer, tableRedistUpPolicy="DEFER"|"NOREDIST"|"REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1" <, "string-2", ...>}} dttmName="string" expectedRangeWindowLength=64-bit-integer rangeWindowLength=64-bit-integer timeSeriesTable={caslib="string", computedOnDemand=TRUE|FALSE, computedVars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, groupBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, groupByMode="NOSORT"|"REDISTRIBUTE", importOptions={fileType="ANY"|"AUDIO"|"AUTO"|"BASESAS"|"CSV"|"DELIMITED"|"DOCUMENT"|"DTA"|"ESP"|"EXCEL"|"FMT"|"HDAT"|"IMAGE"|"JMP"|"LASR"|"PARQUET"|"SOUND"|"SPSS"|"VIDEO"|"XLS", fileType-specific-parameters}, name="table-name", orderBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, singlePass=TRUE|FALSE, vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, where="where-expression"} xVarNames={"string-1" <, "string-2", ...>};
Parámetros
ParámetroDescripción
casOutEspecifica la tabla de salida donde se almacenarán los valores del rango esperado calculado. Consulte los parámetros comunes de casouttable para más detalles.
dttmNameEspecifica el nombre de la variable que contiene la información de fecha y hora (datetime) en la tabla de entrada.
expectedRangeWindowLengthDefine la longitud de la ventana (número de observaciones) utilizada para el cálculo del rango esperado. El valor mínimo es 1.
rangeWindowLengthDefine la longitud de la ventana (número de observaciones) utilizada para el cálculo del rango. El valor mínimo es 1.
timeSeriesTableEspecifica la tabla CAS de entrada que contiene los datos de la serie temporal a analizar.
xVarNamesEspecifica una o más variables independientes (numéricas) de la tabla de entrada sobre las cuales se realizará el análisis.
Creación de datos de prueba de serie temporal

Se genera un conjunto de datos simple en CAS con una variable de fecha y una variable de valor numérico para demostrar el cálculo del rango.

¡Copiado!
1 
2DATA mycas.time_series_data;
3INPUT date : date9. value;
4FORMAT date date9.;
5DATALINES;
601JAN2023 10 02JAN2023 12 03JAN2023 15 04JAN2023 14 05JAN2023 18 06JAN2023 20 07JAN2023 19 08JAN2023 22 09JAN2023 25 10JAN2023 24;
7 
8RUN;
9 

Ejemplos

Ejecuta la acción `expectedRange` con ventanas de longitud 3 para calcular la volatilidad a corto plazo.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3timeFilters.expectedRange / timeSeriesTable={name="time_series_data"} dttmName="date" xVarNames={"value"} expectedRangeWindowLength=3 rangeWindowLength=3 casOut={name="basic_range_output", replace=true};
4 
5RUN;
6 
Resultado :
Se genera la tabla 'basic_range_output' con el rango y el rango relativo móvil calculados para cada fecha basándose en una ventana de 3 periodos.

Realiza el cálculo utilizando ventanas más amplias (5 periodos) para suavizar la estimación del rango y define explícitamente opciones de la tabla de salida como la replicación.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3timeFilters.expectedRange / timeSeriesTable={name="time_series_data"} dttmName="date" xVarNames={"value"} expectedRangeWindowLength=5 rangeWindowLength=5 casOut={name="detailed_range_output", replace=true, replication=0};
4 
5RUN;
6 
Resultado :
Se produce la tabla 'detailed_range_output'. Al aumentar la longitud de la ventana a 5, el cálculo del rango esperado refleja una tendencia más suavizada y menos sensible a fluctuaciones inmediatas.

FAQ

¿Qué función realiza la acción `expectedRange`?
¿Cuáles son los parámetros obligatorios para ejecutar esta acción?
¿Cuál es el propósito del parámetro `casOut`?
¿Qué restricciones de valor tienen `expectedRangeWindowLength` y `rangeWindowLength`?
¿Qué define el parámetro `xVarNames`?