可以画图的最小二乘法python代码
时间: 2024-09-08 22:04:20 浏览: 70
在Python中,我们可以使用matplotlib库来配合最小二乘法进行数据拟合并绘制图表。下面是一个简单的例子,展示如何通过最小二乘法拟合线性回归模型,并绘制直线:
```python
import numpy as np
import matplotlib.pyplot as plt
# 假设我们有数据点 (x, y)
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 4, 5, 6]) # 线性关系的数据,比如y = x + 1
# 创建一个线性模型,拟合数据
def linear_regression(x, y):
m = ((np.mean(x) * np.mean(y)) - np.mean(x*y)) / (np.mean(x)**2 - np.mean(x**2))
b = np.mean(y) - m * np.mean(x)
return m, b
m, b = linear_regression(x, y)
# 使用拟合后的斜率和截距画出拟合直线
line_x = np.linspace(min(x), max(x), 100)
line_y = m * line_x + b
plt.figure()
plt.scatter(x, y, color='blue', label='Data Points')
plt.plot(line_x, line_y, color='red', label=f'Fitted Line (slope={m:.2f}, intercept={b:.2f})')
plt.legend()
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Linear Regression with Least Squares Method')
plt.show()
阅读全文