Exponentielle und logarithmische Kurvenanpassung in Python durchführen

Lakshay Kapoor 30 Januar 2023
  1. Bibliotheken und Module für die logarithmische und exponentielle Kurvenanpassung in Python
  2. Die logarithmische Kurvenanpassung
  3. Die Exponentialkurvenanpassung
Exponentielle und logarithmische Kurvenanpassung in Python durchführen

Die Kurvenanpassung ist ein sehr effizientes Werkzeug, das in großem Umfang für die Analyse verwendet wird. Die Kurvenanpassungsmethode untersucht die Beziehung zwischen unabhängigen Variablen, die auch als Prädiktoren bekannt sind, und abhängigen Variablen, die als Antwortvariablen bekannt sind. Diese Methode zielt darauf ab, das am besten geeignete Modell für eine bestimmte Anzahl von Datenpunkten bereitzustellen.

Es gibt zwei Arten der Kurvenanpassung:

  • Logarithmische Kurvenanpassung
  • Exponentielle Kurvenanpassung

In diesem Tutorial zeigen wir Ihnen Methoden zur logarithmischen Kurvenanpassung und exponentiellen Kurvenanpassung in Python.

Bibliotheken und Module für die logarithmische und exponentielle Kurvenanpassung in Python

Lassen Sie uns die möglichen Bibliotheken und Module besprechen, die Sie zum Ausführen von Programmen verwenden können.

Die NumPy-Bibliothek

Folgende Funktionen werden wir aus der Bibliothek NumPy verwenden.

  • array() - Diese Funktion wird verwendet, um ein NumPy-Array zu erstellen, das eine Menge von Werten des gleichen Typs ist und einen Indexwert in Form von Tupeln hat.
  • log() - Diese Funktion ist eher eine mathematische Operation, die hilft, den natürlichen Logarithmus einer Zahl zu berechnen. Diese Zahl ist ein Teil der Elemente des Eingabearrays.
  • exp() - Diese Funktion ist auch eine mathematische Operation, die verwendet wird, um die Exponentialfunktion von Elementen zu berechnen, die in einem Eingabe-Array NumPy vorhanden sind.
  • polyfit() - Diese Funktion hilft bei der Anpassung von Daten in eine Polynomfunktion. Es quadriert eine Polynomanpassung.

Die Matplotlib-Bibliothek

Die Bibliothek Matplotlib wird hauptsächlich zum Plotten in Python verwendet. Diese Bibliothek wird im Allgemeinen zum Erstellen von Visualisierungen in Python verwendet. In diesem Tutorial wird ein Modul aus dieser Bibliothek verwendet, das als pyplot-Modul bekannt ist.

Das Modul pyplot der Bibliothek Matplotlib ist ein Open-Source-Modul, das dazu beiträgt, dass die Bibliothek Matplotlib wie MATLAB funktioniert. Dieses Modul verfügt über viele Funktionen, die uns helfen, Operationen wie das Erstellen eines Plotbereichs, das Erstellen von Beschriftungen auf einem Plot und mehr durchzuführen.

Die logarithmische Kurvenanpassung

Wie der Name schon sagt, wird hier die logarithmische Gleichung aufgetragen. Lassen Sie uns direkt in den Code springen, der die logarithmische Kurvenanpassung in Python durchführt.

import numpy as np

x = np.array([5, 10, 15, 20, 25])
y = np.array([3, 6, 9, 12, 15])

log_x = np.log(x)
log_y = np.log(y)

coefficients = np.polyfit(log_x, y, 1)
print(coefficients)

Ausgabe:

[ 7.2647162  -9.64806344]

Befolgen Sie zum Plotten dieses Programm.

import matplotlib.pyplot as plt

c = 7.26 * log_x - 9.64
plt.plot(log_x, y, "o")
plt.plot(log_x, c)

Ausgabe:

logarithmische Kurve in Python

Im obigen Programm importieren wir zunächst die notwendigen Bibliotheken. Danach erstellen wir zwei NumPy-Arrays als unsere Primärdaten. Dann berechnen wir die logarithmischen Werte der Elemente in beiden Arrays. Wir verwenden die Funktion polyfit() für beide logarithmischen Werte der Arrays x und y. Mit der Funktion polyfit() werden die Koeffizienten für die logarithmische Gleichung zurückgegeben.

  • Nachdem wir die Koeffizienten erhalten haben, verwenden wir diese Koeffizienten auf der logarithmischen Gleichung zum Zeichnen der Kurve.
  • Schließlich zeichnen wir den Graphen mit der Funktion plot() des Moduls pyplot der Bibliothek Matplotlib.

Die Exponentialkurvenanpassung

Wie der Name schon sagt, wird hier die Exponentialgleichung aufgetragen. Lassen Sie uns direkt in den Code springen, der die exponentielle Kurvenanpassung in Python durchführt.

import numpy as np

a = np.array([6, 12, 18, 24, 30])
b = np.array([4, 8, 12, 16, 20])

log_a = np.log(a)
log_b = np.log(b)

coefficients = np.polyfit(a, log_b, 1)
print(coefficients)

Ausgabe:

[0.06520038 1.17018581]

Zum Plotten ist hier ein Code-Snippet, dem Sie folgen können.

c = np.exp(1.17) * np.exp(0.06 * a)
plt.plot(a, b, "o")
plt.plot(a, c)

Ausgabe:

Exponentialkurve in Python

Es wird wie bei der logarithmischen Kurvenanpassung vorgegangen. Aber hier wird die Exponentialfunktion anstelle der logarithmischen Funktion verwendet. Die von der Funktion polyfit() zurückgegebenen Koeffizienten werden also in der Exponentialfunktionsgleichung übergeben.

Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

Verwandter Artikel - Python Math