Filtro e aggregazione: manipolazione delle serie temporali

In questa pagina vengono descritte le tecniche utilizzate per manipolare i dati delle serie temporali. Questi contenuti si basano sui concetti e sulla discussione in Metriche, serie temporali e risorse.

I dati non elaborati delle serie temporali devono essere manipolati prima di poter essere analizzati e l'analisi comporta spesso il filtraggio di alcuni dati e l'aggregazione in sinergia. In questa pagina vengono descritte due tecniche principali per perfezionare i dati non elaborati:

  • Applicazione di filtri, che rimuove alcuni dati dalla considerazione.
  • Aggregazione, che combina più dati in un insieme più piccolo in base alle dimensioni specificate.

I filtri e l'aggregazione sono strumenti efficaci per identificare contenuti interessanti pattern ed evidenziano, tra le altre cose, tendenze o outlier nei dati.

In questa pagina vengono descritti i concetti alla base dei filtri e dell'aggregazione. it non spiega come applicarli direttamente. Per applicare filtri o aggregazioni ai dati delle serie temporali, usa l'API Cloud Monitoring o la creazione di grafici di avviso nella console Google Cloud. Per alcuni esempi, vedi Criteri di esempio delle API e Monitoraggio degli esempi di Query Language.

Dati di serie temporali non elaborati

La quantità di dati metriche non elaborati in una singola serie temporale può essere enorme e di solito ci sono molte serie temporali associate a un tipo di metrica. A analizzare l'intero set di dati alla ricerca di punti in comune, tendenze o outlier, è necessario eseguire delle elaborazioni sulle serie temporali del set. In caso contrario, troppi dati da considerare.

Per introdurre filtri e aggregazione degli esempi in questa pagina, utilizza un breve il numero di serie temporali ipotetiche. Ad esempio, la seguente illustrazione mostra alcune ore di dati non elaborati provenienti da tre serie temporali:

Grafico che mostra tre serie temporali non elaborate: rosso, blu e verde.
Figura 1: tre serie temporali non elaborate

Ogni serie temporale è di colore, rosso, blu o verde per riflettere il valore di un ipotetica color. Esiste una serie temporale per ogni valore dell'etichetta. Puoi notare che i valori non sono perfettamente allineati poiché sono stati registrati in momenti diversi.

Applicazione dei filtri

Uno dei più potenti strumenti di analisi è l'applicazione di filtri, che consente di nascondi i dati che non ti interessano nell'immediato.

Puoi filtrare i dati delle serie temporali in base a quanto segue:

  • volte,
  • Valore di una o più etichette.

L'illustrazione seguente mostra il risultato dell'applicazione di filtri in modo da mostrare solo il rosso serie temporali dell'insieme originale di serie temporali non elaborate (illustrate in Figura 1):

Grafico che mostra una delle serie temporali non elaborate: rosso.
Figura 2: dopo l'applicazione di filtri, una serie temporale non elaborata

Questa serie temporale, selezionata tramite filtro, viene utilizzata nella sezione successiva per dimostrare l'allineamento.

Aggregazione

Un altro modo per ridurre la quantità di dati di cui disponi è riassumere, aggregate: L'aggregazione include due aspetti:

  • Allineamento o regolarizzazione dei dati in una singola serie temporale.
  • Riduzione o combinazione di più serie temporali.

Prima di poterli ridurre, devi allineare le serie temporali. I prossimi che descrivono allineamento e riduzione utilizzando serie temporali che archiviano valori interi. Questi concetti generali si applicano anche quando una serie temporale ha un tipo di valore Distribution; tuttavia, ci sono alcune vincoli aggiuntivi in questo caso. Per ulteriori informazioni, vedi Informazioni sulle metriche basate sul valore di distribuzione.

Allineamento: regolarizzazione all'interno della serie

Il primo passaggio per l'aggregazione dei dati delle serie temporali è l'allineamento. Allineamento crea una nuova serie temporale in cui i dati non elaborati sono stati regolarizzati nel tempo in modo che possa essere combinato con altre serie temporali allineate. L'allineamento produce serie temporali con dati a intervalli regolari.

L'allineamento prevede due passaggi:

  1. Dividere le serie temporali in intervalli di tempo regolari, chiamato anche eseguire il bucket dei dati. L'intervallo è chiamato periodo. periodo di allineamento o finestra di allineamento.

  2. È in corso il calcolo di un singolo valore per i punti nel periodo allineamento. Sei tu a scegliere come viene calcolato quel singolo punto; puoi sommare tutti i valori, calcolarne la media oppure utilizzare massimo.

Poiché la nuova serie temporale creata dall'allineamento rappresenta tutti i valori le serie temporali non elaborate che si trovano all'interno del periodo allineamento con singolo valore, viene anche chiamata riduzione all'interno della serie aggregazione all'interno della serie.

Regolare gli intervalli di tempo

L'analisi dei dati delle serie temporali richiede che i punti dati siano disponibili su limiti temporali equidistanti. L'allineamento è la procedura per realizzare questo che accadrà.

L'allineamento crea una nuova serie temporale con un intervallo costante, periodo, tra i punti dati. In genere l'allineamento viene applicato a più intervalli di tempo in preparazione a ulteriori manipolazioni.

Questa sezione illustra i passaggi di allineamento applicandoli a una singola istanza Google Cloud. In questo esempio, viene applicato un periodo di allineamento di un'ora alla serie temporale di esempio illustrata nella Figura 2. L'ora mostra i dati acquisiti nell'arco di tre ore. Suddivisione dei punti dati in periodi di un'ora generano i seguenti punti in ogni periodo:

Periodo Valori
01:01-02:00 400, 350, 300, 200
02:01-03:00 200, 100
03:01-04:00 300, 250, 200

Scelta dei periodi di allineamento

La durata del periodo di allineamento dipende da due fattori:

  • La granularità di ciò che stai cercando di trovare nei dati.
  • il periodo di campionamento dei dati; cioè la frequenza con cui viene segnalata.

Le sezioni seguenti trattano questi fattori in modo più dettagliato.

Inoltre, Cloud Monitoring conserva i dati delle metriche per un periodo di tempo finito. La varia in base al tipo di metrica; vedi Conservazione dei dati per maggiori dettagli. Il periodo di conservazione è il periodo di allineamento significativo più lungo.

Granularità

Se sai che è successo qualcosa in un paio d'ore e più a fondo, probabilmente vorrai dedicare un'ora o di minuti per l'allineamento.

Se ti interessa esplorare le tendenze per periodi di tempo più lunghi, potrebbe essere più appropriato. In genere, periodi di allineamento di grandi dimensioni non utile per esaminare condizioni anomale a breve termine. Se utilizzi, per Ad esempio, un periodo di allineamento di più settimane, l'esistenza di un'anomalia periodo potrebbe essere ancora rilevabile, ma potrebbero esserlo anche i dati allineati granulare per essere di grande aiuto.

Frequenza di campionamento

Anche la frequenza con cui i dati vengono scritti, la frequenza di campionamento, influisce sulla scelta del periodo di allineamento. Consulta l'elenco delle metriche per le frequenze di campionamento delle metriche integrate. Considera la figura seguente, che illustra una serie temporale con una frequenza di campionamento di un punto al minuto:

Grafico dei dati non elaborati con un periodo di campionamento di 1 minuto.

Se il periodo di allineamento coincide con il periodo di campionamento, c'è un punto dati in ogni periodo allineamento. Ciò significa che, ad esempio applicando uno degli allineatori max, mean o min genera le stesse serie temporali allineate. L'illustrazione seguente mostra questo risultato, insieme alla serie temporale originale come linea sbiadita:

Grafico di una serie temporale allineata con il periodo corrispondente a quello di campionamento.

Per ulteriori informazioni sul funzionamento delle funzioni di allineamento, vedi Allineatori.

Se il periodo di allineamento è impostato su due minuti o raddoppia il campionamento periodo, ci sono due punti dati in ogni periodo. Se max, mean, o min vengono applicati ai punti all'interno dell'allineamento di due minuti periodo, le serie temporali risultanti differiscono. L'illustrazione seguente mostra questi risultati, insieme alle serie temporali originali sotto forma di linea sbiadita:

Grafico delle serie temporali allineate con il periodo raddoppiato rispetto al periodo di campionamento.

Quando scegli un periodo di allineamento, assicurati che sia più lungo del periodo di campionamento, ma sia abbastanza breve da mostrare tendenze pertinenti. Potrebbe essere necessario fare diverse prove per determinare un utile periodo di allineamento. Ad esempio, se i dati vengono raccolti con la frequenza un punto al giorno, un periodo allineamento di un'ora è troppo breve per essere utile: per la maggior parte delle ore, non ci saranno dati.

Allineatori

Quando i dati sono suddivisi in periodi di allineamento, selezioni una funzione, allineatore, da applicare ai punti dati in quel periodo. Allineatore genera un singolo valore posizionato alla fine di ogni periodo allineamento.

Le opzioni di allineamento includono la somma dei valori o l'individuazione del valore massimo, minimo la media dei valori, l'individuazione di un determinato valore percentile, il conteggio dei valori e altri. L'API Cloud Monitoring supporta un ampio set di funzioni di allineamento, molte di più rispetto a quelle illustrate qui; vedi Aligner per vedere l'elenco completo. Per una descrizione della frequenza e degli allineatori delta, che trasformano i dati delle serie temporali, vedi [Tipi, tipi e conversioni][kinds-types-conversion].

Ad esempio, prendendo i dati in bucket dalle serie temporali non elaborate (illustrate in Figura 1), scegli un allineatore e applicalo ai dati in ciascun bucket. La tabella seguente mostra i valori non elaborati e i risultati di tre diversi allineatori, max, mean e min:

Periodo Valori Allineatore: max Allineatore: media Allineatore: min
01:01-02:00 400, 350, 300, 200 400 312,5 200
02:01-03:00 200, 100 200 150 100
03:01-04:00 300, 250, 200 300 250 200

L'illustrazione seguente mostra il risultato dell'applicazione dei valori max, mean, o allineatori min utilizzando un periodo di allineamento di 1 ora al tempo rosso originale (rappresentata dalla linea sbiadita nell'illustrazione):

Grafico che mostra le serie temporali rosse dopo aver applicato uno dei tre diversi allineatori.
Figura 3: una serie temporale, allineata in tre modi

Altri allineatori

La tabella seguente mostra gli stessi valori non elaborati e i risultati di altri tre allineatori:

  • Conteggio conteggia il numero di valori nel periodo allineamento.
  • Somma somma tutti i valori nel periodo allineamento.
  • Successivamente precedente utilizza il valore più recente nel periodo come valore di allineamento.
Periodo Valori Allineatore: conteggio Allineatore: somma Allineatore: successivo meno recente
01:01-02:00 400, 350, 300, 200 4 1250 200
02:01-03:00 200, 100 2 300 100
03:01-04:00 300, 250, 200 3 750 200

Questi risultati non vengono mostrati in un grafico.

Riduzione: combinazione di serie temporali

Il passaggio successivo della procedura, la riduzione, è la combinando più serie temporali allineate in una nuova serie temporale. Questo passaggio sostituisce tutti i valori al limite del periodo di allineamento con un singolo valore. Poiché funziona su serie temporali distinte, la riduzione è anche chiamata aggregazione tra serie.

Riduttori

Un riduttore è una funzione che viene applicata ai valori in un insieme di tempo per produrre un singolo valore.

Le opzioni del riduttore includono la somma dei valori allineati o l'individuazione dei valori massimo, minimo o la media dei valori. L'API Cloud Monitoring supporta un ampio set di le funzioni di riduzione; consulta Reducer per l'elenco completo. L'elenco dei riduttori è parallelo all'elenco degli allineatori.

Le serie temporali devono essere allineate prima di poter essere ridotte. Le seguenti illustrazione mostra i risultati che allineano tutte e tre le serie temporali non elaborate (dalla Figura 1) in periodi di 1 ora con la allineatore media:

Grafico che mostra tre serie temporali allineate alla media.
Figura 4: tre serie temporali, allineate sulla media

I valori delle tre serie temporali allineate alla media (illustrate in Figura 4) sono mostrate nella seguente tabella:

Confine di allineamento Rosso Blu Verde
2:00 312,5 133,3 400
3:00 150 283,3 433,3
4:00 250 300 350

Utilizzando i dati allineati nella tabella precedente, scegli un riduttore e applicalo ai valori. La tabella seguente mostra i risultati dell'applicazione di diverse riduttori ai dati allineati alla media:

Confine di allineamento Riduttore: max Riduttore: media Riduttore: min Riduttore: somma
2:00 400 281,9 133,3 845,8
3:00 433,3 288,9 150 866,7
4:00 350 300 250 900

Per impostazione predefinita, la riduzione si applica a tutte le serie temporali, con conseguente di una singola serie temporale. L'illustrazione seguente mostra il risultato dell'aggregazione le tre serie temporali allineate alla media con il riduttore max, che restituisce i valori medi più elevati nella serie temporale:

Grafico che mostra il risultato dell'utilizzo del riduttore massimo su serie temporali allineate alla media.
Figura 5: riduzione Max dei tre modelli allineati alla media serie temporali

La riduzione può anche essere combinata con il raggruppamento, in cui le serie temporali vengono organizzate in categorie e il riduttore viene applicato a tutte le serie temporali in ciascun gruppo.

Raggruppamento

Il raggruppamento consente di applicare un riduttore ai sottoinsiemi delle serie temporali piuttosto che nell'intero insieme di serie temporali. Per raggruppare le serie temporali, devi selezionare una o più etichette. Le serie temporali vengono quindi raggruppate i relativi valori per le etichette selezionate. Raggruppamento genera una serie temporale per ogni gruppo.

Se un tipo di metrica registra i valori per le etichette zone e color, puoi raggruppare le serie temporali in base a una o entrambe le etichette. Quando applichi il parametro riduttore, ogni gruppo viene ridotto a una singola serie temporale. Se raggruppi in base al colore, si ottiene una serie temporale per ogni colore rappresentato nei dati. Se raggruppi i dati per zona, ottieni una serie temporale per ogni zona visualizzata nei dati. Se raggruppi i dati in base a entrambi, ottieni una serie temporale per ogni combinazione di colori e zone.

Ad esempio, supponiamo di aver acquisito molte serie temporali con il carattere "rosso", i valori "blu" e "verde" per l'etichetta color. Dopo il giorno allineando tutte le serie temporali, possono essere raggruppate per valore color e poi è ridotto dal gruppo. Ciò porta a tre serie temporali specifiche per un colore:

Grafico che mostra le serie temporali raggruppate per colore e ridotte.
Figura 6: serie temporali, raggruppate per colore e ridotte

L'esempio non specifica l'allineatore o il riduttore utilizzato, il punto è che questo raggruppamento consente di ridurre un grande insieme di serie temporali in un insieme più piccolo, in cui ogni serie temporale rappresenta un gruppo che condivide un attributo comune: ad esempio il valore dell'etichetta color.

Aggregazione secondaria

Cloud Monitoring esegue due passaggi di aggregazione.

  • L'aggregazione Principale regolarizza i dati misurati e poi combina le serie temporali regolarizzate utilizzando un riduttore. Quando utilizzi la riduzione potrebbe determinare più di una serie temporale eseguite in questo passaggio.

  • Aggregazione secondaria, che si applica ai risultati della passaggio di aggregazione principale, consente di combinare le serie temporali raggruppate in un'unica usando un secondo riduttore.

La seguente tabella mostra i valori delle serie temporali raggruppate (illustrate in Figura 6):

Confine di allineamento Gruppo rosso Gruppo Blu Gruppo verde
2:00 400 150 450
3:00 200 350 450
4:00 300 300 400

Queste tre serie temporali già ridotte possono quindi essere ulteriormente ridotte applicando l'aggregazione secondaria. La tabella seguente mostra i risultati di applicando riduttori selezionati:

Confine di allineamento Riduttore: max Riduttore: media Riduttore: min Riduttore: somma
2:00 450 333,3 150 1000
3:00 450 333,3 200 1000
4:00 400 333,3 300 1000

L'illustrazione seguente mostra il risultato dell'aggregazione dei tre gruppi serie con il riduttore mean:

Grafico che mostra il risultato del riduttore medio su serie temporali ridotte dal gruppo.
Figura 7: serie temporali raggruppate, dopo la media secondaria aggregazione

Tipi, tipi e conversioni

Ricorda che i punti dati in una serie temporale sono caratterizzati da una metrica e un tipo di valore. vedi Tipi di valori e metriche per un per la revisione. Per un set di dati, è possibile utilizzare allineatori e riduttori appropriati non sono appropriati per altri. Ad esempio, un allineatore o un riduttore conta il numero di valori falsi è appropriato per i dati booleani ma non per i dati numerici. Analogamente, un allineatore o un riduttore che calcola una media applicabile ai dati numerici ma non ai dati booleani.

Alcuni allineatori e riduttori possono essere utilizzati anche per modificare esplicitamente tipo di metrica o il tipo di valore dei dati in una serie temporale. Alcuni, ad esempio ALIGN_COUNT, fallo come effetto collaterale.

  • Tipo di metrica: una metrica cumulativa è una metrica in cui ogni valore rappresenta il totale dall'inizio della raccolta dei valori. Non puoi usare metriche cumulative direttamente nei grafici, ma puoi anche metriche delta, in cui ogni valore rappresenta la variazione rispetto misurazione precedente.

    Puoi anche convertire le metriche cumulative e delta per misurare le metriche. Ad esempio, considera una metrica delta la cui serie temporale è la seguente:

    (ora di inizio, ora di fine] (minuti) valore (MiB)
    (0, 2] 8
    (2, 5] 6
    (6, 9] 9

    Supponi di aver selezionato un allineatore di ALIGN_DELTA e un allineamento di tre minuti. Poiché il periodo di allineamento non corrisponde (start time, end time] per ogni campione, viene creata una serie temporale con valori interpolati. Per questo esempio, la serie temporale interpolata è:

    (ora di inizio, ora di fine] (minuti) valore interpolato (MiB)
    (0, 1] 4
    (1, 2] 4
    (2, 3] 2
    (3, 4] 2
    (4, 5] 2
    (5, 6] 0
    (6, 7] 3
    (7, 8] 3
    (8, 9] 3

    Quindi, tutti i punti compresi nel periodo di allineamento di tre minuti vengono sommati per generare i valori allineati:

    (ora di inizio, ora di fine] (minuti) valore allineato (MiB)
    (0, 3] 10
    (3, 6] 4
    (6, 9] 9

    Se viene selezionato ALIGN_RATE, il processo è lo stesso, tranne per il fatto che i valori allineati vengono divisi per il periodo allineamento. Per questo Ad esempio, il periodo di allineamento è di tre minuti, quindi la serie temporale allineata ha i seguenti valori:

    (ora di inizio, ora di fine] (minuti) valore allineato (MiB / secondo)
    (0, 3] 0,056
    (3, 6] 0,022
    (6, 9] 0,050

    Per rappresentare su grafico una metrica cumulativa, è necessario convertirla in una metrica delta oppure una metrica relativa alle tariffe. Il processo per le metriche cumulative è simile alla nella discussione precedente. Puoi calcolare una serie temporale delta da una metrica di serie temporali calcolando la differenza di termini adiacenti.

  • Tipo di valore: alcuni allineatori e riduttori lasciano il tipo di valore dell'input dati non modificati; Ad esempio, i dati interi sono sempre dati interi dopo allineamento. Altri allineatori e riduttori convertono i dati di un tipo in un'altra, il che significa che le informazioni possono essere analizzate in modi appropriato per il tipo di valore originale.

    Ad esempio, il riduttore REDUCE_COUNT può essere applicata a dati numerici, booleani, stringa e di distribuzione, ma il risultato che produce è un numero intero a 64 bit che conta il numero di valori nel periodo in esame. REDUCE_COUNT può essere applicato solo a indicatore e delta metriche, senza modificare il tipo di metrica.

Le tabelle di riferimento per Aligner e Reducer indicano il tipo di dati per cui sono appropriati e qualsiasi conversione che consentono di analizzare i dati e visualizzare i risultati. Ad esempio, quanto segue mostra la voce per ALIGN_DELTA:

Voce di riferimento per allineatore delta