加权最小二乘法python
时间: 2023-09-07 12:14:34 浏览: 279
最小二乘法python版本
加权最小二乘法是一种回归分析的方法,它可以用来拟合带有权重的数据。在Python中,可以使用NumPy和SciPy等库来实现加权最小二乘法。
以下是一个简单的示例代码,用于拟合一个二次多项式模型:
```python
import numpy as np
from scipy.optimize import curve_fit
# 定义二次多项式函数
def func(x, a, b, c):
return a * x**2 + b * x + c
# 加载数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2.1, 3.9, 8.2, 16.5, 28.3])
w = np.array([1, 1, 2, 4, 8]) # 每个数据点的权重
# 使用curve_fit函数进行拟合
popt, pcov = curve_fit(func, x, y, sigma=1/w, absolute_sigma=True)
# 输出拟合结果
print("Coefficients:", popt)
print("Covariance matrix:", pcov)
```
在上面的示例中,我们首先定义了一个二次多项式函数`func`,然后加载了一组带有权重的数据。接下来,我们使用`curve_fit`函数对数据进行拟合,其中`sigma`参数指定每个数据点的权重,`absolute_sigma=True`表示使用绝对误差。
最后,我们输出了拟合结果,包括拟合系数和协方差矩阵。
阅读全文