响应面最小二乘法拟合的代码
时间: 2024-05-13 12:11:56 浏览: 190
简单的最小二乘拟合代码
响应面最小二乘法拟合是一种常用的回归分析方法,它可以通过对响应变量和自变量之间的函数关系进行建模来预测响应变量的值。下面是一个Python实现的响应面最小二乘法拟合的示例代码:
```python
import numpy as np
from scipy.optimize import leastsq
# 自变量
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([1, 1, 2, 2, 3])
# 响应变量
y = np.array([5.2, 6.7, 6.9, 8.8, 9.0])
# 建立响应面模型
def response_surface(params, x1, x2):
a0, a1, a2, a3 = params
return a0 + a1*x1 + a2*x2 + a3*x1*x2
# 定义误差函数
def error_func(params, x1, x2, y):
return response_surface(params, x1, x2) - y
# 初始参数猜测值
params0 = [1, 1, 1, 1]
# 最小二乘法拟合
params_fit = leastsq(error_func, params0, args=(x1, x2, y))
# 输出拟合结果
print('响应面模型:y = {:.2f} + {:.2f}*x1 + {:.2f}*x2 + {:.2f}*x1*x2'.format(*params_fit))
```
阅读全文