Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Wetter, Aktienmärkte und Herzschlag. Sie alle bilden Zeitreihen. Wenn du dich für verschiedene Daten und Zukunftsprognosen interessierst, bist du an der Zeitreihenanalyse interessiert.
Willkommen bei der praktischen Zeitreihenanalyse! Wenn du dieses Buch in die Hand genommen hast, ist dir wahrscheinlich schon aufgefallen, dass Zeitreihendaten überall sind. Zeitreihendaten werden immer allgegenwärtiger und wichtiger, da sich das Big-Data-Ökosystem ausweitet. Wie auch immer, Sensoren und Tracking-Mechanismen sind überall zu finden, so dass eine noch nie dagewesene Menge an hochwertigen Zeitreihendaten zur Verfügung steht. Zeitreihen sind besonders interessant, weil sie Fragen nach Kausalität, Trends und der Wahrscheinlichkeit zukünftiger Ergebnisse beantworten können. Dieses Buch führt dich durch die wichtigsten Techniken, die am häufigsten auf Zeitreihen angewendet werden, um solche Fragen zu beantworten.
Zeitreihendaten umfassen ein breites Spektrum an Disziplinen und Anwendungsfällen. Sie reichen von der Kaufhistorie eines Kunden über Leitwertmessungen eines nanoelektronischen Systems bis hin zu digitalen Aufzeichnungen der menschlichen Sprache. Ein Punkt, der in diesem Buch immer wieder angesprochen wird, ist die Tatsache, dass die Zeitreihenanalyse für eine überraschend große Bandbreite an Daten geeignet ist. Alle Daten, die eine geordnete Achse haben, können mit Zeitreihenmethoden analysiert werden, auch wenn diese geordnete Achse nicht die Zeit an sich ist. Traditionelle Zeitreihendaten wie Börsendaten und Wettermuster können mit Zeitreihenmethoden analysiert werden, aber auch skurrile Datensätze wie Spektrographen von Wein, bei denen die "Zeit"-Achse eigentlich eine Frequenzachse ist. Zeitreihen gibt es überall.
Wer sollte dieses Buch lesen?
Dieses Buch richtet sich an zwei Arten von Lesern. Die erste und größere Kategorie von Lesern ist die eines Datenwissenschaftlers, der selten mit Zeitreihendaten gearbeitet hat. Dabei kann es sich um einen Branchenveteranen oder einen Junior-Analysten handeln. Der erfahrene Datenanalyst kann die einführenden konzeptionellen Bereiche der einzelnen Kapitel überfliegen, wird aber dennoch von den Diskussionen über bewährte Methoden und Fallstricke bei der Arbeit mit Zeitreihendaten profitieren. Neuere Datenanalysten sollten das Buch in seiner Gesamtheit durcharbeiten, obwohl ich versucht habe, jedes Thema so in sich abgeschlossen wie möglich zu halten.
Die zweite Kategorie von Lesern ist jemand, der in einem Unternehmen mit umfangreicher interner Datenerfassung für die Analytik zuständig ist. Wenn du zu dieser Gruppe gehörst, brauchst du immer noch ein gewisses technisches Hintergrundwissen, aber es ist nicht notwendig, dass du in deinem Berufsleben kodierst. Für diese Leser/innen ist dieses Buch nützlich, weil es ihnen Möglichkeiten aufzeigt, wie sie die Zeitreihenanalyse in ihrem Unternehmen einsetzen können, auch wenn sie derzeit nicht intern praktiziert wird. Dieses Buch zeigt dir neue Arten von Fragen und Analysen auf, die dein Unternehmen mit seinen vorhandenen Datenressourcen angehen kann.
Erwarteter Hintergrund
Was die Codierung angeht, solltest du mit R und Python vertraut sein, insbesondere mit bestimmten grundlegenden Paketen (in Python: NumPy, Pandas und scikit-learn
; und in R: data.table
). Die Codebeispiele sollten auch ohne den ganzen Hintergrund lesbar sein, aber in diesem Fall musst du vielleicht einen kleinen Umweg machen, um dich mit diesen Paketen vertraut zu machen. Das gilt vor allem für R's data.table, ein wenig genutztes, aber sehr leistungsfähiges Datenrahmen-Paket mit fantastischen Zeitfunktionen.
In allen Fällen habe ich kurze Übersichten über die entsprechenden Pakete, einige Beispielcodes und Beschreibungen der Funktionen des Codes bereitgestellt. Außerdem verweise ich den Leser auf umfassendere Übersichten zu den am häufigsten verwendeten Paketen.
In Bezug auf Statistik und maschinelles Lernen solltest du dich auskennen:
- Einführende Statistik
Begriffe wie Varianz, Korrelation und Wahrscheinlichkeitsverteilungen
- Maschinelles Lernen
Clustering und Entscheidungsbäume
- Neuronale Netze
Was sie sind und wie sie ausgebildet werden
In diesen Fällen gebe ich im Text einen kurzen Überblick über diese Konzepte, aber Uneingeweihte sollten sich eingehender mit ihnen befassen, bevor sie mit einigen Kapiteln fortfahren. Zu den meisten Themen biete ich Links zu empfohlenen kostenlosen Online-Ressourcen für kurze Tutorials zu den Grundlagen eines bestimmten Themas oder einer Technik.
Warum ich dieses Buch geschrieben habe
Ich habe dieses Buch aus drei Gründen geschrieben.
Erstens sind Zeitreihen ein wichtiger Aspekt der Datenanalyse, der jedoch nicht in den Standardwerkzeugen der Datenwissenschaft enthalten ist. Das ist bedauerlich, weil Zeitreihendaten in zunehmendem Maße verfügbar sind und weil sie Fragen beantworten, die Querschnittsdaten nicht beantworten können. Ein Analyst, der die Grundlagen der Zeitreihenanalyse nicht kennt, macht nicht das Beste aus seinen Daten. Ich habe gehofft, dass dieses Buch eine bestehende und wichtige Lücke füllen kann.
Zweitens kannte ich, als ich mit dem Schreiben dieses Buches begann, keinen zentralen Überblick über die wichtigsten Aspekte der Zeitreihenanalyse aus einer modernen datenwissenschaftlichen Perspektive. Für die traditionelle Zeitreihenanalyse gibt es viele hervorragende Ressourcen, vor allem in Form von klassischen Lehrbüchern zur statistischen Zeitreihenanalyse. Außerdem gibt es viele ausgezeichnete Blogbeiträge sowohl zu traditionellen statistischen Methoden als auch zu Ansätzen des maschinellen Lernens oder neuronaler Netze für Zeitreihen. Ich konnte jedoch keine einzige zentrale Quelle finden, die all diese Themen zusammenfasst und miteinander in Beziehung setzt. Das Ziel dieses Buches ist es, eine solche Ressource zu bieten: einen umfassenden, modernen und praktischen Überblick über die Zeitreihenanalyse, der die gesamte Pipeline für Zeitreihendaten und -modellierung abdeckt. Auch hier habe ich gehofft, dass dieses Buch eine bestehende und wichtige Lücke füllen kann.
Drittens sind Zeitreihen ein interessantes Thema mit eigenwilligen Datenproblemen. Probleme im Zusammenhang mit Datenlecks, Vorausschau und Kausalität sind aus der Perspektive von Zeitreihen besonders interessant, ebenso wie viele Techniken, die nur für Daten gelten, die entlang einer Zeitachse angeordnet sind. Ein weiterer Grund, dieses Buch zu schreiben, war es, diese Themen umfassend zu untersuchen und einen Weg zu finden, sie zu katalogisieren.
Navigieren in diesem Buch
Dieses Buch ist grob wie folgt aufgebaut:
- Geschichte
Kapitel 1 gibt einen Überblick über die Geschichte der Zeitreihenprognose, von den alten Griechen bis in die Neuzeit. Dadurch wird das Gelernte in einen Kontext gestellt, damit wir verstehen, was für eine traditionelle und geschichtsträchtige Disziplin wir in diesem Buch untersuchen.
- Alles über die Daten
In den Kapiteln 2, 3, 4 und 5 geht es um Probleme bei der Gewinnung, Reinigung, Simulation und Speicherung von Zeitreihendaten. Diese Kapitel sind dadurch miteinander verbunden, dass sie sich mit allem befassen, was vor der eigentlichen Zeitreihenanalyse kommt. Diese Themen werden in bestehenden Quellen nur selten behandelt, sind aber für die meisten Datenpipelines wichtig. Datenidentifizierung und -bereinigung machen einen großen Teil der Arbeit der meisten Zeitreihenanalysten aus.
- Modelle, Modelle, Modelle
Die Kapitel 6, 7, 8, 9 und 10 behandeln eine Vielzahl von Modellierungstechniken, die für die Zeitreihenanalyse verwendet werden können. Wir beginnen mit zwei Kapiteln über statistische Methoden und behandeln statistische Standardmodelle wie ARIMA und Bayes'sche Zustandsraummodelle. Anschließend wenden wir neuere Methoden wie maschinelles Lernen und neuronale Netze auf Zeitreihendaten an und zeigen die Herausforderungen der Datenverarbeitung und des Datenlayouts auf, wenn Zeitreihendaten zur Anpassung von Modellen verwendet werden, die nicht von Natur aus zeitabhängig sind, wie z. B. Entscheidungsbäume.
- Überlegungen nach der Modellierung
Die Kapitel 11 und 12 befassen sich mit Genauigkeitsmetriken bzw. Leistungsüberlegungen, um dir einen Leitfaden an die Hand zu geben, was du beachten solltest, nachdem du deine ersten Iterationen der Zeitreihenmodellierung durchgeführt hast.
- Anwendungsfälle aus der realen Welt
Die Kapitel 13, 14 und 15 enthalten Fallstudien aus den Bereichen Gesundheitswesen, Finanzen und Verwaltung.
- Kommentare zu aktuellen Ereignissen
Die Kapitel 16 und 17 befassen sich kurz mit den jüngsten Entwicklungen im Bereich Zeitreihen und mit Prognosen für die Zukunft. Kapitel 16 gibt einen Überblick über eine Vielzahl von automatisierten Zeitreihenpaketen, von denen einige Open Source sind und im Rahmen akademischer Bemühungen entwickelt wurden, während andere von großen Technologieunternehmen stammen. Diese Tools werden derzeit aktiv weiterentwickelt, um die Zeitreihenprognose in großem Maßstab durch automatisierte Prozesse zu verbessern. In Kapitel 17 werden einige Prognosen für die Zukunft der Zeitreihenanalyse diskutiert, da das Big-Data-Ökosystem wächst und wir mehr darüber erfahren, wie Big Data die Zeitreihenanalyse unterstützen kann.
Im Allgemeinen empfehle ich, ein Kapitel durchzulesen, bevor du versuchst, mit dem Code zu arbeiten. In der Regel werden in jedem Kapitel ein paar neue Konzepte eingeführt, und es kann hilfreich sein, sich mit diesen zu beschäftigen, bevor du dich der Tastatur zuwendest. Außerdem ist der Code zum Ausführen bestimmter Modelle in den meisten Fällen relativ einfach, so dass das konzeptionelle Verständnis die wichtigste Fähigkeit ist, die du erwirbst, während die Kenntnis der APIs wichtiger Pakete ein sekundärer Vorteil ist, der sich viel leichter einstellt, wenn du dich mit den Konzepten beschäftigst.
Außerdem ist das Buch so geschrieben, dass es am sinnvollsten von Anfang bis Ende gelesen wird (wobei sich spätere Kapitel auf Konzepte beziehen, die früher im Buch behandelt wurden), aber auch hier habe ich die Kapitel absichtlich so in sich geschlossen wie möglich gehalten, damit erfahrenere Leserinnen und Leser nach Belieben herumspringen können.
Online-Ressourcen
Das GitHub-Repository für dieses Buch enthält einen Großteil des Codes, der in diesem Buch besprochen wird, in einer Form, in der du ihn auf Datensätzen ausführen kannst, die ebenfalls im Repository bereitgestellt werden. In einigen Fällen sind die Variablennamen, Formatierungen usw. nicht identisch mit denen im Buch, aber sie sollten leicht miteinander verknüpft werden können (zum Beispiel wurden in einigen Fällen die Variablennamen im Buch aus Formatierungsgründen gekürzt).
Wenn du Videopräsentationen magst, habe ich außerdem zwei Online-Tutorials, die einen Teil des Inhalts dieses Buches mit Fokus auf Python behandeln. Wenn du dieses Buch mit einer Videopräsentation ergänzen möchtest, solltest du dir die folgenden Ressourcen ansehen:
Zeitreihenanalyse (SciPy 2016)
Moderne Zeitreihenanalyse (SciPy 2019)
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width bold
-
Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.
Constant width italic
-
Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
Code-Beispiele verwenden
Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://github.com/PracticalTimeSeriesAnalysis/BookRepo zum Download bereit .
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Wenn du eine CD-ROM mit Beispielen aus den O'Reilly-Büchern verkaufst oder verteilst, ist eine Genehmigung erforderlich. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Erlaubnis erforderlich.
Wir schätzen die Namensnennung, verlangen sie aber nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Practical Time Series Analysis von Aileen Nielsen (O'Reilly). Copyright 2020 Aileen Nielsen, 978-1-492-04165-8."
Wenn du der Meinung bist, dass deine Verwendung von Codebeispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
O'Reilly Online Learning
Hinweis
Seit fast 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel, Konferenzen und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen findest du unter http://oreilly.com.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-998-9938 (in den Vereinigten Staaten oder Kanada)
- 707-829-0515 (international oder lokal)
- 707-829-0104 (Fax)
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/practical-time-series-analysis aufrufen .
Schreib eine E-Mail an bookquestions@oreilly.com, um Kommentare oder technische Fragen zu diesem Buch zu stellen.
Weitere Informationen zu unseren Büchern, Kursen, Konferenzen und Neuigkeiten findest du auf unserer Website unter http://www.oreilly.com.
Finde uns auf Facebook: http://facebook.com/oreilly
Folge uns auf Twitter: http://twitter.com/oreillymedia
Schau uns auf YouTube: http://www.youtube.com/oreillymedia
Danksagungen
Vielen Dank an die beiden technischen Gutachter für dieses Buch, die Professoren Rob Hyndman und David Stoffer. Beide haben sich außerordentlich viel Zeit für die Durchsicht des Buches genommen und uns umfangreiches und hilfreiches Feedback und neue Ideen für den Inhalt gegeben. Das Buch ist wesentlich besser, als es ohne ihren Beitrag gewesen wäre. Ich danke vor allem Rob dafür, dass er auf verpasste Gelegenheiten im ursprünglichen Entwurf hingewiesen hat, alternative Methoden und viele interessante Quellen für Zeitreihendaten hervorzuheben. David danke ich vor allem für seine Skepsis gegenüber allzu automatisierten Analyseansätzen und dafür, dass er mich darauf hingewiesen hat, wenn ich in Bezug auf bestimmte Tools übermäßig optimistisch war. Ich danke dir für all deine Hilfe, dein Wissen und deinen erfahrenen Blick auf die Zeitreihenanalyse.
Ich bin meinem Redakteur bei O'Reilly, Jeff Bleiel, dankbar, der mich bei der Durchsicht der vielen Seiten im letzten Jahr sehr ermutigt, unterstützt und geholfen hat. Auch meiner Produktionsredakteurin Katie Tozer bin ich zu großem Dank verpflichtet. Sie war sehr geduldig, als es darum ging, dieses Buch zu bereinigen und mich durch technische Pannen bei der Produktion zu führen. Vielen Dank an Rachel Monaghan für das sorgfältige und ausgezeichnete Lektorat. Danke an Rebecca Demarest, die viele der Illustrationen in diesem Buch erstellt und mir geholfen hat, viele unordentliche Grafiken zu bereinigen. Ein weiterer Dank geht an Jonathan Hassell, der dieses Projekt in Angriff genommen und O'Reilly davon überzeugt hat, es zu veröffentlichen. Schließlich möchte ich mich bei Nicole Tache bedanken, die mich vor ein paar Jahren angesprochen hat, um mit O'Reilly zusammenzuarbeiten. Allen bei O'Reilly danke ich dafür, dass ich dieses Projekt in Angriff nehmen durfte und dass ihr mich während des gesamten Prozesses unterstützt habt.
Ich bin vielen Leserinnen und Lesern dankbar, die mir Feedback gegeben oder beim Korrekturlesen geholfen haben, darunter Wenfei Tong, Richard Krajunus, Zach Bogart, Gabe Fernando, Laura Kennedy, Steven Finkelstein, Liana Hitts und Jason Greenberg. Ihr Beitrag war außerordentlich hilfreich. Vielen Dank fürs Lesen und für euer Feedback.
Ich danke meiner Mutter (und meinem Vorbild), Elizabeth, für ihre lebenslange Liebe, Unterstützung und Disziplin. Ich danke meinem Vater John und Tante Claire für ihre Liebe und Unterstützung bei meiner Ausbildung über viele Jahre hinweg. Vor allem aber danke ich meinem Mann Ivan und meinem Sohn Edmund Hillary für ihre Geduld und ihren Enthusiasmus, mit denen sie das Buch unterstützt und die Zeit entschuldigt haben, die ich während des Schreibens von meiner Familie getrennt war.
Alle Fehler oder Bugs, die du in diesem Buch findest, sind meine und nur meine. Ich freue mich über Feedback unter aileen.a.nielsen@gmail.com.
Get Praktische Zeitreihenanalyse 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.