Käyrän Sovitus ja Pienimmät Neliöt
Pyyhkäise näyttääksesi valikon
Käyrän sovitus on keskeinen työkalu data-analyysissä, jonka avulla voidaan mallintaa muuttujien välistä suhdetta sovittamalla matemaattinen funktio havaittuihin datapisteisiin. Tunnistamalla käyrä, joka parhaiten kuvaa dataasi, voit tehdä ennusteita, ymmärtää taustalla olevia trendejä ja kvantifioida riippuvuuksia. Käyrän sovitusta käytetään laajasti tieteellisessä tutkimuksessa, tekniikassa ja taloustieteissä esimerkiksi laitteiden kalibroinnissa, kokeellisen datan mallintamisessa ja ennustamisessa.
12345678910111213141516171819202122232425import 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)
123456789101112131415161718192021222324252627282930313233import 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)
Kun olet sovittanut mallin dataasi, saat parametrien arviot, jotka parhaiten kuvaavat taustalla olevaa riippuvuutta valitun funktion mukaisesti. Näitä sovitettuja parametreja voidaan tulkita mallin kontekstissa; esimerkiksi kertoimina polynomissa tai eksponentiaalisen hajoamisen nopeutena. Sovituksen laatua voidaan arvioida tarkastelemalla jäännöksiä (havaittujen ja ennustettujen arvojen erot), visualisoimalla sovitusta sekä laskemalla tilastollisia mittareita, kuten jäännösten neliösumman tai selityskertoimen (R²). Näiden parametrien arvioiden ja niiden epävarmuuksien ymmärtäminen on olennaista luotettavien johtopäätösten tekemiseksi analyysistäsi.
1. Mitä funktiota käytetään käyränsovitukseen SciPyssä?
2. Mitä pienimmän neliösumman sovitus minimoi?
3. Miten voit arvioida käyrän sovituksen laatua?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme