爱锋贝

 找回密码
 立即注册

只需一步,快速开始

扫一扫,极速登录

开启左侧

stata小白如何快速入门到可以做论文logit模型有关的操作 ...

[复制链接]
发表于 2021-11-16 23:20:23 | 显示全部楼层 |阅读模式

一键注册,加入手机圈

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
1. 简介

在实证研究中,我们会经常遇到被解释变量为 “是/否” 或者 “某事件发生/未发生”,此时,被解释变量只有 两种 取值,对应的数字编码可记为 0 或 1,称为二值变量或 0-1 变量。例如,我们想研究以下问题:

  • 什么因素会导致患胃癌(患胃癌 = 1;未患胃癌 = 0)?
  • 具有哪些特征的中小企业会破产违约还贷(违约 = 1;未违约 = 0)?
  • 哪些消费者倾向于购买 iPhone(购买 iphone = 1;未购买 iphone = 0)?
  • 北京实施限行政策后哪些家庭会购买第二辆小汽车(购买第二辆车 = 1;未购买第二辆车= 0)?
2. 二元 Logit 模型

对于某一个样本 ,由于被解释变量  的取值为 0 或者 1 ,我们可以将  视为随机变量  的实现值:  取 1 的概率为 取 0 的概率为  。随机变量  服从参数为  的 (0-1) 分布,  的分布律为


显然, 若  ,则  的概率为 ; 若  ,则  的概率为  。 易于证明,  的期望和方差分别为:


可见,  的期望和方差都决定于  。任何影响概率的因素不但会影响观察值的均值,也会影响其方差。这就表明线性回 归模型无法用于分析二值变量,因为线性回归模型假设方差是固定不变的。
为了使上述模型更富有弹性,我们假设概率  受一系列变量的影响,设定为 。一个非常直觉的想法是把二者之间的关 系设定为线性函数:


其中, 个为系数向量。该模型通常称为线性概率模型,采用普通最小二乘法估计即可。其主要缺陷在于: 由于等式左边 的  表示概率,所以必须介于 0 和 1 之间,而右边的线性组合项则可能取任何值,所以在不对模型做严格约束的情况 下,我们很难保证模型的预测值介于合理的范围内。
因此,我们必须对概率  进行变换以消除对其取值范围的约束,继而把变换后的数值设定为解释变量 的线性函数。处 理过程包括两个步骤。
第一步,我们依据概率  来定义 胜算比 (odds) :


即  的概率  与  的概率  的比值。显然,胜算比可以取任意非负值,如此便可消除上限约束。
第二步,取对数以计算 logit 或 log-odds:


这样我们就可以去除下限约束。因为,随着概率  趋近于 0 , logit 将趋近于 ; 而当概率  趋近于 logit 将趋 近于 。因此,通过以上变换, 将概率  的取值范围从 映射至整个实数轴。显然,如果概率为  ,胜算比为 1 ,相应的 log-odds 为 0 。 log-odds 为负表示概率小于  ,反之则表示概率大于  。
Stata 范例

Stata 提供的 logit 命令可用于估计上面介绍的二元 logit 模型。这里,我们使用 Stata 附带的 auto.dta 数据 (1978 年美国汽车数据) 来预测汽车产地 (进口= 1;国产= 0)。以 foreign (是否为进口车) 作为被解释变量、以 mpg (每加仑汽油能够行驶的英里数)、weight (汽车重量) 作为解释变量,建立二元 logit 模型。Stata 中的命令和结果如下:
.  sysuse "auto.dta", clear
(1978 Automobile Data)

.  logit foreign mpg weight

Iteration 0:   log likelihood =  -45.03321
Iteration 1:   log likelihood = -29.238536
Iteration 2:   log likelihood = -27.244139
Iteration 3:   log likelihood = -27.175277
Iteration 4:   log likelihood = -27.175156
Iteration 5:   log likelihood = -27.175156

Logistic regression                         Number of obs     =         74
                                            LR chi2(2)        =      35.72
                                            Prob > chi2       =     0.0000
Log likelihood = -27.175156                 Pseudo R2         =     0.3966

--------------------------------------------------------------------------
foreign |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
---------+----------------------------------------------------------------
     mpg |  -.1685869   .0919175    -1.83   0.067    -.3487418     .011568
  weight |  -.0039067   .0010116    -3.86   0.000    -.0058894    -.001924
   _cons |   13.70837   4.518709     3.03   0.002     4.851859    22.56487
--------------------------------------------------------------------------
回归结果显示,mpg 与 weight 的系数值均显著为负,表明当控制其他变量不变时,mpg 与 weight 变量的值分别增加 1 个单位时, 胜算比 (odds) 将分别变为原来的 倍,表明该车 辆是进口车的概率将变小。要获得这个变化的倍数值,即 胜算比,只需在 logit 命令后附加 or 选项即可。Stata 中的命令和结果如下所示:
.  logit foreign mpg weight, or

Iteration 0:   log likelihood =  -45.03321
Iteration 1:   log likelihood = -29.238536
Iteration 2:   log likelihood = -27.244139
Iteration 3:   log likelihood = -27.175277
Iteration 4:   log likelihood = -27.175156
Iteration 5:   log likelihood = -27.175156

Logistic regression                         Number of obs     =         74
                                            LR chi2(2)        =      35.72
                                            Prob > chi2       =     0.0000
Log likelihood = -27.175156                 Pseudo R2         =     0.3966

--------------------------------------------------------------------------
foreign | Odds Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
---------+----------------------------------------------------------------
     mpg |   .8448578   .0776572    -1.83   0.067     .7055753    1.011635
  weight |   .9961009   .0010077    -3.86   0.000     .9941279    .9980779
   _cons |   898396.7    4059594     3.03   0.002     127.9781    6.31e+09
--------------------------------------------------------------------------
note: _cons estimates baseline odds.
Note:Stata 还提供了另一条命令: logistic,可以得到完全相同的结果。
2.5 边际效应分析

从上面的例子中可以看到,虽然我们能从解释变量的系数值判断该车辆是进口车的概率值的变化情况,但我们依旧不能直观地看出概率值变化的具体数值。在实证分析中,我们往往需要计算出来解释变量的变化将对这辆车是进口车的概率的变化带来的边际影响值,此时,我们需要使用 margins 命令来计算边际效应。
这里,我们介绍实证分析中常用的两种边际效应:
平均边际效应。 即先分别计算在每个样本观测值上的边际效应,然后进行简单算术平均得到平均边际效应。 样本均值处的边际效应。 即先分别计算各自变量的样本均值,然后计算在这一点处的边际效应。
2.5.1 平均边际效应

我们可以使用 margins 命令附加 dydx 选项来进行计算。Stata 中的命令和结果如下所示:
.  margins, dydx(mpg) //计算mpg变量对Pr(foreign)的平均边际效应

Average marginal effects                        Number of obs     =         74
Model VCE    : OIM

Expression   : Pr(foreign), predict()
dy/dx w.r.t. : mpg

------------------------------------------------------------------------------
             |            Delta-method
             |      dy/dx   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         mpg |  -.0197187   .0096987    -2.03   0.042    -.0387277   -.0007096
------------------------------------------------------------------------------

.  margins, dydx(weight) //计算weight变量对Pr(foreign)的平均边际效应

Average marginal effects                        Number of obs     =         74
Model VCE    : OIM

Expression   : Pr(foreign), predict()
dy/dx w.r.t. : weight

------------------------------------------------------------------------------
             |            Delta-method
             |      dy/dx   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
      weight |  -.0004569   .0000571    -8.01   0.000    -.0005688   -.0003451
------------------------------------------------------------------------------

  • 计算结果显示:当 mpg 增加 1 个单位时,车辆为进口车的概率减少 1.97%;当 weight 增加 1 个单位时,车辆为进口车的概率减少 0.04%
2.5.2 样本均值处的边际效应

我们可以使用 margins 命令附加 dydx 、atmeans 选项来进行计算。Stata 中的命令和结果如下所示:
. margins, dydx(mpg) atmeans //计算mpg变量对Pr(foreign)在样本均值处的边际效应

Conditional marginal effects                    Number of obs     =   74
Model VCE    : OIM

Expression   : Pr(foreign), predict()
dy/dx w.r.t. : mpg
at           : mpg             =     21.2973 (mean)
               weight          =    3019.459 (mean)

-------------------------------------------------------------------------
        |            Delta-method
        |      dy/dx   Std. Err.      z    P>|z|     [95% Conf. Interval]
--------+----------------------------------------------------------------
    mpg |  -.0223512   .0127037    -1.76   0.079      -.04725    .0025476
-------------------------------------------------------------------------

. margins, dydx(weight) atmeans  //计算weight变量对Pr(foreign)在样本均值处的边际效应

Conditional marginal effects                    Number of obs     =   74
Model VCE    : OIM

Expression   : Pr(foreign), predict()
dy/dx w.r.t. : weight
at           : mpg             =     21.2973 (mean)
               weight          =    3019.459 (mean)

-------------------------------------------------------------------------
        |            Delta-method
        |      dy/dx   Std. Err.      z    P>|z|     [95% Conf. Interval]
--------+----------------------------------------------------------------
weight |  -.0005179   .0001389    -3.73   0.000    -.0007902   -.0002457
-------------------------------------------------------------------------
结果显示,当 mpg 的均值 增加 1 个单位时,车辆为进口车的概率减少 2.23%;当 weight 的均值 增加 1 个单位时,车辆为进口车的概率减少 0.05%。
详细内容参见连享会推文

  • 专题:Probit-Logit

    • Stata:Logit 模型一文读懂

相关推文

Note:产生如下推文列表的 Stata 命令为:
. lianxh logit
. songbl logit
安装最新版 lianxh/ songbl 命令:
. ssc install lianxh, replace
. ssc install songbl, replace


  • 专题:Stata 命令

    • Stata 新命令:面板-LogitFE-ProbitFE

  • 专题:交乘项-调节

    • Logit-Probit 中的交乘项及边际效应图示



  • 专题:Probit-Logit

    • Stata:面板混合选择模型-cmxtmixlogit
    • Logit-Probit:非线性模型中交互项的边际效应解读
    • 秒懂小罗肥归:logit 与 mlogit 详解
    • reg2logit:用 OLS 估计 Logit 模型参数
    • feologit:固定效应有序 Logit 模型
    • Stata:多元 Logit 模型详解 (mlogit)
    • Stata:Logit 模型一文读懂
    • 详解 Logit/Probit 模型中的 completely determined 问题
    • Stata:Logit 模型评介
    • 二元选择模型:Probit 还是 Logit?
    • Stata:何时使用线性概率模型而非 Logit?
    • Stata:嵌套 Logit 模型 (Nested Logit)


-----------------------------
奶奶的个雄
发表于 2021-11-16 23:32:11 | 显示全部楼层
1. 简介

在实证研究中,我们会经常遇到被解释变量为 “是/否” 或者 “某事件发生/未发生”,此时,被解释变量只有 两种 取值,对应的数字编码可记为 0 或 1,称为二值变量或 0-1 变量。例如,我们想研究以下问题:

  • 什么因素会导致患胃癌(患胃癌 = 1;未患胃癌 = 0)?
  • 具有哪些特征的中小企业会破产违约还贷(违约 = 1;未违约 = 0)?
  • 哪些消费者倾向于购买 iphone(购买 iphone = 1;未购买 iphone = 0)?
  • 北京实施限行政策后哪些家庭会购买第二辆小汽车(购买第二辆车 = 1;未购买第二辆车= 0)?
2. 二元 Logit 模型

对于某一个样本 ,由于被解释变量  的取值为 0 或者 1 ,我们可以将  视为随机变量  的实现值:  取 1 的概率为 取 0 的概率为  。随机变量  服从参数为  的 (0-1) 分布,  的分布律为

显然, 若  ,则  的概率为 ; 若  ,则  的概率为  。 易于证明,  的期望和方差分别为:

可见,  的期望和方差都决定于  。任何影响概率的因素不但会影响观察值的均值,也会影响其方差。这就表明线性回 归模型无法用于分析二值变量,因为线性回归模型假设方差是固定不变的。
为了使上述模型更富有弹性,我们假设概率  受一系列变量的影响,设定为 。一个非常直觉的想法是把二者之间的关 系设定为线性函数:

其中, 个为系数向量。该模型通常称为线性概率模型,采用普通最小二乘法估计即可。其主要缺陷在于: 由于等式左边 的  表示概率,所以必须介于 0 和 1 之间,而右边的线性组合项则可能取任何值,所以在不对模型做严格约束的情况 下,我们很难保证模型的预测值介于合理的范围内。
因此,我们必须对概率  进行变换以消除对其取值范围的约束,继而把变换后的数值设定为解释变量 的线性函数。处 理过程包括两个步骤。
第一步,我们依据概率  来定义 胜算比 (odds) :

即  的概率  与  的概率  的比值。显然,胜算比可以取任意非负值,如此便可消除上限约束。
第二步,取对数以计算 logit 或 log-odds:

这样我们就可以去除下限约束。因为,随着概率  趋近于 0 , logit 将趋近于 ; 而当概率  趋近于 logit 将趋 近于 。因此,通过以上变换, 将概率  的取值范围从 映射至整个实数轴。显然,如果概率为  ,胜算比为 1 ,相应的 log-odds 为 0 。 log-odds 为负表示概率小于  ,反之则表示概率大于  。
Stata 范例

Stata 提供的 logit 命令可用于估计上面介绍的二元 logit 模型。这里,我们使用 Stata 附带的 auto.dta 数据 (1978 年美国汽车数据) 来预测汽车产地 (进口= 1;国产= 0)。以 foreign (是否为进口车) 作为被解释变量、以 mpg (每加仑汽油能够行驶的英里数)、weight (汽车重量) 作为解释变量,建立二元 logit 模型。Stata 中的命令和结果如下:
.  sysuse "auto.dta", clear
(1978 Automobile Data)

.  logit foreign mpg weight

Iteration 0:   log likelihood =  -45.03321
Iteration 1:   log likelihood = -29.238536
Iteration 2:   log likelihood = -27.244139
Iteration 3:   log likelihood = -27.175277
Iteration 4:   log likelihood = -27.175156
Iteration 5:   log likelihood = -27.175156

Logistic regression                         Number of obs     =         74
                                            LR chi2(2)        =      35.72
                                            Prob > chi2       =     0.0000
Log likelihood = -27.175156                 Pseudo R2         =     0.3966

--------------------------------------------------------------------------
foreign |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
---------+----------------------------------------------------------------
     mpg |  -.1685869   .0919175    -1.83   0.067    -.3487418     .011568
  weight |  -.0039067   .0010116    -3.86   0.000    -.0058894    -.001924
   _cons |   13.70837   4.518709     3.03   0.002     4.851859    22.56487
--------------------------------------------------------------------------
回归结果显示,mpg 与 weight 的系数值均显著为负,表明当控制其他变量不变时,mpg 与 weight 变量的值分别增加 1 个单位时, 胜算比 (odds) 将分别变为原来的 倍,表明该车 辆是进口车的概率将变小。要获得这个变化的倍数值,即 胜算比,只需在 logit 命令后附加 or 选项即可。Stata 中的命令和结果如下所示:
.  logit foreign mpg weight, or

Iteration 0:   log likelihood =  -45.03321
Iteration 1:   log likelihood = -29.238536
Iteration 2:   log likelihood = -27.244139
Iteration 3:   log likelihood = -27.175277
Iteration 4:   log likelihood = -27.175156
Iteration 5:   log likelihood = -27.175156

Logistic regression                         Number of obs     =         74
                                            LR chi2(2)        =      35.72
                                            Prob > chi2       =     0.0000
Log likelihood = -27.175156                 Pseudo R2         =     0.3966

--------------------------------------------------------------------------
foreign | Odds Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
---------+----------------------------------------------------------------
     mpg |   .8448578   .0776572    -1.83   0.067     .7055753    1.011635
  weight |   .9961009   .0010077    -3.86   0.000     .9941279    .9980779
   _cons |   898396.7    4059594     3.03   0.002     127.9781    6.31e+09
--------------------------------------------------------------------------
Note: _cons estimates baseline odds.
Note:Stata 还提供了另一条命令: logistic,可以得到完全相同的结果。
2.5 边际效应分析

从上面的例子中可以看到,虽然我们能从解释变量的系数值判断该车辆是进口车的概率值的变化情况,但我们仍然不能直观地看出概率值变化的具体数值。在实证分析中,我们往往需要计算出来解释变量的变化将对这辆车是进口车的概率的变化带来的边际影响值,此时,我们需要使用 margins 命令来计算边际效应。
这里,我们介绍实证分析中常用的两种边际效应:
平均边际效应。 即先分别计算在每个样本观测值上的边际效应,然后进行简单算术平均得到平均边际效应。 样本均值处的边际效应。 即先分别计算各自变量的样本均值,然后计算在这一点处的边际效应。
2.5.1 平均边际效应

我们可以使用 margins 命令附加 dydx 选项来进行计算。Stata 中的命令和结果如下所示:
.  margins, dydx(mpg) //计算mpg变量对Pr(foreign)的平均边际效应

Average marginal effects                        Number of obs     =         74
Model VCE    : OIM

Expression   : Pr(foreign), predict()
dy/dx w.r.t. : mpg

------------------------------------------------------------------------------
             |            Delta-method
             |      dy/dx   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         mpg |  -.0197187   .0096987    -2.03   0.042    -.0387277   -.0007096
------------------------------------------------------------------------------

.  margins, dydx(weight) //计算weight变量对Pr(foreign)的平均边际效应

Average marginal effects                        Number of obs     =         74
Model VCE    : OIM

Expression   : Pr(foreign), predict()
dy/dx w.r.t. : weight

------------------------------------------------------------------------------
             |            Delta-method
             |      dy/dx   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
      weight |  -.0004569   .0000571    -8.01   0.000    -.0005688   -.0003451
------------------------------------------------------------------------------

  • 计算结果显示:当 mpg 增加 1 个单位时,车辆为进口车的概率减少 1.97%;当 weight 增加 1 个单位时,车辆为进口车的概率减少 0.04%
2.5.2 样本均值处的边际效应

我们可以使用 margins 命令附加 dydx 、atmeans 选项来进行计算。Stata 中的命令和结果如下所示:
. margins, dydx(mpg) atmeans //计算mpg变量对Pr(foreign)在样本均值处的边际效应

Conditional marginal effects                    Number of obs     =   74
Model VCE    : OIM

Expression   : Pr(foreign), predict()
dy/dx w.r.t. : mpg
at           : mpg             =     21.2973 (mean)
               weight          =    3019.459 (mean)

-------------------------------------------------------------------------
        |            Delta-method
        |      dy/dx   Std. Err.      z    P>|z|     [95% Conf. Interval]
--------+----------------------------------------------------------------
    mpg |  -.0223512   .0127037    -1.76   0.079      -.04725    .0025476
-------------------------------------------------------------------------

. margins, dydx(weight) atmeans  //计算weight变量对Pr(foreign)在样本均值处的边际效应

Conditional marginal effects                    Number of obs     =   74
Model VCE    : OIM

Expression   : Pr(foreign), predict()
dy/dx w.r.t. : weight
at           : mpg             =     21.2973 (mean)
               weight          =    3019.459 (mean)

-------------------------------------------------------------------------
        |            Delta-method
        |      dy/dx   Std. Err.      z    P>|z|     [95% Conf. Interval]
--------+----------------------------------------------------------------
weight |  -.0005179   .0001389    -3.73   0.000    -.0007902   -.0002457
-------------------------------------------------------------------------
结果显示,当 mpg 的均值 增加 1 个单位时,车辆为进口车的概率减少 2.23%;当 weight 的均值 增加 1 个单位时,车辆为进口车的概率减少 0.05%。
详细内容参见连享会推文

  • 专题:Probit-Logit

    • Stata:Logit 模型一文读懂

相关推文

Note:产生如下推文列表的 Stata 命令为:
. lianxh logit
. songbl logit
安装最新版 lianxh/ songbl 命令:
. ssc install lianxh, replace
. ssc install songbl, replace


  • 专题:Stata 命令

    • Stata 新命令:面板-LogitFE-ProbitFE

  • 专题:交乘项-调节

    • Logit-Probit 中的交乘项及边际效应图示



  • 专题:Probit-Logit

    • Stata:面板混合选择模型-cmxtmixlogit
    • Logit-Probit:非线性模型中交互项的边际效应解读
    • 秒懂小罗肥归:logit 与 mlogit 详解
    • reg2logit:用 OLS 估计 Logit 模型参数
    • feologit:固定效应有序 Logit 模型
    • Stata:多元 Logit 模型详解 (mlogit)
    • Stata:Logit 模型一文读懂
    • 详解 Logit/Probit 模型中的 completely determined 问题
    • Stata:Logit 模型评介
    • 二元选择模型:Probit 还是 Logit?
    • Stata:何时使用线性概率模型而非 Logit?
    • Stata:嵌套 Logit 模型 (Nested Logit)

精选高品质二手iPhone,上爱锋贝APP
发表于 2021-11-17 00:24:39 | 显示全部楼层
建议分三步
1、Stata入门视频,推荐医咖会的教程
30节Stata视频课程,从入门到精通! - 专栏课程 - 医咖会我当年就是看这个入门的,虽然个教程主要是针对医学方面分析,但就入门而言,医咖会这个教程绝对是说的最清楚明朗的,而且老师声音清晰,语速适中,听感很好
这个教程最重要的是授人以渔,对底层工具型的功能说的很清楚,看完之后,你不仅会了解基本操作,还会增强自学能力,知道怎么去获取相关的资源,怎么去探索特定的功能。
2、计量经济学学习
看完医咖会在去看计量经济学相关的书籍,上手会非常快,推荐陈强老师的书
这个书在网上也有PDF版,可以自己到人大经济论坛上找一找
3、细节补充、拓展阅读
中山大学的连玉君老师在B站有stata教程,同时其微信公众号“连享会”有很多计量经济学模型的stata应用文章,建议关注,并在其中搜索你使用的模型的相关文章
<a data-draft-node="block" data-draft-type="link-card" href="http://link.zhihu.com/?target=https%3A//www.lianxh.cn/news/e18031ffad4f3.html" data-image="http://pic2.zhimg.com/v2-b6cccfb7af8f14920b4b2f6c1694ba8d.jpg" data-image-width="200" data-image-height="200" class=" wrap external" target="_blank" rel="nofollow noreferrer">Stata:Logit模型一文读懂| 连享会主页
精选高品质二手iPhone,上爱锋贝APP
您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

快速回复 返回顶部 返回列表