X12-ARIMA: Retos y Soluciones Alternativas

Trasfondo

Hace unos pocos años, nuestros usuarios solicitaron una interfaz de MS Excel más moderna  para el popular X-12 ARIMA y su metodología estacional ajustada (X11). La oficina del censo de los Estados Unidos desarrolló y mantiene el programa X12-ARIMA (X12A), de manera que está disponible gratuitamente. Casi todo el mundo en la industria acepta y valora altamente este programa y su metodología.

En ese momento optamos por integrar NumXL con X12ARIMA, pero como un programa externo. 

¿Qué significa la integración con programas externos?

En pocas palabras, NumXL implementa varias funciones de excel y  ofrece una interfaz de usuario para aceptar las entradas y los datos de los usuarios. Tras bambalinas, NumXL transfiere los datos y las entradas de los usuarios al programa X12A para hacer el cálculo y, una vez ha terminado, NumXL devuelve los resultados al usuario en Excel. 

En esta figura se puede ver un diagrama de flujo simplificado que muestra cómo NumXL transfiere datos y salidas al programa X12A para cálculos, y devuelve resultados al usuario en Excel.

 

¿Por qué le debe interesar?

Estamos asumiendo que usted ya está usando X12A/X11  y nos gustaría compartir algunos consejos y soluciones alternativas que hemos desarrollado para superar algunas de las limitaciones del programa, y para optimizar su tiempo de ejecución y su capacidad de respuesta.  

 

Problema 1: Limitación de X12A con respecto a la longitud de los datos de entrada

El programa X12ARIMA del censo de Estados Unidos acepta series de tiempo desde 12 (para datos de longitud mensuales) hasta 4 (para datos trimestrales), y hasta 600 observaciones. 

Las funciones de NumXL aceptan series de tiempo de cualquier longitud, pero solamente usan las 600 observaciones más recientes (no faltantes) para fines X12, y cambian la fecha de inicio en consecuencia. 

Como usuario no debe hacer ningún cambio, puede pasar los datos como usualmente está acostumbrado ya que NumXL se encarga de estas restricciones tras bambalinas. 

 

Problema 2: Agregar una nueva observación a la serie de datos

A medida que pasa el tiempo, se realizan nuevas observaciones y se adjuntan al conjunto de datos de entrada. Debemos mejorar la definición de X12ARIMA para incluir estas observaciones, y volver a correr el modelo para actualizar el ajuste estacional y el pronóstico. 

El escenario anteriormente expuesto puede sonar intuitivo, pero hay que tener en cuenta que necesitaremos alterar el rango de celdas de entrada en la fórmula de cada modelo X12ARIMA en nuestra hoja de cálculo. Esto no es un problema para una de nuestras series pero ¿qué pasa con 10 o con 100 series de tiempo y sus modelos correspondientes? Necesitaremos repetir el mismo ejercicio periódicamente y, por consiguiente, necesitábamos un mejor abordaje. 

 

La solución alternativa es la misma a la que ilustramos en la sugerencia: “Cómo configurar el análisis de regresión para que se actualice automáticamente”. Hemos agregado un “No Aplica-N/A” luego del final de sus datos de ingreso para reservarlos. Ahora incluya esas celdas en la definición del modelo X12ARIMA.

 

Inicialmente NumXL ignora todos los “#N/A” que ocurren luego de la última observación con valores no faltantes. Luego, cuando se realiza un nuevo punto de datos, reemplazamos el “#N/A” con un número real aumentando así el conjunto de datos de entrada. 

Esta técnica agrega una nueva observación al conjunto de datos de entrada, sin necesidad de editar la definición de la fórmula. Todavía necesitaremos recalcular para actualizar los resultados del modelo. 

Esta imagen muestra cómo agregamos un #N/A luego del final de los datos de entrada para reservarlos.

 

Problema 3: ¡El tiempo gastado construyendo los modelos es demasiado!

X12A lleva a cabo un conjunto completo de selección de modelos y calibrado; de manera que si su hoja de cálculo tiene más de unos pocos modelos X12ARIMA, calcular toda la hoja tomará más de unos cuantos segundos. 

La solución alternativa para este problema consiste en dos partes:

  1. Desactive el cálculo automático y configúrelo como manual.  Esta imagen muestra cómo hemos desactivado el auto cálculo y lo hemos configurado como manual.

     

    Al establecer el cálculo como Manual, Excel no buscará forzar un cálculo cuando se toque una celda o cuando se cambie su valor. En vez, necesitaremos empezar el cálculo presionando F9 o SHIFT+F9.

    Mientras tanto usted puede hacer muchos cambios mientras que Excel siga siendo muy receptivo.

  2. Desactive la limpieza del disco X12ARIMA y deje los archivos intermedios generados por X12ARIMA en el disco. Vaya al directorio de instalación NumXL (i.e., C:\users\<username>\AppData\Roaming\NumXL), y abra el archivo NumXL.conf con el bloc de notas o su editor de texto favorito.Ubique la entrada “CLEANUP_EXIT” bajo la sección X12ARIMA. 

x12-arima-disable-cleanup-numxl-conf.png

Asegúrese de que el valor correspondiente se configure como “falso”.

Nota: sustituya el <nombre de usuario> con su nombre de inicio de sesión de Windows real. 

 

Problema 4: Mi fuente de datos está  tocando muchas celdas.

En muchos ambientes, los programas de alimentación de datos generan y actualizan (por demanda o periódicamente) los datos de ingreso usados en modelos X12ARIMA. Esta configuración es muy intrigante, pero las celdas de entrada se tocan con mucha frecuencia y Excel desencadena, a una escala masiva, puntajes de solicitudes de cálculo; de manera que cuando se ejecute un cálculo manual, muchos modelos sean candidatos para reevaluación.  

En NumXL calculamos y guardamos la suma de comprobación internamente (aka Hash) para el conjunto de datos de entrada y para los valores de los parámetros del modelo. De manera que cuando Excel haga una nueva solicitud de nuevo modelo, NumXL pueda calcular las nuevas sumas de comprobación y las compare con las anteriores. Si NumXL  no encuentra ningún cambio, simplemente ignorará la solicitud. 

 

Como resultado, sin importar cuántos modelos X12ARIMA tengamos, NumXL solamente evaluará aquellos con entradas  (ej. Parámetros de modelo o datos de entrada) que hayan cambiado genuinamente desde la última ejecución. Por consiguiente, X12ARIMA opera cuando sea necesario. 

 

Problema 5: Valores faltantes (#N/A)

El programa X12A del censo de Estados Unidos no maneja valores faltantes, pero los valores faltantes son beneficiosos tal como vimos en el Problema 2

NumXL acepta el conjunto de datos de entrada con datos faltantes antes del comienzo o después del final del conjunto de datos (no faltantes). NumXL no admit observaciones intermedias con valores perdidos. 

Usted puede preguntarse por qué necesitamos insertar observaciones con valores faltantes antes del inicio del conjunto de datos de entrada. Los usuarios siempre quieren alinear sus conjuntos de datos para empezar en la misma fila, pero los conjuntos de datos pueden tener diferentes fechas de inicio, por lo que al rellenar #N/A al inicio podemos hacer que todas las series de tiempo empiecen en la misma fecha. 

Adicionar observaciones con valores faltantes al final de las series de tiempo no afecta el resultado, ya que NumXL ajusta la fecha de inicio (y la fecha final) a las fechas de las observaciones no faltantes más cercanas. 

 

Problema 6: Argumento de compensación en X12COMp

Para mostrar cualquiera de las series de tiempo resultantes de X12ARIMA (ej. Ajustadas estacionalmente), el usuario debe usar la función X12ACOMP()de la hoja de cálculo, pero esta función espera: un nombre modelo, tipo de resultado  y compensación.  

La compensación es el número de observaciones desde el comienzo del conjunto de datos de entrada. Las observaciones deben incluir aquellas con valores faltantes (ej., rellenas al comienzo).

Para calcular la compensación, puede completar una columna con una secuencia de números enteros, empezando en uno (1) y aumentando a medida que desciende.

La imagen muestra cómo se llena una columna con una secuencia entera, empezando en uno (1) y aumentando a medida que desciende.

Otra aproximación sería usar la función COUNT() incorporada y calcular el número de celdas desde el comienzo de los datos de entrada hasta nuestra actual posición. 

La imagen muestra el uso de la función COUNT () para calcular el número de celdas desde el comienzo de los datos de entrada.

Problema 7: Políticas de restricción  IT/MIS

En algunos entornos ,  IT/MIS  programa políticas de seguridad restrictivas que impiden que los programas se ejecuten en el perfil del usuario local (i.e., C:\users\<username>\AppData\LocalData). Esta configuración prohibe que el programa X12A se ejecute, generando así ninguna salida. 

La solución alternativa para este problema es cambiar la configuración del “directorio de datos” en el archivo “NumXL.conf”, a un directorio donde el usuario tenga suficiente permiso para ejecutar programas. 

Para hacerlo, diríjase al directorio de instalación de NumXL(i.e., C:\users\<username>\AppData\Roaming\NumXL), y abra el archivo NumXL.conf con el bloc de notas o su editor de texto favorito.

La imagen muestra el directorio de instalación de NumXL donde la entrada del Datapath puede configurarse en un directorio diferente.

Localice la entrada del “DATAPTH” debajo de la sección [GLOBASLS] y establezca su valor en un directorio en su disco con suficiente permiso para ejecutar el programa X12A. 

 

Conclusió

En este número presentamos una serie de desafíos encontrados por otros usuarios al usar el modelo X12ARIMA de NumXL en Excel para el uso diario. Para cada caso, hemos mostrado la mejora correspondiente, recomendación y, en algunos casos, las soluciones alternativas para superarlos. 

 

Mirando hacia el futuro, estamos llevando esas valiosas lecciones con nosotros, mientras avanzamos en el último programa X13ARIMA-SEATS del Censo de Estados Unidos.  

Comentarios

Inicie sesión para dejar un comentario.

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0