0 / 0
Torna alla versione inglese della documentazione

Funzionalità chiave serie temporali

Ultimo aggiornamento: 04 lug 2024
Funzionalità chiave serie temporali

La libreria di serie temporali fornisce varie funzioni su univariate, multivariate, serie temporali multi - chiave nonché tipologie numeriche e categoriali.

Le funzionalità fornite dalla libreria possono essere ampiamente categorizzate in:

  • I/O serie temporali, per la creazione e il salvataggio dei dati della serie temporale
  • Funzioni di serie temporali, trasformazioni, finestre o segmentazione, e riduttori
  • Serie temporali SQL e estensioni SQL a Spark per abilitare le funzioni di serie temporali scalabili

Alcune delle funzionalità chiave sono mostrate nelle seguenti sezioni utilizzando esempi.

I/O serie temporali

La funzionalità di input e output (I/O) primaria per una serie temporale è rappresentata da un elenco DataFrame o Python di pandas. L'esempio di codice seguente mostra la costruzione di una serie temporale da aDataFrame:

>>> 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

Per tornare da una serie temporale a un pandaDataFrame, Usa ilto_df funzione:

>>> 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

Modello di dati

I dati di serie temporali non hanno standard per il modello e i tipi di dati, diversamente da alcuni tipi di dati come lo spazio, che sono regolati da uno standard come Open Geospatial Consortium (OGC). La sfida con i dati della serie temporale è l'ampia varietà di funzioni che devono essere supportate, simili a quelle di Spark Resilient Distributed Datasets (RDD).

Il modello di dati consente un'ampia varietà di operazioni che spaziano attraverso diverse forme di segmentazione o di incollaggio di serie storiche, trasformazioni o conversioni di una serie temporale ad un'altra, riduttori che compone un valore statico da una serie temporale, unioni che si uniscono a più serie storiche e collezionabili di serie storiche da diverse zone temporali. La libreria di serie storiche consente il plug-and-play di nuove funzioni mantenendo inmodificabile la struttura dati core. La libreria supporta anche i timeseries numerici e categoriali.

Con fusi orari e vari formati di tempo leggibili umani, un aspetto fondamentale del modello di dati è il supporto al Time Reference System (TRS). Ogni serie temporale è associata a un TRS (default di sistema), che può essere rimandato a qualsiasi scelta specifica dell'utente in qualsiasi momento, consentendo una facile trasformazione di una serie temporale specifica o di un segmento di serie storiche. Consultare Utilizzo del sistema di riferimento del tempo.

Inoltre, con la necessità di movimentare serie storiche su larga scala, la biblioteca offre un costrutto di valutazione laziale fornendo un meccanismo per identificare la massima dipendenza temporale ristretta. Questo costrutto è molto simile a quello di un grafico di calcolo di Spark, che carica anche i dati in memoria su base necessaria e realizza i calcoli solo quando necessario.

Tipi di dati della serie temporale

È possibile utilizzare più tipi di dati come elemento di una serie temporale, spaziando le strutture dati numeriche, categoriali, array e dizionari.

I seguenti tipi di dati sono supportati in una serie temporale:

Tipo di dati Descrizione
numerico Serie temporale con osservazioni univariate di tipo numerico tra cui il doppio e il numero intero. Ad esempio:[(1, 7.2), (3, 4.5), (5, 4.5), (5, 4.6), (5, 7.1), (7, 3.9), (9, 1.1)]
matrice numerica Serie temporale con osservazioni multivariate di tipo numerico, tra cui doppia schiera e schiera intera. Ad esempio: [(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])]
stringa Serie storiche con osservazioni univariate di tipo stringa, ad esempio: [(1, "a"), (3, "b"), (5, "c"), (5, "d"), (5, "e"), (7, "f"), (9, "g")]
array stringa Serie storiche con osservazioni multivariate di array di stringa di tipo, ad esempio: [(1, ["a", "xq"]), (3, ["b", "zr"]), (5, ["c", "ms"]), (5, ["d", "rt"]), (5, ["e", "wu"]), (7, ["f", "vv"]), (9, ["g", "zw"])]
segmento Serie temporale dei segmenti. L'output della funzione segmentBy , può essere qualsiasi tipo, incluso numerico, stringa, schiera numerica e array di stringa. Ad esempio: [(1,[(1, 7.2), (3, 4.5)]), (5,[(5, 4.5), (5, 4.6), (5, 7.1)]), (7,[(7, 3.9), (9, 1.1)])]
dizionario Serie temporale dei dizionari. Un dizionario può avere dei tipi arbitrari all'interno

Funzioni di serie temporali

È possibile utilizzare diverse funzioni nei pacchetti di serie temporali forniti per analizzare i dati della serie temporale per estrarre informazioni significative con cui creare modelli che possono essere utilizzati per prevedere nuovi valori in base ai valori precedentemente osservati. Consultare Funzioni serie temporali.

Ulteriori informazioni

Per utilizzare l'SDK tspy Python , consultare la documentazione di tspy Python SDK.

Argomento principale Analisi di serie temporali