Forecast using Neural Network by MAQ Software permite realizar predicciones a partir de series temporales usando un perceptrón multicapa (red neuronal artificial) con una única capa de neuronas.
A pesar de la complejidad que hay detrás de una red neuronal, la configuración de la visualización es muy sencilla:
Apenas dos campos: uno para el eje X (Series/Date, con las fechas o una serie numérica) y otro, Values, con los valores numéricos de la serie a predecir.
En nuestro dataset tenemos datos relativos a la producción de caramelos en los Estados Unidos (dataset descargado de Kaggle). Este dataset consta de los mismos dos campos, que se han renombrado con los nombres Date y Production:
Si llevamos estos dos campos a la visualización y filtramos las fechas en cuestión para incluir solo los años 2014 y posteriores (mediante una segmentación), el resultado es el siguiente:
Vemos cómo, a partir de los datos conocidos (producción entre 2014 y 2017) -datos mostrados en verde- la visualización realiza la predicción y la muestra en amarillo.
En Formato > Forecast settings podemos ver que la red neuronal se ha entrenado con parámetros por defecto y que la predicción es de 10 "time lags" (en este caso 10 meses, pues los datos de los que partimos son mensuales). Si modificamos esta última cifra para que la predicción sea de 24 meses, por ejemplo, la visualización mostrará el siguiente aspecto:
En la misma sección del panel de formato podemos mostrar o no el intervalo de confianza, pudiendo escoger sus límites. Sin embargo, los valores representados por éstos se muestran absurdamente altos sea cual sea el intervalo de confianza escogido (o se trata de un error de programación o la confianza de la predicción es excesivamente baja).
Si configuramos la opción Formato > Forecast settings > Parameter setting con el valor User defined podemos configurar (hasta cierto punto) la red neuronal: el decay (tasa de aprendizaje o learning rate), el número de epochs, el máximo número de iteraciones (que, según la documentación de la visualización, representa el número de iteraciones de entrenamiento en cada epoch), y el número de neuronas artificiales.
La interpretación del campo Max number of iterations no es inmediata pues, en cada epoch, deberían pasar todos los datos de entrenamiento por la red. Tal vez con este parámetro estemos configurando el batch size, pero no queda claro.
En Formato > Plot settings podemos, entre otras cosas, configurar los colores a mostrar en la gráfica pero, en la práctica, los colores mostrados pocas veces tienen que ver con los escogidos.
Por último, podemos también dar cierto formato a los ejes X e Y (en las imágenes anteriores puede verse que la etiqueta del eje Y se muestra demasiado cerca de los valores de dicho eje, y esto no es solucionable configurando la visualización).
Comentar también que esta visualización requiere la instalación de ciertas librerías de R (instalación que se realiza de forma muy sencilla).
Buena visualización, aunque se agradecería la revisión de los problemas indicados.