python ols拟合后画拟合图
时间: 2024-10-14 17:09:14 浏览: 35
在Python中,当你使用OLS(普通最小二乘法 Ordinary Least Squares)进行线性回归之后,通常会通过matplotlib库来画出残差图和预测图。以下是基本步骤:
1. **残差图**:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.formula.api import ols
# 假设data是包含因变量y和自变量x的DataFrame
ols_result = ols('y ~ x', data).fit()
# 计算残差
residuals = ols_result.resid
# 创建散点图,横坐标为预测值,纵坐标为残差
plt.scatter(ols_result.predict(), residuals, label='Residuals')
plt.axhline(y=0, color='black', linestyle='dashed')
plt.xlabel('Predicted Values')
plt.ylabel('Residuals')
plt.legend()
```
2. **预测图**:
```python
# 画出预测值与实际值的关系
plt.figure()
plt.scatter(data['x'], data['y'], label='Observed Data')
plt.plot(data['x'], ols_result.fittedvalues, 'r-', label='Fitted Line')
plt.xlabel('Feature')
plt.ylabel('Target')
plt.title('Prediction Plot')
plt.legend()
```
这两个图表能帮助你评估模型的拟合质量、残差分布是否均匀以及是否存在多重共线性等问题。
阅读全文