Cosa sono le serie temporali

Cosa sono le serie temporali

L'analisi delle serie temporali è un'importante tecnica di analisi dei dati esplorativa per l'apprendimento automatico che ci consente di vedere come i punti dati cambiano nel tempo. Diverse dichiarazioni problematiche basate sulle serie temporali, come previsioni di vendita dei biglietti, analisi dei prezzi delle azioni, ecc. Le serie temporali potrebbero mostrare una varietà di tendenze difficili da analizzare semplicemente guardando la trama. Di conseguenza, il clustering delle tendenze delle serie temporali è una buona idea. Vedremo cos'è una serie temporale, cos'è il clustering e come raggruppare i dati delle serie temporali.

Cosa sono le serie temporali?

Una serie temporale è una raccolta di puntatori di dati raggruppati in ordine di tempo. I punti dati rappresentano un'attività che si verifica per un periodo di tempo. Un esempio comune è il numero totale di azioni scambiate a un determinato intervallo di tempo, insieme ad altri parametri come i prezzi delle azioni e le rispettive informazioni commerciali ad ogni secondo. A differenza di una variabile a tempo continuo, questi punti dati delle serie temporali hanno valori discreti in vari momenti nel tempo. Di conseguenza, vengono spesso utilizzate variabili di dati discreti. I dati per una serie temporale possono essere raccolti per un certo periodo di tempo, da alcuni minuti a diversi anni. Il tempo su cui vengono raccolti i dati non ha un limite inferiore o superiore. Esistono vari problemi di previsione basati su serie temporali nell'apprendimento automatico e nell'apprendimento profondo come prevedere il prezzo delle azioni di un'azienda, il riconoscimento delle attività umane, la previsione della quantità di biglietti di volo, ecc. Questo risparmia un sacco di soldi e aiuta le aziende a prendere decisioni attente prima di investire in qualcosa. Il diagramma di esempio è indicato di seguito mostra la variazione delle osservazioni con il tempo.

Cosa è clustering?

Il clustering è un tipo di tecnica di apprendimento senza supervisione dell'apprendimento automatico. Le conclusioni sono acquisite da set di dati che non hanno etichettate variabili di output nel metodo di apprendimento non supervisionato. È un tipo di analisi dei dati esplorativi che ci consente di guardare set di dati multivariati.

Il clustering è l'apprendimento automatico o l'approccio matematico in cui i punti dati sono raggruppati in un numero specificato di cluster con caratteristiche simili tra i punti dati all'interno di ciascun cluster. I cluster sono costituiti da punti dati raggruppati insieme in modo che lo spazio tra loro sia ridotto al minimo. Il modo in cui vengono prodotti i cluster è determinato dal tipo di algoritmo che scegliamo. Poiché non esiste un criterio per un buon clustering, le conclusioni tratte dai set di dati dipendono anche da cosa e come l'utente sta sviluppando l'algoritmo di clustering. Il clustering può essere utilizzato per affrontare problemi come la segmentazione dei clienti, i sistemi di raccomandazione, il rilevamento di anomalie e così via. L'approccio a clustering K-mean, in cui non abbiamo etichette e dobbiamo posizionare ogni punto dati nel proprio cluster, può essere riconoscibile per te. Un approccio di clustering di spicco è K-Means. La figura seguente mostra come raggruppiamo diversi punti dati con le stesse funzionalità nello stesso cluster.

Cos'è il clustering delle serie temporali?

La tecnica di clustering delle serie temporali è un approccio di elaborazione dei dati senza supervisione per classificare i punti dati in base alla loro somiglianza. L'obiettivo è massimizzare la somiglianza dei dati tra i cluster minimizzandolo. Una tecnica di base nella scienza dei dati per l'identificazione dell'anomalia e la scoperta del pattern è il clustering delle serie temporali, che viene utilizzata come subroutine per altri algoritmi più complicati. Questa tecnica è particolarmente utile quando si analizza le tendenze in set di dati molto grandi delle serie temporali. Non possiamo differenziare le tendenze semplicemente guardando la trama delle serie temporali. Qui è dove puoi raggruppare le tendenze. Tendenze diverse saranno quindi raggruppate in cluster diversi.

Kernel K significa

La tecnica del kernel si riferisce alla trasformazione dei dati in un'altra dimensione con un bordo di separazione distinto tra gruppi di dati non linearmente separabili. La tecnica K-Means del kernel utilizza lo stesso trucco dei k-mei, tranne per il fatto che il metodo del kernel viene utilizzato per calcolare la distanza anziché la distanza euclidea. Se applicato all'algoritmo, l'approccio del kernel può trovare strutture non lineari ed è più adatto ai set di dati del mondo reale.

K significa clustering di serie temporali

Il metodo più frequente di clustering delle serie temporali è la media k. L'approccio comune è quello di appiattire i dati delle serie temporali in un array 2-D, con ogni colonna per ogni indice di tempo, quindi utilizzare algoritmi di clustering standard come K-Means per raggruppare i dati. Tuttavia, le misurazioni della distanza degli algoritmi di clustering tipici, come la distanza euclidea, sono spesso inappropriate per le serie temporali. Un modo preferibile è utilizzare una metrica per confrontare le tendenze delle serie temporali anziché la misura di distanza predefinita. Una delle tecniche più popolari utilizzate per questo è la deformazione del tempo dinamico.

Deformare il tempo dinamico

Anche se un segnale è spostato dal tempo dall'altro, la deformazione del tempo dinamico consente a un sistema di confrontare due segnali e cercare somiglianze. La sua capacità di verificare gli artefatti del parlato noto, indipendentemente dal tempo di parlare di oratore, lo rende utile anche per i problemi di riconoscimento vocale. Ad esempio, se ci sono due array: [1, 2, 3] e [4, 5, 6], il calcolo della distanza tra loro è facile in quanto puoi semplicemente fare sottrazioni a livello di elemento e aggiungere tutte le differenze. Tuttavia, non sarà facile una volta che la dimensione degli array è diversa. Possiamo considerare questi array come la sequenza di segnali. Il componente "dinamico" suggerisce che la sequenza del segnale può essere spostata avanti e indietro per cercare una corrispondenza senza accelerare o rallentare l'intera sequenza. Se la deformazione del tempo si allunga o si riduce a un elastico, DTW si estende o riduce quell'elastico per adattarsi ai contorni di una superficie. Di seguito è riportata la rappresentazione visiva di DTW.

Passaggi per la deformazione del tempo dinamico

  1. Fare un numero uguale di punti in ciascuna delle due serie.
  2. Usando la formula della distanza euclidea, calcola la distanza tra il primo punto della prima serie e ogni punto della seconda serie. Salva la distanza minima calcolata.
  3. Passa al secondo punto e ripeti 2. Vai passo dopo passo insieme ai punti e ripeti due fino a quando tutti i punti sono completati.
  4. Prendi la seconda serie come punto di riferimento e ripeti 2 e 3.
  5. Aggiungi tutte le distanze minime immagazzinate per una vera stima della somiglianza tra le due serie.

Implementazione di DTW in Python

da Fastdtw Import Fastdtw
da Scipy.spaziale.Importazione a distanza Euclideo
sig1 = np.Array ([1, 2, 3, 4])
sig2 = np.Array ([1, 2, 2, 4, 4, 5])
Distanza, Path = FastDtw (Sig1, Sig2, Dist = Euclidean)
Stampa (distanza)
Stampa (percorso)

Casi d'uso di clustering di serie temporali

  1. Utilizzato nel rilevamento di anomalie per tenere traccia delle tendenze non comuni in serie.
  2. Usato nel riconoscimento vocale.
  3. Utilizzato nel rilevamento del valore anomalo.
  4. Utilizzato nelle applicazioni biologiche, incluso il riconoscimento del DNA.

Conclusione

Questo articolo ha esaminato la definizione di serie temporali, clustering e combinando le tendenze delle serie temporali per cluster. Abbiamo attraversato un metodo popolare per questo chiamato Dynamic Time Warping (DTW) e i processi e l'implementazione coinvolti nell'uso.