NumPy Autokorrelation

Vaibhav Vaibhav 20 Juni 2021
NumPy Autokorrelation

In der Datenwissenschaft können Variablen eines Datensatzes auf die eine oder andere Weise miteinander in Beziehung gesetzt werden. Die Beziehung könnte direkt proportional oder indirekt proportional sein. Eine einfache Änderung in einer Variablen kann eine Variable geringfügig oder möglicherweise drastisch ändern. Dieses Phänomen ist als Korrelation bekannt.

Autokorrelation bezieht sich auf eine Korrelation zwischen einer Reihe von Zeitsignalen mit einer veralteten oder alten Version von sich. Die beiden Sätze von Zeitsignalen weisen einen gewissen Zeitunterschied zwischen ihnen auf.

Berechnen der Autokorrelation in NumPy

Die robuste datenwissenschaftliche Bibliothek NumPy verfügt über die integrierte Funktion correlate(), mit der eine Korrelation zwischen zwei 1D-Sequenzen gefunden werden kann. Es akzeptiert zwei 1D-Arrays und einen Modus-Typ.

Der Modustyp kann valid, same und full sein, und dieser Parameter ist optional. Der Standardwert für diesen Parameter ist valid.

Weitere Informationen zu dieser Funktion finden Sie in den offiziellen Dokumenten

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)

Ausgabe:

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

Im obigen Code definieren wir zuerst eine Liste von Zahlen und konvertieren sie dann mit der Methode array() von NumPy in ein NumPy-Array. Dann nennen wir unsere interessierende Methode corrate(), um die Autokorrelation unserer Daten zu berechnen. Für die Berechnungen verwenden wir den Modus full.

Die Ergebnisse werden in einer Variable result gespeichert und dann in Scheiben geschnitten. Der Slicing-Teil ist entscheidend, da die Methode corrate() ein Array der Größe 2 * Länge unseres Arrays - 1 zurückgibt und die Werte unseres Interesses in der zweiten Hälfte liegen, dh [(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.