A tu propio ritmo

Explora nuestra extensa colección de cursos diseñados para ayudarte a dominar varios temas y habilidades. Ya seas un principiante o un aprendiz avanzado, aquí hay algo para todos.

Bootcamp

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Full-Stack Software Developer - 16w

Data Science and Machine Learning - 16 wks

Buscar en lecciones


IngresarEmpezar
← Regresar a lecciones

Weekly Coding Challenge

Todas las semanas escogemos un proyecto de la vida real para que construyas tu portafolio y te prepares para conseguir un trabajo. Todos nuestros proyectos están construidos con ChatGPT como co-pilot!

Únete al reto

Podcast: Code Sets You Free

Un podcast de cultura tecnológica donde aprenderás a luchar contra los enemigos que te bloquean en tu camino para convertirte en un profesional exitoso en tecnología.

Escuchar el podcast
Editar en Github

Series de Tiempo

Una serie temporal (time serie) es una secuencia de datos ordenados en el tiempo, donde cada punto de datos está asociado a un instante específico. En otras palabras, es una colección de observaciones que se registran en intervalos regulares o irregulares a lo largo del tiempo. Estas observaciones pueden ser recopiladas en horas, días, meses o incluso años, dependiendo del contexto y la naturaleza del fenómeno que se está analizando.

En una serie temporal, el tiempo es la variable independiente, y las observaciones registradas a lo largo del tiempo son las variables dependientes. El objetivo principal de analizar una serie temporal es comprender y modelar el patrón o la estructura subyacente en los datos a lo largo del tiempo, con el fin de hacer predicciones futuras o extraer información relevante.

Las series temporales se encuentran comúnmente en una amplia variedad de campos: economía, finanzas, meteorología, ciencia e ingeniería, entre otras. Algunos ejemplos de series temporales incluyen datos de ventas diarias, precios de acciones, temperaturas diarias, tasas de crecimiento de población, niveles de producción, etcétera.

temporal-serie-example

Al analizar una serie temporal, es importante tener en cuenta que los datos están correlacionados en el tiempo. Esto significa que las observaciones en un momento dado pueden depender de las observaciones pasadas y, en algunos casos, también pueden verse afectadas por las observaciones futuras. Este patrón de correlación en el tiempo es lo que hace que el análisis de series temporales sea único y requiera técnicas específicas para su modelado y predicción.

El análisis de series temporales puede involucrar diversas técnicas, como métodos de suavizado, descomposición, modelos autoregresivos, modelos de media móvil, entre otros. Además, el uso de herramientas de visualización, como gráficos de líneas o gráficos de autocorrelación, es común para comprender mejor los patrones y tendencias en los datos a lo largo del tiempo.

Análisis de una serie temporal

Cuando analizamos visualmente una serie temporal, hay varias cosas importantes que debemos buscar para comprender el comportamiento y los patrones de los datos a lo largo del tiempo. Estas son algunas de las principales cosas que se deben observar:

  • Tendencia: Identificar si existe una tendencia general en la serie temporal, es decir, si los datos tienden a aumentar o disminuir a lo largo del tiempo. Una tendencia puede ser lineal (crecimiento o decrecimiento constante) o no lineal (crecimiento o decrecimiento acelerado o desacelerado).
  • Estacionalidad: Observar si hay patrones estacionales o cíclicos en los datos, es decir, si hay comportamientos que se repiten en intervalos regulares, como diariamente, mensualmente o estacionalmente. Por ejemplo, puede haber un aumento en las ventas de juguetes durante las vacaciones de Navidad cada año.
  • Variabilidad: Verificar si la variabilidad de los datos cambia con el tiempo. Pueden haber períodos de alta variabilidad seguidos de períodos de baja variabilidad. La variabilidad puede indicar momentos de inestabilidad o cambios en el comportamiento del fenómeno estudiado.
  • Puntos atípicos (Outliers): Identificar si hay valores extremos o inusuales que difieran significativamente del patrón general de la serie. Los puntos atípicos pueden afectar la interpretación y los análisis posteriores.
  • Autocorrelación: Comprobar si existe una correlación entre las observaciones pasadas y las actuales. La autocorrelación puede indicar dependencias en el tiempo y es fundamental para el modelado de series temporales.
  • Puntos de inflexión: Buscar cambios bruscos o puntos de inflexión en la serie, donde la tendencia o el comportamiento del fenómeno cambian significativamente.

La visualización de una serie temporal puede realizarse mediante gráficos de líneas, gráficos de dispersión, histogramas, gráficos de autocorrelación y otras técnicas de visualización. Al identificar estas características en la serie temporal, podemos obtener información valiosa sobre el comportamiento y las relaciones temporales de los datos, lo que nos permitirá tomar decisiones informadas y realizar análisis más profundos o modelos predictivos.

Predicción de una serie temporal

Para predecir series temporales (time series forecasting), existen varios tipos de modelos que se pueden utilizar. Algunos de los modelos más comunes son:

  • Modelo ARIMA (AutoRegressive Integrated Moving Average): ARIMA es un modelo de pronóstico para series temporales que combina información de valores pasados, diferenciación y errores de predicción para hacer proyecciones sobre valores futuros. ARIMA es versátil y puede adaptarse a diferentes patrones en las series temporales, como tendencias y estacionalidad. Cuando aplicamos ARIMA a una serie temporal, primero podemos diferenciar la serie si es necesario para hacerla estacionaria. Luego, ajustamos el modelo ARIMA a los datos y utilizamos sus componentes AR, I y MA para hacer pronósticos futuros.
  • Modelo de Suavizado Exponencial (Exponential Smoothing): Este modelo es muy simple y eficiente. Se basa en la idea de asignar diferentes pesos a las observaciones pasadas, dándoles más importancia cuanto más recientes son. Es útil para series temporales con tendencias o patrones de crecimiento/declive gradual.
  • Redes Neuronales Recurrentes (RNN, Recursive Neural Networks) y Long Short-Term Memory (LSTM): Estos modelos son técnicas de aprendizaje profundo (deep learning) que pueden manejar secuencias de datos, como las series temporales. Las RNN y LSTM son especialmente adecuadas para patrones de comportamiento complejos y relaciones a largo plazo en los datos. Son modelos poderosos y versátiles, pero también pueden ser más complicados de entrenar y ajustar.

Estos tres modelos son ampliamente utilizados en el pronóstico de series temporales debido a su capacidad para abordar diferentes tipos de comportamiento temporal. Cada uno tiene sus ventajas y limitaciones, y la elección del modelo dependerá del tipo de datos y del patrón temporal que se quiera modelar. Es importante considerar la naturaleza de los datos y realizar una evaluación cuidadosa del rendimiento del modelo para tomar la decisión más adecuada.