文章目录
这是Python.statsmodels系列文章的第二篇,为了让大家快速入门,理解statsmodels工作的整个过程,我找到了一个很好的例子,在这里介绍给大家。下面我们来一步步介绍这个例子。
- 引入相关模块,pandas主要用到了他的DataFrame,sm用到了回归分析,patsy.dmatrices用于生成design matrix
- 先获取数据,本例子用到的数据保存在网上的csv文件,我们可以使用pandas.read_csv方便的读取数据(url=’http://vincentarelbundock.github.com/Rdatasets/csv/HistData/Guerry.csv')
- 查看一下数据的前五行,有很多列,显示有点混乱
- 下面筛选出我们需要的列:
这是最后得到的数据:
- 由于最后一行有NaN值,所以需要使用dropna删除该行数据
- 生成design matrix,我们建立的模型是y=BX,因此需要分别求得y和X矩阵,而dmatrices就是干这个的
这是y
这是X矩阵:我们会发现分类变量自动的转换成了哑变量
- OLS指的是一般最小二乘,fit方法对回归方程进行估计,summary保存着计算的结果
这是输出的模型的估计结果:
- 现在我们要进一步检验数据是不是适合使用OLS,我们暂且先检验一下数据是否为线性,虚无假设是线性的,采用Rainbow test
输出结果为:第一个为F值,第二个为P值,显然未能拒绝虚无假设
- 接着,我们绘制偏回归线观察数据点是否分布在估计得到的直线的附近(图为控制了Rgion和Literacy后wealth对lottery的回归关系)
转载请注明来自DataScience.
邮箱: 675495787@qq.com