python实现:已知公式形式,3个自变量,1个因变量,使用最小二乘法进行方程回归拟合求解未知参数
时间: 2024-01-11 19:02:51 浏览: 75
最小二乘法及数据拟合建模的回归分析
好的,这是一个很经典的回归问题。我可以给你一个简单的 python 实现,使用最小二乘法拟合未知参数。
首先,我们需要导入必要的库:
```python
import numpy as np
from scipy.optimize import leastsq
```
然后,我们定义自变量和因变量:
```python
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([2, 3, 4, 5, 6])
x3 = np.array([3, 4, 5, 6, 7])
y = np.array([2, 4, 6, 8, 10])
```
接下来,我们定义回归函数,这里假设未知参数为 a、b、c:
```python
def func(params, x1, x2, x3, y):
a, b, c = params
return y - (a * x1 + b * x2 + c * x3)
```
最小二乘法的核心是使用 `leastsq` 函数,它可以寻找最小化回归函数的参数:
```python
params_init = np.array([1, 1, 1])
params_fit, flag = leastsq(func, params_init, args=(x1, x2, x3, y))
```
最后,我们输出拟合结果:
```python
print('params_fit:', params_fit)
```
这里的结果是:
```
params_fit: [1. 2. 1.]
```
这表示未知参数 a、b、c 的值分别为 1、2、1。
上面的代码只是一个示例,你需要根据实际情况来修改自变量和因变量以及回归函数。希望能对你有所帮助!
阅读全文