Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Kurvenanpassung und Kleinste Quadrate | Optimierung und Nullstellensuche
Einführung in SciPy

Kurvenanpassung und Kleinste Quadrate

Swipe um das Menü anzuzeigen

Kurvenanpassung ist ein grundlegendes Werkzeug in der Datenanalyse, das es ermöglicht, die Beziehung zwischen Variablen zu modellieren, indem eine mathematische Funktion an beobachtete Datenpunkte angepasst wird. Durch die Identifikation der Kurve, die die Daten am besten repräsentiert, können Vorhersagen getroffen, zugrunde liegende Trends erkannt und Beziehungen quantifiziert werden. Kurvenanpassung wird häufig in der wissenschaftlichen Forschung, im Ingenieurwesen und in der Wirtschaft eingesetzt, beispielsweise zur Kalibrierung von Messgeräten, zur Modellierung experimenteller Daten und zur Prognose.

12345678910111213141516171819202122232425
import numpy as np from scipy.optimize import curve_fit import matplotlib.pyplot as plt # Generate synthetic data with noise def model_func(x, a, b, c): return a * np.exp(-b * x) + c np.random.seed(0) x_data = np.linspace(0, 4, 50) y_data = model_func(x_data, 2.5, 1.3, 0.5) + 0.2 * np.random.normal(size=x_data.size) # Fit the model to the data popt, pcov = curve_fit(model_func, x_data, y_data) # Plot the data and the fitted curve plt.scatter(x_data, y_data, label="Data") plt.plot(x_data, model_func(x_data, *popt), color="red", label="Fitted Curve") plt.legend() plt.xlabel("x") plt.ylabel("y") plt.title("Curve Fitting with curve_fit") plt.show() print("Fitted parameters:", popt)
123456789101112131415161718192021222324252627282930313233
import numpy as np from scipy.optimize import least_squares import matplotlib.pyplot as plt # Generate synthetic data def true_func(x): return 3 * x**2 + 2 * x + 1 np.random.seed(1) x = np.linspace(-3, 3, 30) y = true_func(x) + np.random.normal(scale=2, size=x.size) # Define the residuals function for least_squares def residuals(params, x, y): a, b, c = params return a * x**2 + b * x + c - y # Initial guess for parameters initial_guess = [1, 1, 1] result = least_squares(residuals, initial_guess, args=(x, y)) a_fit, b_fit, c_fit = result.x # Plot the results plt.scatter(x, y, label="Data") plt.plot(x, true_func(x), label="True Function", linestyle="dashed") plt.plot(x, a_fit * x**2 + b_fit * x + c_fit, color="red", label="Least Squares Fit") plt.legend() plt.xlabel("x") plt.ylabel("y") plt.title("Least Squares Fitting with least_squares") plt.show() print("Estimated parameters:", a_fit, b_fit, c_fit)

Nach der Anpassung eines Modells an Ihre Daten erhalten Sie Parameterschätzungen, die die zugrunde liegende Beziehung gemäß der gewählten Funktion am besten beschreiben. Diese angepassten Parameter können im Kontext Ihres Modells interpretiert werden; zum Beispiel die Koeffizienten in einem Polynom oder die Rate in einem exponentiellen Zerfall. Die Qualität der Anpassung kann durch die Untersuchung der Residuen (Differenzen zwischen beobachteten und vorhergesagten Werten), die Visualisierung der Anpassung und die Berechnung statistischer Kennzahlen wie der Summe der quadrierten Residuen oder dem Bestimmtheitsmaß () bewertet werden. Das Verständnis der Bedeutung dieser Parameterschätzungen und ihrer Unsicherheiten ist entscheidend, um zuverlässige Schlussfolgerungen aus Ihrer Analyse zu ziehen.

1. Welche Funktion wird in SciPy für die Kurvenanpassung verwendet?

2. Was minimiert die Methode der kleinsten Quadrate?

3. Wie kann die Qualität einer Kurvenanpassung beurteilt werden?

question mark

Welche Funktion wird in SciPy für die Kurvenanpassung verwendet?

Wählen Sie die richtige Antwort aus

question mark

Was minimiert die Methode der kleinsten Quadrate?

Wählen Sie die richtige Antwort aus

question mark

Wie kann die Qualität einer Kurvenanpassung beurteilt werden?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 3. Kapitel 3
some-alt