Statsmodels:[2]快速入门
这是Python.statsmodels系列文章的第二篇,为了让大家快速入门,理解statsmodels工作的整个过程,我找到了一个很好的例子,在这里介绍给大家。下面我们来一步步介绍这个例子。
引入相关模块,pandas主要用到了他的DataFrame,sm用到了回归分析,patsy.dmatrices用于生成design matrix
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/ff5c88d818196120a3bc3fda70f202b374d7dfc4.jpg)
先获取数据,本例子用到的数据保存在网上的csv文件,我们可以使用pandas.read_csv方便的读取数据(url='http://vincentarelbundock.github.com/Rdatasets/csv/HistData/Guerry.csv')
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/0d2fe5f202b375d7900a8840515872dadf49d8c4.jpg)
查看一下数据的前五行,有很多列,显示有点混乱
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/739bc049610f8b56bd751ddc9ce951e10ff8d3c4.jpg)
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/50a010f85856d53dbf55eb5d47d2bb665059cac4.jpg)
下面筛选出我们需要的列:
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/50189b40102a04e221d309f62b7aa010bd33c2c4.jpg)
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/bd72f23834bb19ef852e3fa0497bd28287893ac5.jpg)
由于最后一行有NaN值,所以需要使用dropna删除该行数据
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/b6f0f0f97fbd4c7c05c20ff5b8bad341027d30c5.jpg)
生成design matrix,我们建立的模型是y=BX,因此需要分别求得y和X矩阵,而dmatrices就是干这个的
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/e076d77622bc7dc5f51618eb5e460596b91429c5.jpg)
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/04d7a614f4d0b50389a3754acc4ec28332bf20c5.jpg)
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/47bf594ec28333bf7d9e06fbdbb8b43ea9db1dc5.jpg)
OLS指的是一般最小二乘,fit方法对回归方程进行估计,summary保存着计算的结果
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/340e4eb8b43ea8db1c3bc986189c2cf7deb216c5.jpg)
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/fb738d9c2cf7dfb28c68fd98d01b1edef5dc13c5.jpg)
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/dd58d02c5b1b1edea0ad938d981fceecd2d90fc5.jpg)
现在我们要进一步检验数据是不是适合使用OLS,我们暂且先检验一下数据是否为线性,虚无假设是线性的,采用Rainbow test
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/1f9feadca039131f999de06de275f2c4ed990ac5.jpg)
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/cfadcdd96975f2c4b7e86af78f0148fe1f4206c5.jpg)
接着,我们绘制偏回归线观察数据点是否分布在估计得到的直线的附近(图为控制了Rgion和Literacy后wealth对lottery的回归关系)
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/054056fe1e425d6b65a07a9d11883913e9e500c5.jpg)
![Statsmodels:[2]快速入门](https://exp-picture.cdn.bcebos.com/486884883913e8e58a9f9e08352f477047187dc5.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:55
阅读量:108
阅读量:152
阅读量:125
阅读量:78