Statsmodels:[2]快速入门

2025-11-12 08:50:23

这是Python.statsmodels系列文章的第二篇,为了让大家快速入门,理解statsmodels工作的整个过程,我找到了一个很好的例子,在这里介绍给大家。下面我们来一步步介绍这个例子。

    引入相关模块,pandas主要用到了他的DataFrame,sm用到了回归分析,patsy.dmatrices用于生成design matrix

    Statsmodels:[2]快速入门

    先获取数据,本例子用到的数据保存在网上的csv文件,我们可以使用pandas.read_csv方便的读取数据(url='http://vincentarelbundock.github.com/Rdatasets/csv/HistData/Guerry.csv')

    Statsmodels:[2]快速入门

    查看一下数据的前五行,有很多列,显示有点混乱

    Statsmodels:[2]快速入门

    Statsmodels:[2]快速入门

    下面筛选出我们需要的列:

    Statsmodels:[2]快速入门

    这是最后得到的数据:

    Statsmodels:[2]快速入门

    由于最后一行有NaN值,所以需要使用dropna删除该行数据

    Statsmodels:[2]快速入门

    生成design matrix,我们建立的模型是y=BX,因此需要分别求得y和X矩阵,而dmatrices就是干这个的

    Statsmodels:[2]快速入门

    这是y

    Statsmodels:[2]快速入门

    这是X矩阵:我们会发现分类变量自动的转换成了哑变量

    Statsmodels:[2]快速入门

    OLS指的是一般最小二乘,fit方法对回归方程进行估计,summary保存着计算的结果

    Statsmodels:[2]快速入门

    这是输出的模型的估计结果:

    Statsmodels:[2]快速入门

    Statsmodels:[2]快速入门

    现在我们要进一步检验数据是不是适合使用OLS,我们暂且先检验一下数据是否为线性,虚无假设是线性的,采用Rainbow test

    Statsmodels:[2]快速入门

    输出结果为:第一个为F值,第二个为P值,显然未能拒绝虚无假设

    Statsmodels:[2]快速入门

    接着,我们绘制偏回归线观察数据点是否分布在估计得到的直线的附近(图为控制了Rgion和Literacy后wealth对lottery的回归关系)

    Statsmodels:[2]快速入门

    Statsmodels:[2]快速入门

(共篇)上一篇:模块简介
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢