Autocorrélation NumPy

Vaibhav Vaibhav 20 juin 2021
Autocorrélation NumPy

En science des données, les variables d’un ensemble de données peuvent être liées les unes aux autres d’une manière ou d’une autre. La relation peut être directement proportionnelle ou indirectement proportionnelle. Un simple changement dans une variable peut changer une variable légèrement ou peut-être de façon drastique. Ce phénomène est connu sous le nom de corrélation.

L’autocorrélation fait référence à une corrélation entre un ensemble de signaux horaires et une version obsolète ou ancienne de lui-même. Les deux ensembles de signaux horaires ont une certaine différence de temps entre eux.

Calculer l’autocorrélation dans NumPy

La robuste bibliothèque de science des données, NumPy, a une fonction intégrée, correlate(), qui peut être utilisée pour trouver une corrélation entre deux séquences 1D. Il accepte deux tableaux 1D et un type de mode.

Le type de mode peut être valid, same, et full, et ce paramètre est facultatif. La valeur par défaut de ce paramètre est valid.

Pour en savoir plus sur cette fonction, consultez les documents officiels

import numpy

myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
myArray = numpy.array(myArray)
result = numpy.correlate(myArray, myArray, mode="full")
result = result[result.size // 2 :]
print(result)

Production:

[385 330 276 224 175 130  90  56  29  10]

Dans le code ci-dessus, nous définissons d’abord une liste de nombres puis la convertissons en un tableau NumPy en utilisant la méthode array() de NumPy. Ensuite, nous appelons notre méthode d’intérêt correlate() pour calculer l’autocorrélation de nos données. Nous utilisons le mode full pour les calculs.

Les résultats sont stockés dans une variable result puis découpés en tranches. La partie tranchage est cruciale puisque la méthode correlate() retourne un tableau de taille 2 * longueur de notre tableau - 1, et les valeurs de notre intérêt se situent dans la seconde moitié, c’est-à-dire [(result.size // 2), result.size).

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.