Cómo utilizar un filtro de paso bajo en Google BigQuery |  de Benjamin Thürer |  enero de 2024

Cuando se trabaja con datos de series temporales, puede ser importante aplicar filtros para eliminar el ruido. Esta historia muestra cómo implementar un filtro de paso bajo en SQL/BigQuery que puede resultar útil a la hora de mejorar las funciones de aprendizaje automático.

El filtrado de datos de series temporales es una de las herramientas de preprocesamiento más útiles en ciencia de datos. En realidad, los datos son casi siempre una combinación de señal y ruido donde el ruido no solo se define por la falta de periodicidad sino también por no representar la información de interés. Por ejemplo, imagine las visitas diarias a una tienda minorista. Si está interesado en cómo los cambios estacionales afectan las visitas, es posible que no le interesen los patrones a corto plazo debido a los cambios en los días de la semana (puede haber una mayor cantidad de visitas en general los sábados en comparación con los lunes, pero eso no es lo que le interesa).

El filtrado de series de tiempo es una herramienta de limpieza para sus datos.

Aunque esto pueda parecer un pequeño problema en los datos, el ruido o la información irrelevante (como el patrón de visitas a corto plazo) ciertamente aumenta la complejidad de sus funciones y, por lo tanto, afecta su modelo. Si no se elimina ese ruido, la complejidad del modelo y el volumen de datos de entrenamiento deben ajustarse en consecuencia para evitar el sobreajuste.

Figura 1: Datos sintéticos que representan una combinación de una señal oscilante rápida y lenta. La señal azul representa una característica de serie temporal potencialmente ruidosa, mientras que la señal roja representa la versión filtrada que representa la información estacional de interés.

Aquí es donde filtración viene al rescate. De manera similar a cómo se filtrarían los valores atípicos de un conjunto de entrenamiento o métricas menos importantes de un conjunto de características, el filtrado de series de tiempo elimina el ruido de una característica de series de tiempo. En pocas palabras: el filtrado de series temporales es una herramienta de limpieza para sus datos. La aplicación de filtrado de series de tiempo restringirá sus datos para que reflejen solo las frecuencias (o patrones temporales) que le interesan y, por lo tanto, dará como resultado una señal más limpia que mejorará su modelo estadístico o de aprendizaje automático posterior (consulte la Figura 1 para ver un resumen sintético). ejemplo).

Un recorrido detallado sobre qué es un filtro y cómo funciona está más allá del alcance de esta historia (y es un tema muy complejo en general). Sin embargo, en un nivel alto, el filtrado puede verse como una modificación de una señal de entrada mediante la aplicación de otra señal (también llamada núcleo o filtrar…