Szeregi czasowe

Book description

Ta książka jest szerokim, aktualnym i praktycznym przeglądem metod analizy szeregów czasowych, w którym ujęto pełny potok przetwarzania danych czasowych i modelowania. Zaprezentowano w niej rzeczywiste przypadki użycia tych metod i zilustrowano je obszernymi fragmentami znakomicie zaprojektowanego kodu w językach R i Python. Znalazły się tutaj praktyczne wskazówki ułatwiające rozwiązywanie najczęstszych problemów występujących w inżynierii danych czasowych i ich analizie. Ujęto tu zarówno konwencjonalne metody statystyczne, jak i nowoczesne techniki uczenia maszynowego. To bardzo przydatny przewodnik, dzięki któremu analitycy danych, inżynierowie oprogramowania i naukowcy będą mogli płynnie przejść od podstaw pracy z szeregami czasowymi do rozwiązywania konkretnych zagadnień na profesjonalnym poziomie.

Table of contents

  1. Wstęp
    1. Kto powinien przeczytać tę książkę?
      1. Wymagania wstępne
    2. Dlaczego napisałam tę książkę?
    3. Struktura książki
    4. Zasoby internetowe
    5. Konwencje typograficzne zastosowane w tej książce
    6. Wykorzystanie przykładów kodu
    7. Podziękowania
  2. Rozdział 1. Koncepcja szeregów czasowych
    1. Szeregi czasowe w różnych dziedzinach — krótka historia
      1. Szeregi czasowe w medycynie
        1. Przyrządy medyczne
      2. Przewidywanie pogody
      3. Prognozy rozwoju gospodarczego
        1. Rynki handlowe
      4. Astronomia
    2. Początki analizy szeregów czasowych
    3. Metody statystyczne w analizie szeregów czasowych
    4. Uczenie maszynowe w analizie szeregów czasowych
    5. Zobacz też
  3. Rozdział 2. Pozyskiwanie i przetwarzanie szeregów czasowych
    1. Gdzie można znaleźć szeregi czasowe?
      1. Gotowe zestawy danych
        1. Repozytorium UCI
        2. Repozytorium UEA and UCR Time Series Classification
        3. Dane rządowe
        4. Inne pomocne źródła danych
      2. Odnajdywanie szeregów czasowych
    2. Konstruowanie szeregu czasowego na podstawie danych tabelarycznych
      1. Przygotowanie danych — instrukcja krok po kroku
      2. Konstruowanie szeregu czasowego na podstawie zebranych danych
    3. Problemy związane ze znacznikami czasu
      1. Czego dotyczy dany znacznik?
      2. Praca z danymi pozbawionymi dokumentacji
        1. Czas uniwersalny a czas lokalny
        2. Zachowanie użytkownika a zachowanie sieci
      3. Co to jest znacząca skala czasu?
    4. Oczyszczanie danych
      1. Brakujące dane
        1. Przygotowanie zbioru danych do testowania różnych metod imputacji
        2. Forward fill
        3. Średnia ruchoma
        4. Interpolacja
        5. Porównanie metod uzupełniania brakujących danych
        6. Uwagi końcowe
      2. Zmiana częstotliwości próbkowania
        1. Downsampling
        2. Upsampling
      3. Wygładzanie danych
        1. Dlaczego wygładzamy dane?
        2. Wyrównywanie wykładnicze
    5. Wahania sezonowe
    6. Strefy czasowe
    7. Zapobieganie zjawisku lookahead
    8. Zobacz też
  4. Rozdział 3. Metody eksplorowania danych czasowych
    1. Metody ogólnego przeznaczenia
      1. Wykresy liniowe
      2. Histogramy
      3. Wykresy punktowe
    2. Metody przeznaczone do eksploracji szeregów czasowych
      1. O stacjonarności słów kilka
        1. Intuicje
        2. Definicja pojęcia stacjonarności i rozszerzony test Dickeya-Fullera
        3. W praktyce
      2. Stosowanie okien czasowych
        1. Okna czasowe
        2. Rozszerzające się okna
        3. Niestandardowe funkcje w oknach
      3. Związki pomiędzy wartościami w szeregu
        1. Funkcja autokorelacji
        2. Funkcja autokorelacji cząstkowej
      4. Korelacje pozorne
    3. Przegląd użytecznych metod wizualizacji
      1. Wizualizacje w jednym wymiarze
      2. Wizualizacje w dwóch wymiarach
      3. Wizualizacje w trzech wymiarach
    4. Zobacz też
  5. Rozdział 4. Symulacje szeregów czasowych
    1. Czym wyróżniają się symulacje szeregów czasowych?
      1. Symulacje kontra prognozy
    2. Symulacje w implementacjach
      1. Przykład 1. — zrób to sam
      2. Przykład 2. — tworzenie świata symulacji, który sam sobą steruje
      3. Przykład 3. — symulacja zjawiska fizycznego
    3. Uwagi końcowe
      1. Symulacje z wykorzystaniem metod statystycznych
      2. Symulacje z wykorzystaniem uczenia głębokiego
    4. Zobacz też
  6. Rozdział 5. Przechowywanie danych czasowych
    1. Definiowanie wymagań
      1. Dane rzeczywiste a dane przechowywane
        1. Powoli zmieniające się zmienne
        2. Zaszumione dane o wysokiej częstotliwości
        3. Nieaktualne dane
    2. Bazy danych
      1. SQL kontra NoSQL
        1. Dane, dla których stworzono bazy SQL
        2. Charakter szeregów czasowych
        3. Jak dokonać wyboru pomiędzy bazą SQL a NoSQL?
      2. Przegląd popularnych rozwiązań bazodanowych dla szeregów czasowych
        1. Bazy przeznaczone specjalnie do przechowywania szeregów czasowych i powiązane z nimi narzędzia do monitorowania
        2. Bazy NoSQL
    3. Przechowywanie danych w plikach
      1. NumPy
      2. Pandas
      3. Odpowiedniki w środowisku R
      4. Xarray
    4. Zobacz też
  7. Rozdział 6. Modele statystyczne
    1. Dlaczego nie należy korzystać z regresji liniowej?
    2. Metody statystyczne dla szeregów czasowych
      1. Modele autoregresyjne
        1. Wykorzystanie algebry do zrozumienia ograniczeń procesów AR
        2. Dobór parametrów dla modelu AR(p)
        3. Prognozowanie z wykorzystaniem modeli AR(p)
          1. Prognozowanie o jeden krok w przód
      2. Modele ze średnią ruchomą
        1. Model
        2. Dobór parametrów dla procesu MA(q)
        3. Prognozowanie z wykorzystaniem modeli MA(q)
      3. Zintegrowane modele autoregresyjne średniej ruchomej
        1. Model
        2. Dobór parametrów
      4. Model wektorowej autoregresji
      5. Inne modele
        1. Sezonowy model ARIMA
        2. ARCH, GARCH i pokrewne
        3. Hierarchiczne modele szeregów czasowych
    3. Zalety i wady modeli statystycznych
    4. Zobacz też
  8. Rozdział 7. Modele zmiennych stanu
    1. Wady i zalety modeli zmiennych stanu
    2. Filtr Kalmana
      1. Model
      2. Implementacja
    3. Ukryte modele Markowa
      1. Sposób działania modelu
      2. Dopasowywanie modelu
        1. Algorytm Bauma-Welcha
        2. Algorytm Viterbiego
      3. Implementacja dopasowania modelu
    4. Bayesowskie strukturalne szeregi czasowe (BSTS)
      1. Implementacja
    5. Zobacz też
  9. Rozdział 8. Generowanie i selekcja cech
    1. Przykład wprowadzający
    2. Ogólne uwagi dotyczące cech
      1. Natura danego szeregu
        1. Stacjonarność
        2. Długość szeregu
      2. Wiedza dziedzinowa
      3. Parametry zewnętrzne
    3. Przegląd miejsc, w których można szukać inspiracji dotyczących wyboru cech
      1. Biblioteki dostępne na licencji open source
        1. Biblioteka tsfresh (Python)
        2. Platforma Cestium (Python)
        3. Pakiet tsfeatures (R)
      2. Przykłady cech powiązanych z konkretnymi dziedzinami
        1. Wskaźniki z analizy technicznej
        2. Szeregi czasowe z obszaru opieki zdrowotnej
    4. Jak dokonać selekcji cech po ich wygenerowaniu?
    5. Podsumowanie i wnioski
    6. Zobacz też
  10. Rozdział 9. Uczenie maszynowe w analizie szeregów czasowych
    1. Klasyfikacja szeregów czasowych
      1. Generowanie i selekcja cech
      2. Drzewa decyzyjne
        1. Losowy las decyzyjny
        2. Gradientowo wzmocnione drzewa decyzyjne
        3. Przykład implementacji
        4. Klasyfikacja kontra prognozowanie
    2. Klasteryzacja
      1. Generowanie cech
      2. Metryki uwzględniające zmianę czasu
      3. Klasteryzacja w kodzie
        1. Klasteryzacja hierarchiczna oparta na znormalizowanych cechach
        2. Klasteryzacja hierarchiczna oparta na algorytmie DTW
    3. Zobacz też
  11. Rozdział 10. Uczenie głębokie
    1. Geneza uczenia głębokiego
    2. Implementacja sieci neuronowej
      1. Dane, symbole, operacje, warstwy i grafy
    3. Budowa potoku uczenia
      1. Spojrzenie na zestaw danych
      2. Elementy potoku uczenia
        1. Łatwo konfigurowalny kod
        2. Przygotowanie danych wejściowych
        3. Kształtowanie danych w kodzie
        4. Ustawianie parametrów procesu uczenia i uruchomienie system zapisu wartości
        5. Metryki ewaluacji
        6. Połączenie wszystkich elementów
    4. Jednokierunkowe sieci neuronowe
      1. Prosty przykład
      2. Wykorzystanie modelu atencji do uczynienia jednokierunkowych sieci bardziej świadomymi czasu
    5. Konwolucyjne sieci neuronowe
      1. Prosty model sieci konwolucyjnej
      2. Alternatywne modele konwolucyjne
        1. Konwolucja z przyczynowością
        2. Przekształcanie szeregów czasowych w obrazy
    6. Rekurencyjne sieci neuronowe
      1. Kontynuacja przykładu z zapotrzebowaniem na prąd
      2. Autoenkoder
    7. Połączenie architektur
    8. Podsumowanie
    9. Zobacz też
  12. Rozdział 11. Pomiary błędów
    1. Podstawy: jak przetestować prognozę?
      1. Weryfikacja historyczna a kwestie związane z konkretnym modelem
    2. Kiedy prognoza jest wystarczająco dobra?
    3. Szacowanie niepewności modelu w oparciu o symulację
    4. Prognozowanie na wiele kroków naprzód
      1. Bezpośrednie dopasowanie do danego horyzontu
      2. Podejście rekurencyjne do odległych horyzontów czasowych
      3. Uczenie wielozadaniowe w kontekście szeregów czasowych
    5. Pułapki walidacji
    6. Zobacz też
  13. Rozdział 12. Kwestie wydajnościowe w dopasowywaniu i wdrażaniu modeli
    1. Praca z narzędziami przeznaczonymi do bardziej ogólnych przypadków użycia
      1. Modele zbudowane z myślą o danych przekrojowych nie „współdzielą” danych pomiędzy próbkami
        1. Nie dopuszczaj do nakładania się danych
        2. Zastosuj paradygmat generatora do iteracji po zbiorze danych
      2. Modele, które nie wspierają wcześniejszego obliczania, tworzą niepotrzebne opóźnienia pomiędzy pomiarem a prognozowaniem
    2. Wady i zalety formatów zapisu danych
      1. Przechowuj dane w formacie binarnym
      2. Przetwarzaj dane w sposób umożliwiający „przesuwanie się” po nich
    3. Modyfikacje analizy dla zwiększenia jej wydajności
      1. Wykorzystanie wszystkich danych to niekoniecznie najlepszy pomysł
      2. Złożone modele nie zawsze sprawdzają się znacznie lepiej
      3. Krótki przegląd innych wysokowydajnych narzędzi
    4. Zobacz też
  14. Rozdział 13. Zastosowania w obszarze opieki zdrowotnej
    1. Przewidywanie grypy
      1. Studium przypadku grypy w jednym obszarze metropolitalnym
        1. Eksploracja danych i ich wstępne oczyszczenie
        2. Dopasowanie sezonowego modelu ARIMA
        3. Alternatywny model ARIMA: egzogeniczny regresor harmoniczny zamiast sezonowości
      2. Jak obecnie wygląda prognozowanie grypy?
        1. Rozwój metod prognozowania zachorowań na grypę
    2. Przewidywanie stężenia cukru we krwi
      1. Eksploracja danych i ich oczyszczanie
      2. Generowanie cech
      3. Dopasowanie modelu
    3. Zobacz też
  15. Rozdział 14. Zastosowania w obszarze finansów
    1. Pozyskiwanie i eksploracja danych finansowych
    2. Wstępne przetwarzanie danych do uczenia głębokiego
      1. Dodawanie interesujących nas wielkości do surowych danych
      2. Skalowanie interesujących nas wielkości bez wprowadzania zjawiska lookahead
      3. Formatowanie danych do sieci neuronowej
    3. Budowanie i uczenie rekurencyjnej sieci neuronowej
    4. Zobacz też
  16. Rozdział 15. Szeregi czasowe w danych rządowych
    1. Pozyskiwanie danych rządowych
    2. Eksploracja dużych zbiorów danych czasowych
      1. Zwiększenie częstotliwości próbkowania i agregowanie danych podczas iteracji
      2. Sortowanie danych
    3. Statystyczna analiza szeregów czasowych „w locie”
      1. Pozostałe pytania
      2. Dalsze możliwości poprawy
    4. Zobacz też
  17. Rozdział 16. Pakiety przeznaczone do pracy z szeregami czasowymi
    1. Prognozowanie na dużą skalę
      1. Wewnętrzne narzędzia Google’a do przemysłowego prognozowania
        1. Zautomatyzowane i kompleksowe oczyszczanie i wygładzanie danych
        2. Agregacja czasowa i dezagregacja geograficzna/koncepcyjna
        3. Łączenie prognoz i szacunków niepewności generowanych na podstawie symulacji
      2. Otwartoźródłowy pakiet Prophet od Facebooka
    2. Wykrywanie anomalii
      1. Otwartoźródłowy pakiet AnomalyDetection od Twittera
    3. Inne pakiety stworzone z myślą o szeregach czasowych
    4. Zobacz też
  18. Rozdział 17. Prognozy o prognozowaniu
    1. Prognozowanie jako usługa
    2. Uczenie głębokie zwiększa możliwości probabilistyczne
    3. Wzrost znaczenia uczenia maszynowego kosztem statystyki
    4. Wzrost popularności metod łączących podejście statystyczne i uczenie maszynowe
    5. Więcej prognoz dotyczących życia codziennego
  19. O autorze
  20. Kolofon

Product information

  • Title: Szeregi czasowe
  • Author(s): Aileen Nielsen
  • Release date: September 2020
  • Publisher(s): Helion
  • ISBN: 9788328367210