Lección 8 del curso SQL Nivel Avanzado.
En la lección anterior vimos cómo usar SQL para crear un set de datos para una tarea de clasificación en el Machine Learning.
En esta lección veremos, a través de un ejemplo práctico, cómo usar SQL para preparar un set de datos para realizar pronósticos sobre Series de Tiempo.
El pronóstico sobre Series de Tiempo consiste en tomar el registro histórico de la serie e intentar predecir sus valores a futuro. Y como estamos intentando predecir cantidades numéricas continuas hablamos también de una tarea de regresión.
Comencemos viendo cómo usar SQL para dar una primera exploración a esta base de datos y para realizar un escalamiento de la Serie de Tiempo:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
En este caso se trata de una serie de tiempo muy simple que contiene únicamente 16 registros. Pero a pesar de lo simple resulta muy útil para poder entender el procesamiento que convencionalmente podremos realizar con SQL.
Al igual que en la lección anterior, en este caso también hemos realizado el escalamiento de las observaciones de la serie. Para ello creamos una “Common Table Expression” para calcular y almacenar los valores mínimos y máximos. Y por último, hicimos uso de estos mínimos y máximos para escalar la Serie de Tiempo en el rango de -1 a 1.
Así que en este punto la Serie de Tiempo ya está lista para crear el set de datos. Veamos cómo hacerlo:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
En este caso hemos hecho uso de las funciones de ventana (vistas en el curso SQL Nivel Intermedio) para generar el set de datos con las características deseadas.
Así, al usar la función LAG en estas funciones de ventana hemos tomado, por cada registro “actual” un total de 3 registros anteriores. Estos registros serían las entradas al modelo predictivo, mientras que el registro “actual” corresponde al dato que debe aprender a predecir el modelo.
Y con esto ya hemos visto un ejemplo práctico de creación de un set de datos con SQL para realizar una tarea de regresión, en particular para alimentar un modelo que prediga el comportamiento a futuro de una serie de tiempo.
A pesar de lo anterior, el método que acabamos de ver tiene varias limitaciones que son propias del lenguaje de programación SQL. Por ejemplo, si quisiéramos incrementar la ventana de tiempo correspondiente al registro histórico, sería necesario manualmente codificar una a una las funciones de ventana para lograr este objetivo. Esto no resulta práctico y dificulta la creación de sets de datos con diferentes características usando simplemente SQL.
Así que en el próximo módulo del curso veremos cómo sortear estos inconvenientes propios de SQL y a la vez cómo ampliar las posibilidades que tenemos para analizar, procesar y visualizar datos combinando las fortalezas de SQL con las del lenguaje de programación Python.
Y específicamente en la próxima lección llevaremos a cabo el primer paso para lograr esta interacción. Veremos cómo conectarse a una base de datos de SQL desde Python.
Todas las lecciones del curso SQL Nivel Avanzado
