最小二乘法数据拟合python
时间: 2024-09-30 16:01:20 浏览: 29
python最小二乘法三维坐标拟合平面-最小二乘法拟合平面
最小二乘法是一种常用的数据拟合方法,它试图找到一条直线或曲线,使得实际数据点到这条线的距离平方和(误差)最小。在Python中,我们可以利用`scipy.optimize`库中的`curve_fit`函数来进行这种拟合。
以下是一个简单的例子:
```python
from scipy.optimize import curve_fit
import numpy as np
# 假设我们有一个真实数据集 (x_data, y_data)
x_data = np.array([1, 2, 3, 4, 5])
y_data = np.array([2, 3, 4, 5, 6]) + 0.1 * np.random.randn(5) # 添加一些噪声
# 定义我们要拟合的模型,这里假设是个简单的线性模型 y = a*x + b
def linear_model(x, a, b):
return a * x + b
# 使用curve_fit求解最佳拟合参数a和b
params, _ = curve_fit(linear_model, x_data, y_data)
print(f"最优拟合参数:a={params[0]}, b={params[1]}")
# 现在你可以用这些参数来预测新的x值对应的y值
new_x = np.linspace(1, 5, 100)
predicted_y = linear_model(new_x, *params)
```
阅读全文