用python做多元线性回归后,如何画出回归线和预测图?回归线是什么?预测图是什么?它们的x,y坐标代表什么意思
时间: 2024-02-17 12:02:39 浏览: 146
多元线性回归是一种常用的统计学方法,用于分析多个自变量与一个因变量之间的关系。在 Python 中,可以使用 scikit-learn 库进行多元线性回归的建模,然后使用 matplotlib 库画出回归线和预测图。
回归线是指用多元线性回归模型得到的一条直线,它描述了自变量和因变量之间的线性关系。在回归线图中,横坐标通常表示实际的因变量值,纵坐标表示预测的因变量值。回归线可以帮助我们了解自变量和因变量之间的关系,以及预测因变量的值。
预测图是指用多元线性回归模型得到的预测值与实际值之间的比较图。在预测图中,横坐标表示实际的因变量值,纵坐标表示预测的因变量值。预测图可以帮助我们评估多元线性回归模型的预测能力。
下面是用 Python 画出回归线和预测图的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
# 创建模拟数据
np.random.seed(0)
n_samples = 100
X = np.random.randn(n_samples, 3)
y = X.dot(np.array([1, 2, 3])) + np.random.randn(n_samples) * 0.5
# 建立多元线性回归模型
model = LinearRegression()
model.fit(X, y)
y_pred = model.predict(X)
# 画出回归线
plt.scatter(y, y_pred)
plt.plot([y.min(), y.max()], [y.min(), y.max()], '--r', linewidth=2)
plt.xlabel('Actual Y')
plt.ylabel('Predicted Y')
plt.show()
# 画出预测图
plt.scatter(y, y_pred - y)
plt.xlabel('Actual Y')
plt.ylabel('Residuals')
plt.show()
```
在上面的代码中,我们首先使用 numpy 库生成了一个有三个自变量和一个因变量的模拟数据集。然后,使用 scikit-learn 库的 LinearRegression 类建立多元线性回归模型,得到预测值 y_pred。最后,使用 matplotlib 库画出回归线和预测图。
在回归线图中,横坐标表示实际的因变量值 y,纵坐标表示预测的因变量值 y_pred。我们可以看到,回归线近似于一条直线,说明自变量和因变量之间存在线性关系。在预测图中,横坐标表示实际的因变量值 y,纵坐标表示预测值与实际值之间的残差。我们可以看到,残差大致呈正态分布,这说明多元线性回归模型的预测能力较好。
阅读全文