uniTimeSeries arima

Análisis de Alto Volumen de Datos de Sensores IoT

Scénario de test & Cas d'usage

Contexto empresarial

Una empresa de energía eólica necesita analizar y prever la producción de energía de una turbina a partir de datos de sensores recopilados cada minuto. El objetivo es probar la capacidad de la acción `arima` para manejar un gran volumen de datos de series temporales de alta frecuencia.
Sobre el conjunto : uniTimeSeries

Análisis y pronóstico de series temporales univariantes.

Descubrir todas las acciones de uniTimeSeries
Preparación de datos

Crea una tabla con 200,000 observaciones para simular datos de un sensor cada minuto durante varios meses. La serie tiene una tendencia y un componente cíclico.

¡Copiado!
1DATA mycas.sensor_iot;
2 FORMAT timestamp datetime20.;
3 DO i = 1 to 200000;
4 timestamp = '01JAN2025:00:00:00'dt + i*60;
5 produccion_kw = 500 + 0.001*i + 50*sin(i/1000) + rannor(567)*10;
6 OUTPUT;
7 END;
8RUN;

Étapes de réalisation

1
Carga de la tabla de gran volumen en la sesión de CAS.
¡Copiado!
1PROC CAS;
2 TABLE.loadTable /
3 caslib='CASUSER' path='sensor_iot.sashdat'
4 casOut={name='sensor_iot', replace=true};
5RUN;
2
Ejecución de la acción arima con un modelo ARIMA(2,1,1) simple. Se especifica el uso de múltiples hilos (nThreads) para optimizar el rendimiento en el preprocesamiento. Se genera un pronóstico para los próximos 60 minutos.
¡Copiado!
1uniTimeSeries.arima /
2 TABLE={name='sensor_iot'},
3 timeId={name='timestamp'},
4 interval='minute',
5 nThreads=4,
6 series={
7 {name='produccion_kw', model={
8 {estimate={p=2, diff=1, q=1}},
9 {forecast={lead=60}}
10 }}
11 },
12 outFor={name='pronostico_iot', replace=true};
3
Verificación de la creación y el contenido de la tabla de pronóstico.
¡Copiado!
1TABLE.fetch / TABLE={name='pronostico_iot'} to=10;
2RUN;
3QUIT;
4 

Resultado esperado


La acción debe procesar las 200,000 observaciones de manera eficiente y sin errores. Se debe generar una tabla de salida `pronostico_iot` que contenga 60 predicciones para los próximos 60 minutos. El rendimiento de la acción debe ser aceptable para un conjunto de datos de este tamaño.