0 / 0
Go back to the English version of the documentation
Kluczowe funkcje szeregów czasowych
Last updated: 07 lip 2023
Kluczowe funkcje szeregów czasowych

Biblioteka szeregów czasowych udostępnia różne funkcje dla szeregów czasowych jednej zmiennej, wielu zmiennych, szeregów czasowych z wieloma kluczowymi szeregami oraz typów liczbowych i jakościowych.

Funkcjonalność udostępniana przez bibliotekę może być w dużym stopniu skategoryzowana w:

  • Operacje we/wy szeregów czasowych, służące do tworzenia i zapisywania danych szeregów czasowych
  • Funkcje szeregów czasowych, transformacje, stolarki okienkowe lub segmentacji, a także reduktory
  • Szeregi czasowe SQL i rozszerzenia SQL do Spark, aby umożliwić wykonywanie skalowalnych funkcji szeregów czasowych

Niektóre z kluczowych funkcji są przedstawione w poniższych sekcjach za pomocą przykładów.

Operacje we/wy serii

Podstawowe funkcje wejścia i wyjścia (we/wy) dla szeregu czasowego są dostępne w postaci pandas DataFrame lub Python . Poniższy przykładowy kod przedstawia konstruowanie szeregów czasowych z DataFrame:

>>> import numpy as np
>>> import pandas as pd
>>> data = np.array([['', 'key', 'timestamp', "value"],['', "a", 1, 27], ['', "b", 3, 4], ['', "a", 5, 17], ['', "a", 3, 7], ['', "b", 2, 45]])
>>> df = pd.DataFrame(data=data[1:, 1:], index=data[1:, 0], columns=data[0, 1:]).astype(dtype={'key': 'object', 'timestamp': 'int64', 'value': 'float64'})
>>> df
key  timestamp  value
  a          1   27.0
  b          3    4.0
  a          5   17.0
  a          3    7.0
  b          2   45.0

#Create a timeseries from a dataframe, providing a timestamp and a value column
>>> ts = tspy.time_series(df, ts_column="timestamp", value_column="value")
>>> ts
TimeStamp: 1     Value: 27.0
TimeStamp: 2     Value: 45.0
TimeStamp: 3     Value: 4.0
TimeStamp: 3     Value: 7.0
TimeStamp: 5     Value: 17.0

Aby powrócić z powrotem z szeregu czasowego do stanu pandas DataFrame, należy użyć funkcji to_df :

>>> import tspy
>>> ts_orig = tspy.time_series([1.0, 2.0, 3.0])
>>> ts_orig
TimeStamp: 0     Value: 1
TimeStamp: 1     Value: 2
TimeStamp: 2     Value: 3

>>> df = ts_orig.to_df()
>>> df
   timestamp  value
0          0      1
1          1      2
2          2      3

Model danych

Dane szeregów czasowych nie mają żadnych standardów dla modelu i typów danych, w przeciwieństwie do niektórych typów danych, takich jak przestrzenne, które są zarządzane przez standard, taki jak Open Geospatial Consortium (OGC). Wyzwaniem z danymi szeregów czasowych są różnorodne funkcje, które muszą być obsługiwane, podobnie jak w przypadku Spark Resilient Distributed Datasets (RDD).

Model danych pozwala na wykonywanie różnorodnych operacji, obejmujących różne formy segmentacji lub okienek szeregów czasowych, transformacje lub konwersje jednego szeregu czasowego do innego, reduktory, które oblicza wartość statyczną z szeregu czasowego, łączenia, które łączą się z wieloma szeregami czasowymi, a także kolektory szeregów czasowych z różnych stref czasowych. Biblioteka szeregów czasowych umożliwia tworzenie plug-and-play nowych funkcji przy jednoczesnym zachowaniu niezmienności podstawowej struktury danych. Biblioteka obsługuje również terminale numeryczne i kategorialne.

Ze strefami czasowymi i różnymi czytelnymi formatami czasu kluczowym aspektem modelu danych jest obsługa Systemu Obsługi Czasu (Time Reference System-TRS). Każda seria czasowa jest powiązana z TRS (system domyślny), który może być ponownie odwzorowany na dowolny konkretny wybór użytkownika w dowolnym momencie, umożliwiając łatwe przekształcenie konkretnego szeregu czasowego lub segmentu serii czasowych. Patrz Korzystanie z systemu odniesienia czasu.

Ponadto, z potrzebą obsługi szeregów czasowych o dużej skali, biblioteka oferuje leniwą konstrukcję wartościową, dostarczając mechanizm służący do identyfikowania maksymalnej, wąskiej zależności czasowej. Konstrukcja ta jest bardzo podobna do tego z grafu obliczeniowego Spark, który ładuje również dane do pamięci w miarę potrzeb i realizuje obliczenia tylko wtedy, gdy jest to potrzebne.

Typy danych szeregów czasowych

Istnieje możliwość użycia wielu typów danych jako elementu szeregu czasowego, obejmującego wiele struktur danych liczbowych, jakościowych, macierzy i danych słownikowych.

W szeregach czasowych obsługiwane są następujące typy danych:

Typ danych Opis
numeryczna Szeregi czasowe z obserwacjami jednozmiennymi typu liczbowego, w tym podwójnymi i liczbami całkowitymi. Na przykład:[(1, 7.2), (3, 4.5), (5, 4.5), (5, 4.6), (5, 7.1), (7, 3.9), (9, 1.1)]
tablica numeryczna Szeregi czasowe z wielowymiarnymi obserwacjami typu liczbowego, w tym podwójnymi tablicami i liczbami całkowitymi. Na przykład:[(1, [7.2, 8.74]), (3, [4.5, 9.44]), (5, [4.5, 10.12]), (5, [4.6, 12.91]), (5, [7.1, 9.90]), (7, [3.9, 3.76])]
łańcuch Szeregi czasowe z obserwacjami niezmiennych typu string, na przykład: [(1, "a"), (3, "b"), (5, "c"), (5, "d"), (5, "e"), (7, "f"), (9, "g")]
Tablica łańcuchów Szeregi czasowe z wielowymiarnymi obserwacjami typu tablicy typu string, na przykład: [(1, ["a", "xq"]), (3, ["b", "zr"]), (5, ["c", "ms"]), (5, ["d", "rt"]), (5, ["e", "wu"]), (7, ["f", "vv"]), (9, ["g", "zw"])]
segment Szeregi czasowe segmentów. Wyjściem funkcji segmentBy może być dowolny typ, w tym tablica numeryczna, łańcuchowa, tablica numeryczna i tablica łańcuchów. Na przykład: [(1,[(1, 7.2), (3, 4.5)]), (5,[(5, 4.5), (5, 4.6), (5, 7.1)]), (7,[(7, 3.9), (9, 1.1)])]
słownik Szeregi czasowe słowników. Słownik może mieć dowolne typy wewnątrz słownika

Funkcje szeregów czasowych

Za pomocą różnych funkcji w udostępnionym pakiecie szeregów czasowych można analizować dane szeregów czasowych w celu wyodrębnienia znaczących informacji, za pomocą których można tworzyć modele, które mogą być używane do przewidywania nowych wartości na podstawie wcześniej zaobserwowanych wartości. Patrz Funkcje szeregów czasowych.

Więcej inform.

Aby użyć pakietu tspy Python SDK, należy zapoznać się z dokumentacją pakietu tspy Python SDK.

Temat nadrzędny: Analiza szeregów czasowych

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more