Kurvenanpassung: Jenseits von Polynomen in Python
Bei der Analyse von Daten ist es oft notwendig, den besten mathematischen Ausdruck zu bestimmen, um die Beziehung zwischen Variablen zu beschreiben . Während Polynomanpassung eine häufige Wahl ist, können auch exponentielle und logarithmische Kurven wertvolle Erkenntnisse liefern.
Exponentielle und logarithmische Anpassung ohne vorhandene Funktionen durchführen
Obwohl dedizierte Funktionen fehlen Für die exponentielle und logarithmische Anpassung in der Standardbibliothek von Python gibt es Möglichkeiten, diese Aufgabe mithilfe von Transformationen zu erfüllen.
Logarithmische Kurvenanpassung (y = A B log x)
Zur Anpassung Um eine logarithmische Kurve zu erhalten, zeichnen Sie einfach y gegen (log x) auf. Die resultierenden Koeffizienten aus der linearen Regression ergeben die Parameter der logarithmischen Gleichung (y ≈ A B log x).
Exponentielle Kurvenanpassung (y = Ae^Bx)
Das Anpassen einer Exponentialkurve ist etwas aufwändiger. Nehmen Sie den Logarithmus beider Seiten der Gleichung (log y = log A Bx) und zeichnen Sie (log y) gegen x auf. Die resultierenden linearen Regressionskoeffizienten liefern die Parameter für die Exponentialgleichung (y ≈ Ae^Bx).
Hinweis zur Verzerrung in gewichteten kleinsten Quadraten:
Beim Anpassen von Exponentialkurven , ist es wichtig zu berücksichtigen, dass die Standardmethode der gewichteten kleinsten Quadrate von Polyfit die Ergebnisse in Richtung kleiner Werte von y verzerren kann. Um dies zu mildern, geben Sie mit dem Schlüsselwortargument w Gewichtungen an, die proportional zu y sind.
Verwendung von Scipys Curve_Fit für Flexibilität
Scipys Funktion „curve_fit“ bietet einen vielseitigeren Ansatz zur Kurvenanpassung. So können Sie jedes Modell ohne Transformationen angeben.
Logarithmische Kurvenanpassung mit Scipy:
Curve_fit liefert identische Ergebnisse wie die Transformationsmethode für das logarithmische Kurvenmodell.
Exponentielle Kurvenanpassung mit Scipy:
Für die exponentielle Kurvenanpassung bietet Curve_fit eine genauere Anpassung durch direkte Berechnung von Δ(log y). Allerdings ist eine anfängliche Schätzung erforderlich, um das gewünschte lokale Minimum zu erreichen.
Das obige ist der detaillierte Inhalt vonWie können Sie exponentielle und logarithmische Kurven in Python ohne integrierte Funktionen anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!