最小二乘法线性回归曲线拟合python
时间: 2023-11-26 16:48:56 浏览: 135
以下是使用最小二乘法进行线性回归曲线拟合的Python代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 读取数据
points = np.genfromtxt('data.csv', delimiter=',')
# 提取x和y
x = points[:, 0]
y = points[:, 1]
# 定义函数来计算a和b的值
def compute_coefficients(x, y):
n = len(x)
x_mean = np.mean(x)
y_mean = np.mean(y)
xy_mean = np.mean(x * y)
x_squared_mean = np.mean(x ** 2)
a = (xy_mean - x_mean * y_mean) / (x_squared_mean - x_mean ** 2)
b = y_mean - a * x_mean
return a, b
# 计算a和b的值
a, b = compute_coefficients(x, y)
# 画出原始数据散点图和拟合直线
plt.scatter(x, y)
plt.plot(x, a * x + b, color='r')
plt.show()
```
在这个示例中,我们首先使用`numpy`库中的`genfromtxt`函数从CSV文件中读取数据。然后,我们提取出x和y的值,并定义一个函数来计算最小二乘法的系数a和b。最后,我们使用`matplotlib`库来画出原始数据的散点图和拟合的直线。
阅读全文