Prefacio

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

El tiempo, las bolsas y los latidos del corazón. Todos ellos forman series temporales. Si te interesan los datos diversos y la previsión del futuro, te interesa el análisis de series temporales.

¡Bienvenido a Análisis Práctico de Series Temporales! Si has cogido este libro, probablemente ya te habrás dado cuenta de que los datos de series temporales están por todas partes. Los datos de series temporales son cada vez más ubicuos e importantes a medida que se expande el ecosistema de los grandes datos. Para bien o para mal, los sensores y mecanismos de seguimiento están por todas partes, y como resultado se dispone de cantidades sin precedentes de datos de series temporales de alta calidad. Las series temporales son especialmente interesantes porque pueden abordar cuestiones de causalidad, tendencias y probabilidad de resultados futuros. Este libro te llevará a través de las principales técnicas que suelen aplicarse a las series temporales para abordar tales cuestiones.

Los datos de series temporales abarcan una amplia gama de disciplinas y casos de uso. Pueden ser cualquier cosa, desde historiales de compra de clientes hasta mediciones de conductancia de un sistema nanoelectrónico o grabaciones digitales del lenguaje humano. Un punto que tratamos a lo largo del libro es que el análisis de series temporales se aplica a un conjunto de datos sorprendentemente diverso. Cualquier dato que tenga un eje ordenado puede analizarse con métodos de series temporales, aunque ese eje ordenado no sea el tiempo per se. Los datos de series temporales tradicionales, como los datos bursátiles y los patrones meteorológicos, pueden analizarse con métodos de series temporales, pero también pueden hacerlo conjuntos de datos extravagantes, como los espectrógrafos del vino, en los que el eje "tiempo" es en realidad un eje de frecuencia. Las series temporales están por todas partes.

Quién debería leer este libro

Hay dos tipos de lectores a los que va dirigido este libro. La primera y más amplia categoría de lector es la de un científico de datos que rara vez ha trabajado con datos de series temporales. Esta persona puede ser un veterano del sector o un analista junior. El analista de datos con más experiencia puede hojear las áreas conceptuales introductorias de cada capítulo, pero aún así se beneficiará de las discusiones de este libro sobre las buenas prácticas, así como los escollos de trabajar con datos de series temporales. Un analista de datos más novel podría considerar la posibilidad de leer el libro en su totalidad, aunque he intentado mantener cada tema lo más autocontenido posible.

La segunda categoría de lector es alguien que supervisa la analítica en una organización con una amplia recopilación de datos interna. Si perteneces a este grupo, seguirás necesitando cierta formación técnica, pero no es necesario que codifiques actualmente en tu vida profesional. Para ese tipo de lector, este libro es útil para señalar las oportunidades que tiene tu organización de utilizar el análisis de series temporales, aunque actualmente no se practique internamente. Este libro te indicará nuevos tipos de preguntas y análisis que tu organización puede abordar con sus recursos de datos existentes.

Antecedentes previstos

Con respecto a la codificación, deberías tener cierta familiaridad con R y Python, especialmente con ciertos paquetes fundamentales (en Python: NumPy, Pandas y scikit-learn; y en R: data.table). Los ejemplos de código deberían ser legibles incluso sin todos los antecedentes, pero en ese caso puede que necesites dar un pequeño rodeo para familiarizarte con estos paquetes. Éste es el caso más probable con respecto a data.table de R, un paquete de marcos de datos infrautilizado pero de gran rendimiento que tiene una fantástica funcionalidad temporal.

En todos los casos, he proporcionado breves descripciones generales de los paquetes relacionados, algún código de ejemplo y descripciones de lo que hace el código. También remito al lector a descripciones más completas de los paquetes más utilizados.

Con respecto a la estadística y el aprendizaje automático, deberías tener cierta familiaridad con:

Estadística introductoria

Ideas como varianza, correlación y distribuciones de probabilidad

Aprendizaje automático

Agrupación y árboles de decisión

Redes neuronales

Qué son y cómo se forman

Para estos casos, proporciono una breve visión general de dichos conceptos dentro del texto, pero los no iniciados deben leer más a fondo sobre ellos antes de continuar con algunos capítulos. Para la mayoría de los temas, proporciono enlaces a recursos gratuitos en línea recomendados para obtener breves tutoriales sobre los fundamentos de un tema o técnica determinados.

Por qué escribí este libro

Escribí este libro por tres razones.

En primer lugar, las series temporales son un aspecto importante del análisis de datos, pero no se encuentran en el conjunto de herramientas estándar de la ciencia de datos. Esto es desafortunado, tanto porque los datos de series temporales están cada vez más disponibles, como porque responden a preguntas que los datos transversales no pueden responder. Un analista que no conozca el análisis fundamental de series temporales no está sacando el máximo partido a sus datos. Esperaba que este libro pudiera llenar un vacío existente e importante.

En segundo lugar, cuando empecé a escribir este libro, no conocía ninguna visión general centralizada de los aspectos más importantes del análisis de series temporales desde una perspectiva moderna de la ciencia de datos. Hay muchos recursos excelentes disponibles para el análisis tradicional de series temporales, sobre todo en forma de libros de texto clásicos sobre análisis estadístico de series temporales. También hay muchas entradas de blog individuales excelentes tanto sobre métodos estadísticos tradicionales como sobre enfoques de aprendizaje automático o redes neuronales para las series temporales. Sin embargo, no he podido identificar un único recurso centralizado que resuma todos estos temas y los relacione entre sí. El objetivo de este libro es proporcionar ese recurso: una visión general amplia, moderna y práctica del análisis de series temporales que abarque todo el proceso de modelización y datos de series temporales. De nuevo, esperaba que este libro pudiera llenar un vacío existente e importante.

En tercer lugar, las series temporales son un tema interesante con problemas de datos extravagantes. Los problemas relacionados con la fuga de datos, la anticipación y la causalidad son especialmente divertidos desde la perspectiva de las series temporales, al igual que muchas técnicas que se aplican exclusivamente a los datos ordenados según algún tipo de eje temporal. Estudiar estos temas ampliamente y encontrar una forma de catalogarlos fue otra de las motivaciones para escribir este libro.

Navegar por este libro

Este libro está organizado aproximadamente como sigue:

Historia

El Capítulo 1 presenta una historia de la previsión de series temporales, desde los antiguos griegos hasta los tiempos modernos. Esto pone nuestro aprendizaje en contexto para que podamos comprender qué disciplina tan tradicional y con tanta historia estudiamos en este libro.

Todo sobre los datos

Los capítulos 2, 3, 4 y 5 abordan problemas relacionados con la obtención, limpieza, simulación y almacenamiento de datos de series temporales. Estos capítulos están unidos por su preocupación por todo lo que viene antes de que puedas realizar realmente el análisis de series temporales. Estos temas rara vez se tratan en los recursos existentes, pero son importantes en la mayoría de los conductos de datos. La identificación y limpieza de datos representan una gran parte del trabajo realizado por la mayoría de los analistas de series temporales.

Modelos, modelos, modelos

Los capítulos 6, 7, 8, 9 y 10 abarcan diversas técnicas de modelización que pueden utilizarse para el análisis de series temporales. Comenzamos con dos capítulos sobre métodos estadísticos, que abarcan los modelos estadísticos estándar, como los modelos ARIMA y Bayesianos de espacio de estados. A continuación, aplicamos métodos desarrollados más recientemente, como el aprendizaje automático y las redes neuronales, a los datos de series temporales, destacando los retos del procesamiento y la disposición de los datos cuando los datos de series temporales se utilizan para ajustar modelos que no son inherentemente conscientes del tiempo, como los árboles de decisión.

Consideraciones posteriores a la modelización

Los capítulos 11 y 12 tratan sobre las métricas de precisión y las consideraciones de rendimiento, respectivamente, para orientarte sobre lo que debes tener en cuenta después de haber realizado tus primeras iteraciones de modelado de series temporales.

Casos prácticos reales

Los capítulos 13, 14 y 15 ofrecen estudios de casos de datos sanitarios, financieros y gubernamentales, respectivamente.

Comentarios sobre los últimos acontecimientos

Los capítulos 16 y 17 tratan brevemente los desarrollos recientes de las series temporales y las predicciones para el futuro. El Capítulo 16 es una visión general de diversos paquetes automatizados de series temporales, algunos de código abierto y desarrollados como un esfuerzo académico, y otros procedentes de grandes empresas tecnológicas. Estas herramientas se están desarrollando activamente a medida que se intensifican los esfuerzos para mejorar la previsión de series temporales a escala mediante procesos automatizados. El Capítulo 17 analiza algunas predicciones para el futuro del análisis de series temporales a medida que crece el ecosistema de los grandes datos y aprendemos más sobre cómo los grandes datos pueden ayudar al análisis de series temporales.

En general, recomiendo leer un capítulo antes de intentar trabajar con el código. Suele haber algunos conceptos nuevos introducidos en cada capítulo, y puede ser útil prestarles algo de atención antes de volver al teclado. Además, en la mayoría de los casos el código para ejecutar determinados modelos es relativamente sencillo, de modo que la comprensión conceptual será tu principal habilidad adquirida, siendo el conocimiento de las API de paquetes importantes un beneficio secundario que te resultará mucho más fácil si prestas atención a los conceptos.

Además, el libro está escrito de forma que resulte más sensato leerlo de principio a fin (con capítulos posteriores que hacen referencia a conceptos tratados anteriormente en el libro), pero, de nuevo, he mantenido los capítulos tan autocontenidos como me ha sido posible para que los lectores más experimentados puedan saltar de un lado a otro según les convenga.

Recursos en línea

El repositorio de GitHub de este libro incluye gran parte del código tratado en este libro de forma que puedas ejecutarlo en conjuntos de datos, que también se proporcionan en el repositorio. En algunos casos, los nombres de las variables, el formato y demás no serán idénticos a los producidos en el libro, pero deberían poder vincularse fácilmente (por ejemplo, en algunos casos los nombres de las variables se acortaron en el libro debido a restricciones de formato).

Además, si te gustan las presentaciones en vídeo, tengo dos tutoriales en línea que cubren parte del contenido de este libro centrándose en Python. Si quieres complementar este libro con una presentación en vídeo, considera los siguientes recursos:

Convenciones utilizadas en este libro

En este libro se utilizan las siguientes convenciones tipográficas:

Cursiva

Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.

Constant width

Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.

Constant width bold

Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.

Constant width italic

Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.

Consejo

Este elemento significa un consejo o sugerencia.

Nota

Este elemento significa una nota general.

Advertencia

Este elemento indica una advertencia o precaución.

Utilizar ejemplos de código

El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en https://github.com/PracticalTimeSeriesAnalysis/BookRepo.

Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir un CD-ROM de ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.

Agradecemos, pero no exigimos, la atribución. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Análisis Práctico de Series Temporales por Aileen Nielsen (O'Reilly). Copyright 2020 Aileen Nielsen, 978-1-492-04165-8".

Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en

Aprendizaje en línea O'Reilly

Nota

Durante casi 40 años, O'Reilly Media ha proporcionado formación, conocimientos y perspectivas sobre tecnología y negocios para ayudar a las empresas a alcanzar el éxito.

Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos, conferencias y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita http://oreilly.com.

Cómo contactar con nosotros

Dirige tus comentarios y preguntas sobre este libro a la editorial:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Norte
  • Sebastopol, CA 95472
  • 800-998-9938 (en Estados Unidos o Canadá)
  • 707-829-0515 (internacional o local)
  • 707-829-0104 (fax)

Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/practical-time-series-analysis.

Envía un correo electrónico para comentar o hacer preguntas técnicas sobre este libro.

Para más información sobre nuestros libros, cursos, conferencias y noticias, consulta nuestro sitio web en http://www.oreilly.com.

Encuéntranos en Facebook: http://facebook.com/oreilly

Síguenos en Twitter: http://twitter.com/oreillymedia

Míranos en YouTube: http://www.youtube.com/oreillymedia

Agradecimientos

Gracias a los dos revisores técnicos de este libro, los profesores Rob Hyndman y David Stoffer. Ambos han sido excepcionalmente amables al dedicar tiempo a revisar este libro y aportar comentarios copiosos y útiles, así como nuevas ideas sobre lo que debía tratarse. El libro es sustancialmente mejor de lo que habría sido sin sus aportaciones. Agradezco especialmente a Rob que señalara las oportunidades perdidas en el borrador original para destacar metodologías alternativas y muchas fuentes interesantes de datos de series temporales. Doy las gracias especialmente a David por ofrecer escepticismo respecto a los enfoques excesivamente automatizados del análisis y por señalarme cuándo fui excesivamente optimista respecto a ciertas herramientas. Gracias por toda tu ayuda, conocimientos y perspectiva profundamente experimentada sobre el análisis de series temporales.

Estoy muy agradecida a mi editor en O'Reilly, Jeff Bleiel, que me ha animado, apoyado y ayudado mucho en la revisión de estas muchas páginas durante el último año. También debo muchas gracias a mi editora de producción, Katie Tozer, que ha sido tan paciente con el proceso de limpieza de este libro y me ha guiado a través de los fallos técnicos de producción. Gracias a Rachel Monaghan por su cuidadosa y excelente corrección. Gracias a Rebecca Demarest, que creó muchas de las ilustraciones de este libro y me ayudó a limpiar muchos gráficos desordenados. Gracias también a Jonathan Hassell, que se hizo cargo de este proyecto y de alguna manera convenció a O'Reilly para que lo publicara. Por último, gracias a Nicole Tache, que se puso en contacto conmigo por primera vez hace unos años para trabajar con O'Reilly. A todos en O'Reilly, gracias por dejarme emprender este proyecto y por todo vuestro apoyo a lo largo del proceso.

Doy las gracias a muchos lectores que me han dado su opinión o me han ayudado a corregir el texto, como Wenfei Tong, Richard Krajunus, Zach Bogart, Gabe Fernando, Laura Kennedy, Steven Finkelstein, Liana Hitts y Jason Greenberg. Sus aportaciones han sido excepcionalmente útiles. Gracias por leer y por ofrecernos tu opinión.

Doy las gracias a mi madre (y modelo de conducta), Elizabeth, por el amor, el apoyo y la disciplina de toda la vida. Doy las gracias a mi padre, John, y a mi tía Claire por todo su amor y apoyo a mi educación durante muchos años. Y lo que es más importante, doy las gracias a mi marido, Ivan, y a mi hijo, Edmund Hillary, por su paciencia y entusiasmo al apoyar el libro y excusar el tiempo que pasé alejada de la familia mientras escribía.

Cualquier error o fallo que encuentres en este libro es mío y sólo mío. Agradezco cualquier comentario en aileen.a.nielsen@gmail.com.

Get Análisis Práctico de Series Temporales now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.