0 / 0
Go back to the English version of the documentation
Funkční řada časových řad
Last updated: 07. 7. 2023
Funkční řada časových řad

Knihovna časových řad poskytuje různé funkce pro jednorozměrné, vícerozměrné časové řady s numerickými klíči a také číselné a kategoriální typy.

Funkčnost poskytovaná knihovnou může být široce rozdělena do následujících kategorií:

  • I/O časové řady, pro vytvoření a uložení dat časové řady
  • Funkce časové řady, transformace, okna nebo segmentace a reduktory
  • Časové řady SQL a rozšíření SQL do prostoru Spark, které umožňují provádět funkce rozšiřitelných časových řad

Některé z klíčových funkcí se zobrazují v následujících sekcích pomocí příkladů.

I/O časové řady

Primární vstupní a výstupní (I/O) funkce pro časovou řadu je přes pandy DataFrame nebo Python . Následující ukázka kódu zobrazuje sestavení časové řady z objektu 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

Chcete-li se vrátit z časové řady zpět na pandy DataFrame, použijte funkci 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

Datový model

Data časových řad nemají žádné standardy pro model a datové typy, na rozdíl od některých datových typů, jako jsou prostorové, které se řídí standardem, jako je Open Geospatial Consortium (OGC). Výzva s daty časové řady je široká škála funkcí, které je třeba podporovat, podobně jako u distribuovaných datových sad (RDD) Spark Resilient.

Datový model umožňuje širokou škálu operací od různých forem segmentace nebo oken časových řad, transformace nebo konverze jedné časové řady do druhé, reduktory, které vypočítávají statickou hodnotu z časových řad, spojení typu join spojující více časových řad a kolektory časových řad z různých časových pásem. Knihovna časových řad umožňuje plug-and-play nových funkcí a zároveň udržet základní strukturu dat neměnitelnou. Knihovna také podporuje numerické a kategoriální typované časové řady.

Pomocí časových pásem a různých formátů času čitelných pro člověka je klíčovým aspektem datového modelu podpora pro systém RTRS (Time Reference System). Každá časová řada je přidružena k sadě TRS (systémová předvolba), kterou lze kdykoli znovu namapovat na libovolnou specifickou volbu uživatele, což umožňuje snadnou transformaci specifické časové řady nebo segmentu časové řady. Viz téma Použití referenčního systému času.

Dále, vzhledem k nutnosti zpracovat velké časové řady stupnice, nabízí knihovna lazy evaluační konstrukci tím, že poskytuje mechanismus pro identifikaci maximální úzké časové závislosti. Tento konstrukt je velmi podobný výpočtu grafu Spark, který také načítá data do paměti podle potřeby a realizuje výpočty pouze v případě potřeby.

Datové typy časové řady

Jako prvek časové řady můžete použít více datových typů, které přesahují číselné, kategoriální, maticové a slovníkové datové struktury.

V časové řadě jsou podporovány následující datové typy:

Datový typ Popis
číselné Časová řada s jedinečnými pozorováními numerického typu, včetně čísel typu double a integer. Například:[(1, 7.2), (3, 4.5), (5, 4.5), (5, 4.6), (5, 7.1), (7, 3.9), (9, 1.1)]
číselné pole Časová řada s numerickými pozorováními numerického typu, včetně dvojitého pole a celočíselného pole. Například: [(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])]
řetězec Časová řada s vyjádřeními jednorozměrných pozorování typu řetězec, například: [(1, "a"), (3, "b"), (5, "c"), (5, "d"), (5, "e"), (7, "f"), (9, "g")]
Pole řetězců Časová řada s vyjádřením s více variantami typu string, například: [(1, ["a", "xq"]), (3, ["b", "zr"]), (5, ["c", "ms"]), (5, ["d", "rt"]), (5, ["e", "wu"]), (7, ["f", "vv"]), (9, ["g", "zw"])]
segment Časové řady segmentů. Výstupem funkce segmentBy může být libovolný typ, včetně numerického, řetězcového, číselného pole a pole řetězců. Příklad: [(1,[(1, 7.2), (3, 4.5)]), (5,[(5, 4.5), (5, 4.6), (5, 7.1)]), (7,[(7, 3.9), (9, 1.1)])]
slovník Časové řady slovníků. Slovník může mít uvnitř libovolné typy

Funkce časové řady

V poskytnutých balících časových řad můžete použít různé funkce k analýze dat časových řad za účelem extrakce smysluplných informací, pomocí kterých lze vytvářet modely, které lze použít k předpovědi nových hodnot na základě dříve pozorovaných hodnot. Viz Funkce časové řady.

Další informace

Chcete-li použít produkt tspy Python SDK, přečtěte si dokumentaci sady tspy Python SDK.

Nadřízené téma: Analýza časové řady

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