2016 - 2024

感恩一路有你

Statsmodels:快速入门

浏览量:2729 时间:2024-01-11 18:37:29 作者:采采

本文是系列文章的第二篇,旨在帮助大家快速入门并理解statsmodels库的工作过程。为了达到这个目的,我找到了一个很好的例子,并将其介绍给大家。下面我们将逐步介绍这个例子。

引入相关模块

在这个例子中,我们主要使用了pandas和statsmodels库。pandas的DataFrame类用于数据处理,statsmodels的回归分析模块(sm)用于进行回归分析,而模块用于生成设计矩阵。

获取数据

本例中所使用的数据保存在一个CSV文件中,并且可以通过pandas的read_csv函数方便地读取(URL链接:)。我们可以先查看数据的前五行,但由于数据的列较多,显示会有些混乱。因此,我们需要筛选出我们感兴趣的列。

下面是经过筛选后的数据:

(这里插入表格展示被筛选后的数据)

由于最后一行包含NaN值,我们需要使用dropna函数删除该行数据。

生成设计矩阵

我们建立的模型是y BX,因此需要分别求得y和X矩阵。而使用dmatrices函数可以方便地生成设计矩阵。

这是y矩阵:

(这里插入表格展示y矩阵)

这是X矩阵:

(这里插入表格展示X矩阵)

我们会发现分类变量已经自动转换成了哑变量。

OLS回归分析

OLS指的是普通最小二乘法,通过fit方法对回归方程进行估计,计算结果保存在summary中。

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

(这里插入表格展示模型估计结果)

数据线性检验

接下来,我们要进一步检验数据是否适合使用OLS方法。首先,我们检验数据是否具有线性关系,而虚无假设是数据具有线性关系。我们可以使用Rainbow test来进行线性检验。

输出结果如下:

第一个值为F值,第二个值为P值。显然,我们未能拒绝虚无假设,即数据具有线性关系。

绘制偏回归线

最后,我们绘制偏回归线,观察数据点是否分布在估计得到的直线附近。下图展示了控制Region和Literacy后,Wealth对Lottery的回归关系。

(这里插入图表展示偏回归线)

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。