Power BI

Análisis predictivo con Power BI: guía completa y ejemplos

El análisis predictivo se ha convertido en un elemento crucial para las empresas que desean aprovechar al máximo sus datos para optimizar sus procesos operativos y mejorar su eficiencia y eficacia. Este método se basa en el análisis de datos históricos que, mediante el uso de algoritmos estadísticos avanzados y técnicas de aprendizaje automático, identifica patrones y tendencias útiles para predecir acontecimientos futuros.
Con la evolución de la tecnología, ahora es posible procesar grandes volúmenes de datos con precisión y rapidez. Como parte de Var Group Data Science for Analytics, apoyamos a numerosas empresas que adoptan esta metodología, también conocida como Forecasting, para obtener una importante ventaja competitiva. Se trata de una herramienta clave para anticiparse a las tendencias del mercado y dirigir de forma proactiva las decisiones empresariales. El análisis predictivo encuentra aplicación en diversos sectores, como el comercio electrónico, la sanidad, el comercio minorista y las finanzas, lo que demuestra su versatilidad y su valor intersectorial.

En este artículo, examinaremos las distintas herramientas de análisis predictivo que ofrece Power BI.

¿Se pueden realizar análisis predictivos con Power BI?

Análisis de previsiones temporales en Power BI

Como ya se ha mencionado, Power BI ofrece múltiples funciones avanzadas de análisis de datos. Entre las más interesantes se encuentra la previsión incorporada.

Esta herramienta permite realizar análisis predictivos de forma rápida y sencilla, manteniendo la misma granularidad de los datos. Si se necesita hacer una previsión sobre los próximos 30 puntos de datos, y por punto de datos se entiende «el día», entonces los registros que constituyen el historial deben contener la medida a prever (valor numérico) con el nivel de detalle del día. Si, por el contrario, por punto de datos se entiende «la semana», entonces éste será el nivel de detalle necesario para realizar la predicción.

En resumen , se trata de una previsión con el mismo nivel de granularidad que el punto de datos utilizado. Tras importar el conjunto de datos, el análisis temporal mediante la opción incorporada implica el uso de un gráfico de líneas, ya que es esencial disponer de una referencia temporal continua en el eje x. En el eje y se introducirá la medida agregada, con respecto al nivel de granularidad del punto de datos, para el que queremos calcular la previsión.

Las características del conjunto de datos deben ser las siguientes:

  • El eje X muestra valores continuos y uniformemente crecientes (véase la granularidad de los puntos de datos) con tipo de datos: fecha o fecha/hora
  • El gráfico de líneas debe contener una sola medida, por lo que no puede contener varias «líneas».
Line Chart Total Sales Amount per Day

Para habilitar la opción de previsión, seleccione el tercer icono en » Analytics » y, a continuación, active la opción » Forecast «. Es importante tener cuidado de que se den las condiciones adecuadas para habilitar esta opción, ya que la previsión no está disponible si Power BI no detecta ninguna fecha en el gráfico.

Forecast Option

El análisis predictivo de Power BI incluye varios parámetros que pueden configurarse para modificar el resultado final:

  • UNITS: las unidades se utilizan para determinar si la previsión debe hacerse en años, trimestres, días o cualquier otra opción disponible en función del tipo de fechas del gráfico.

  • FORECAST LENGTHcorresponde a la duración de la predicción. Puede decidir el número de unidades que desea pronosticar. En este ejemplo, utilizamos una longitud de previsión de 15, lo que significa que haremos una previsión de 15 unidades, es decir, 15 días.

  • IGNORE THE LASTopción con la que puede especificar qué valores -y puntos de datos correspondientes- ignorar cuando considere que determinados intervalos de tiempo no deben incluirse en el análisis de previsiones porque están asociados a datos que se consideran poco significativos a efectos de análisis. Por ejemplo, una empresa puede optar por ignorar las ventas del mes de agosto porque las considera poco representativas dados los numerosos días festivos en los que la empresa permaneció cerrada.

  • SEASONALITYLa estacionalidad es una opción de Power BI que se utiliza para determinar ciertas tendencias a lo largo de un periodo determinado. Detecta ciertas variaciones a lo largo del año. Es el periodo en el que un determinado patrón se repite varias veces dentro de la duración de la previsión. No puede ser superior al número de unidades del gráfico. Cuanto mayor sea el historial de datos en relación con el número de unidades a pronosticar, mayor será la capacidad de Power BI para realizar pronósticos más precisos.

  • CONFIDENCE INTERVALPor último, tenemos el intervalo de confianza. Se trata de un intervalo que representa la estimación de un parámetro. Aunque se expresa en forma de porcentaje (por ejemplo, 95%), no significa que exista una probabilidad del 95% de que el parámetro se encuentre dentro de los dos extremos del intervalo. Un intervalo de confianza del 95% significa que si se repitiera la predicción, en el 95% de los casos el intervalo contendría el valor verdadero. El intervalo de confianza se utiliza, en otras palabras, para determinar la fiabilidad del valor. Un intervalo de confianza pequeño aumenta la probabilidad de que el valor verdadero no se encuentre dentro de los extremos del intervalo porque la estimación se hace más precisa. A la inversa, aumentar el intervalo de confianza aumenta la probabilidad de encontrar el intervalo correcto para el valor verdadero, pero disminuye la precisión de la estimación.

En la imagen siguiente, puede ver un ejemplo de utilización del análisis de previsiones en Power BI aplicando determinados parámetros. La línea de puntos representa los valores Importe pronosticados mientras que la banda azul representa el margen de confianza establecido por el valor del rango porcentual elegido. 

Forecast Line Chart

La previsión en Power BI se basa en un algoritmo de previsión muy complejo llamado Suavizado Exponencial. Para ser precisos, existen dos modelos de Suavizado Exponencial: Datos Estacionales (ETS AAA), que tiene en cuenta las tendencias y la estacionalidad aditiva, y Datos No Estacionales (ETS AAN), un modelo más sencillo que solo considera las tendencias.

El modelo ETS AAA también se conoce como algoritmo Holt-Winters. Es el más complejo de los dos porque busca los parámetros óptimos para minimizar la desviación cuadrática media (MSE) en las previsiones del modelo de entrenamiento, teniendo en cuenta no sólo las previsiones «más cercanas» sino también las que tienen un horizonte temporal más largo, con el fin de reducir la varianza y preservar la tendencia. Esencialmente, el modelo aplica una media ponderada de las observaciones históricas, dando más peso a las observaciones recientes que a las más remotas.

En ambos casos, Power BI aplica automáticamente el mejor algoritmo en función de los datos disponibles.
Para reproducir el ejemplo, consulte el libro de trabajo de Power BI «PBI Forecast built-in and Script R.pbix» incluido en la carpeta «1_example» que ha descargado.

Ampliaciones suplementarias para el Forecast

Power BI ofrece la posibilidad de utilizar librerias y herramientas R y Python como extensiones adicionales a las herramientas existentes. Para ambos lenguajes de programación se dispone de visuales específicos que permiten la introducción directa de código para crear gráficos personalizados, que luego pueden incorporarse fácilmente a los cuadros de mando de Power BI.

R e Python Visuals

Al seleccionar el icono de uno de estos objetos visuales en el panel de visualización de Power BI, se genera un nuevo elemento en el espacio de trabajo y se abre el editor dedicado para introducir el código necesario para desarrollar el modelo de previsión. Para integrar los datos en su script R, basta con arrastrar y soltar los campos de interés en la sección «Valores» del panel de configuración de la visualización, siguiendo el mismo procedimiento que para cualquier otro elemento visual de Power BI. Es importante tener en cuenta que sólo los campos introducidos en esta área serán accesibles y utilizables en el script R.

N.B Ciertos prerrequisitos son necesarios para poder utilizar R y/o Python dentro de Power BI. Debe asegurarse de que ha instalado correctamente R y/o Python en su ordenador local, así como las bibliotecas y paquetes necesarios para el análisis. Además, deberá habilitar el scripting de R y/o Python en Power BI Desktop en Opciones de Archivo > Configuración > Opciones > Global seleccione Script R o Script Python dependiendo de lo que desee habilitar. Asegúrese de que la instalación local de R y/o Python se especifica en el directorio de inicio correcto. 

R Visuals Forecasting

En el ejemplo anterior, importamos las bibliotecas que contienen las funciones necesarias para aplicar un modelo de predicción basado en el algoritmo de Exponential Smoothing, el mismo que se utiliza en Power BI. Utilizando un conjunto de datos de muestra, dividimos la muestra para entrenar el conjunto de entrenamiento y el conjunto de prueba con la función «window». Es una buena práctica reservar alrededor del 70% para el conjunto de entrenamiento (train set), es decir, la parte de los datos que se utiliza para entrenar el modelo para que haga predicciones precisas. El 30% restante se utiliza para el conjunto de validación (conjunto de prueba), es decir, una porción separada de datos no utilizada en la fase de entrenamiento que se utiliza para evaluar el rendimiento final del modelo en términos de su capacidad de predicción sobre nuevos datos. Por este motivo, al primero le asignamos fechas comprendidas entre 1956 y 1996 (40 años), mientras que al segundo le asignamos fechas comprendidas entre 1997 y 2014 (17 años, aproximadamente el 30% del conjunto de datos disponible).

Después de dividir los conjuntos de entrenamiento y validación, es necesario especificar qué algoritmo utilizar (ETS significa ‘Exponential Smoothing’, línea 16) asignando con el parámetro ‘model’ el método utilizado por el marco: la primera letra especifica el ‘error type’, la segunda el ‘trend type’, y la última el ‘season type’. En nuestro caso, ‘AAA’ identifica un dato estacional de suavizado exponencial con error aditivo, tendencia aditiva y estacionalidad aditiva.

Los diferentes trazos de color alrededor de la línea de previsión producida por nuestro modelo en R muestran los dos intervalos de confianza establecidos por defecto por R si no se especifican valores diferentes: 80% (morado oscuro) y 95% (morado claro).

En este caso, no aplicamos ningún parámetro especial al modelo que hubiera producido un resultado más preciso. En general, los pasos de entrenamiento y validación del modelo sobre los datos del conjunto de prueba son iterativos, es decir, se repiten varias veces tratando de encontrar la mejor combinación de parámetros para obtener una predicción más realista.

De nuevo, por favor replica el ejemplo del libro de trabajo de Power BI “PBI Forecast built-in e Script R.pbix”. 

Comparación de las técnicas de análisis predictivo en Power BI

Supongamos en este punto que queremos comparar las previsiones producidas confiando en la opción incorporada en Power BI Desktop con modelos estadísticos cuyos parámetros pueden ser especificados por el usuario ejecutando scripts Python directamente en Power BI. Como ya se ha mencionado, la capacidad de ejecutar código Python o R es la base de las extensiones incorporadas para la previsión.
A continuación, se presentará una comparación cualitativa entre el valor actual ( Actual value), el valor pronosticado con la opción nativa e integradora (PBI Forecast) y los pronósticos calculados entrenando dos modelos basados en: SARIMA y Holt-Winters. El conjunto de datos del que partimos recopila transacciones de ventas día a día durante un lapso de tiempo de unos cuantos años a partir de 2017. Esta es la configuración del ejemplo:

Dataset:

  • Conversión de fechas en notación mm/dd/aaaa
  • Granularidad diaria, por lo que las ventas se agregan (suman) a nivel diario.
  • Training set, formado por los datos del periodo 01/01/2019 – 31/12/2019
  • Valores reales establecidos, consistentes en datos en el intervalo de tiempo 01/01/2020 – 31/03/2020
  • Visibilidad pública

Para poder reproducir el ejemplo, busque en la carpeta »2_esempio»:

  • El archivo pdf Istruzioni_e_Script_Python.pdf, contiene las instrucciones para crear el entorno virtual y la configuración en Power BI Desktop. También contiene el código básico para el ajuste de modelos que se pueden importar con la librería StatsModels de Sci-kit learn.

  • El dataset EXTRACT.csv, que contiene las ventas y el día en que se produjeron – se trata de una extracción del conjunto de datos Contoso distribuido gratuitamente por Microsoft.

  • El dataset Sum of Sales Amount by Date.csv, que contiene la proyección de ventas calculada con la funcionalidad de previsión incorporada en Power BI Desktop. Se utiliza para mostrar en el cuadro de mando una comparación entre las previsiones calculadas por los distintos modelos.

  • El workbook PowerBI Analisi_Predittive_a_Confronto.pbix, contiene el código de desarrollo del informe.

En Power BI, el script Python que manipula los datos lo hace apuntando a una estructura de datos de tabla de la librería Pandas, el DataFrame, que por defecto se referencia a través de la variable dataset. Esta información es muy importante tenerla en cuenta a la hora de escribir el código, ya que sólo estas estructuras de datos específicas pueden ser almacenadas y accedidas por el entorno ETL de Power Query. Para ello, optamos por ejecutar el script de Python como un paso en Power Query y, a continuación, acceder al DataFrame que contiene el resultado de la previsión.

La serie de ventas analizada muestra una tendencia débil y una tendencia estacional, que no están directamente influenciadas por el paso del tiempo. Por tanto, pensamos en utilizar los dos modelos probados (el proceso de estimación de los hiperparámetros queda fuera del alcance):

  • SARIMA (Seasonal AutoRegressive Integrated Moving Average) es la extensión del modelo ARIMA para series temporales con un componente estacional.
  • Holt-Winters o Nivelación exponencial (similar a lo que propone Power BI de forma nativa) con un modelo aditivo.

El informe consta de dos páginas:

  • “Actual + Forecasting” muestra 3 gráficos de líneas diferentes, que muestran la tendencia de las ventas en el histórico, después en el conjunto de entrenamiento (las series históricas con las que se ajustaron los modelos mediante código Python o a través de la función integrada de Power BI Desktop), seguidos de las previsiones calculadas.
  • “Forecasting” muestra la comparación en el mismo gráfico (activado por selección) de valores:
    • PBI Forecast, predicción con la opción integrada de Power BI Desktop
    • SARIMA, predicción con el modelo del mismo nombre
    • Holt-Winters, pronosticado con el modelo del mismo nombre
    • y comparado con el valor esperado, Valores reales


Teniendo en cuenta factores secundarios como el conocimiento de los modelos y las técnicas de estimación de valores no ideales de los hiperparámetros, el análisis predictivo realizado por Power BI Desktop es de buena calidad y ventajoso por su bajo coste operativo. Esto hace de Power BI una buena herramienta, a pesar de la limitación de no poder acceder directamente a los valores predichos y sus intervalos de confianza, que sólo están disponibles exportando los datos del objeto visual.

Conclusiones

En conclusión, el forcasting en Power BI permite obtener información predictiva a partir de un conjunto de datos históricos que ya se poseen. Existen varias herramientas que pueden realizar análisis de previsión, dependiendo de la distinta naturaleza orientada al usuario de la herramienta.

Descubre nuestras soluciones Power BI

A tu lado, desde la consultoría a la formación, pasando por las soluciones de visualización de datos.

Visualitics Team
Este artículo ha sido escrito y editado por uno de nuestros consultores.

Fuente: 

Compártelo ahora en tus redes sociales o por correo electrónico:

Suscríbete al boletín

Para estar informado sobre las novedades de Tableau y Alteryx, sobre nuestros productos y servicios y sobre los próximos eventos de Visualitics, suscríbete a nuestro boletín. ¡Puedes elegir el tipo de envío que prefieres y darte de baja en cualquier momento!
¿Qué novedades quieres recibir?
¿Qué empresa trata tus datos?

VISUALITICS PARTNERS, S.L. (en adelante, “VISUALITICS“)

¿Por qué tratamos los datos que te pedimos?

Únicamente tratamos tus datos para poder prestarte los servicios de VISUALITICS + info

¿Cuál es la legitimación para este tratamiento de tus datos?

Estos datos son necesarios para llevar a cabo la prestación de los servicios ofrecidos por VISUALITICS + info

¿Se van a hacer cesiones o transferencias con tus datos?

Si así lo consientes, tus datos podrán ser cedidos a terceras empresas. + info

¿Cuáles son mis derechos?

El interesado tiene derecho a ejercitar su derecho de:

– Acceso, rectificación, supresión, oposición, portabilidad de los Datos, limitación del tratamiento y a no ser objeto de decisiones automatizadas individualizadas + info

¿Tienes dudas?

Tanto si tienes alguna o sugerencia como si quieres darte de baja ponte en contacto con nosotros enviando un email a la siguiente dirección: info@visualitics.es