一、介绍
StatsModels 等数据处理、分析等 Python 库中,最具统计学思维方式的莫过于 StatModels 了。其中的线性回归分析正是一个很好的例子。本文就来详细讲解如何使用 StatsModels 进行线性回归分析。
二、实战演示
1. 导入相关库
我们需要导入的库有:
import numpy as np
import statsmodels.api as sm
import statsmodels.formula.api as smf
import pandas as pd
2. 创建数据集
创建一个变量为 y,另一个为 x 的数据集,跑一个线性回归。
n = 100
x = np.linspace(-np.pi, np.pi, n)
e = np.random.normal(size=n)
y = np.sin(x) + e
3. 数据可视化
使用 python 的 matplotlib
库对数据堆成一个可视化的图形。
import matplotlib.pyplot as plt
plt.plot(y)
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.show()
4. 线性回归
我们用线性模型拟合上述数据的正弦函数。
X = sm.add_constant(x)
model = sm.OLS(y, X)
de_fitted = model.fit()
5. 模型结果
查看刚刚创建的线性回归模型的结果,并在图像上进行可视化。
print(de_fitted.summary())
plt.plot(y)
plt.plot(de_fitted.fittedvalues)
plt.legend(['Original', 'Fitted'])
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.show()
在结果输出中,我们可以查看到数据集的样本量、自变量和因变量的系数、拟合的优度等指标。在图像中,我们可以看到真实的原始值和模型估计的值都被可视化地呈现出来了。
三、总结
本文以实际应用为出发点,为大家详细的讲述了 StatsModels 统计建模库的线性回归示例,以及如何使用这个库来进行线性回归分析。该示例展示了如何使用这些库解决实际问题,并深入讲解了其中的各种函数的使用,在实际的应用中也可以参考此手册。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python数学建模StatsModels统计回归之线性回归示例详解 - Python技术站