python过原点的线性拟合OLS
时间: 2023-06-13 11:02:20 浏览: 542
python如何实现数据的线性拟合
在Python中进行OLS(Ordinary Least Squares)线性回归可以使用StatsModels库。以下是一个例子:
首先,我们需要创建一些假数据来拟合:
```python
import numpy as np
x = np.array([-3, -2, -1, 0, 1, 2, 3])
y = np.array([-9, -4, -1, 0, 1, 4, 9])
```
接下来,我们需要添加一列常数,以便模型可以捕获截距:
```python
X = np.column_stack((x, np.ones_like(x)))
```
然后,我们可以使用StatsModels中的OLS类拟合模型:
```python
import statsmodels.api as sm
model = sm.OLS(y, X)
results = model.fit()
```
最后,我们可以查看拟合结果:
```python
print(results.summary())
```
这将输出拟合模型的详细摘要,包括拟合系数和拟合优度等信息。
如果要绘制原始数据和拟合线,可以使用以下代码:
```python
import matplotlib.pyplot as plt
plt.scatter(x, y)
plt.plot(x, results.predict(), color='red')
plt.show()
```
这将显示原始数据点和拟合的直线。
阅读全文