最小二乘数据拟合例题python
最小二乘数据拟合是一种常用的数据拟合方法,可以通过最小化观测数据与拟合曲线之间的残差平方和来到最优的拟合曲线。在Python中,可以使用NumPy和SciPy库来进行最小二乘数据拟合。
下面是一个最小二乘数据拟合的例子,以拟合线性函数为例:
首先,我们需要导入必要的库:
```python
import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
```
接下来,我们定义一个线性函数,用于拟合数据:
```python
def linear_func(x, a, b):
return a * x + b
```
然后,我们生成一组模拟数据:
```python
x_data = np.linspace(0, 10, 100) # 生成0到10之间的100个数据点
y_data = 2 * x_data + 1 + al(0, 1, 100) # 生成对应的y值,并加入一些噪声
```
接下来,使用curve_fit函数进行最小二乘拟合:
```python
params, params_covariance = curve_fit(linear_func, x_data, y_data)
```
最后,我们可以打印出拟合的参数值,并绘制原始数据和拟合曲线:
```python
print("拟合参数:a = %f, b = %f" % (params[0], params[1]))
# 绘制原始数据和拟合曲线
plt.scatter(x_data, y_data, label='Data')
plt.plot(x_data, linear_func(x_data, params[0], params[1]), 'r', label='Fit')
plt.legend()
plt.show()
```
在上述代码中,我们使用了 NumPy 的 linspace 函数生成了 0 到 10 之间的 100 个数据点作为 x 值,然后使用线性函数生成相应的 y 值,并加入了一些随机噪声。然后,我们使用 curve_fit 函数拟合了这组数据,并获取到了最优拟合参数。最后,我们打印出拟合得到的参数值,并绘制了原始数据和拟合曲线。
正则化的最小二乘法曲线拟合python
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论