基础部分

先确定二元选择模型的类型,通常有Probit模型、Logit模型、Extreme模型等,前面两种最常用。如果随机误差项服从标准正态分布,就用Probit模型;如果随机误差项服从逻辑分布,就用Logit模型。当然,事先也不知道随机误差项究竟服从何种分布,所以Probit模型和Logit模型任选一种即可,问题不是很大。二元选择模型是非线性模型,所以参数估计要用最大似然估计法(MLE)。如果模型类型选择正确(即假设随机误差项服从何种分布判断正确),那么用最大似然估计法就能得到一致的估计;反之,用最大似然估计法得到的是准最大似然估计值(QMLE)。
Probit模型的Stata命令为:

probit y x1x2 x3

Logit模型的Stata命令为:

logit y x1 x2x3

由此得到的估计系数,要看符号正负,至于具体数值没什么意义。如果系数符号为正,表明解释变量越大,被解释变量取1的概率越大(即取0的概率越小);反之,如果系数符号为负,表明解释变量越大,被解释变量取1的概率越小(即取0的概率越大)。
对于不显著的解释变量,可以剔除后再次进行回归。另外,要检验下模型设定是否正确(即是否存在遗漏变量、无关变量、函数形式不对等问题),所用的方法是比较普通标准误和稳健标准误。

前面Stata命令得到的是普通标准误,想得到稳健标准误,用下面Stata命令:
对于Probit模型是

probit y x1 x2 x3, r

对于Logit模型是

logit y x1 x2 x3, r

如果稳健标准误和普通标准误比较接近,就可认为模型设定没问题;反之,稳健标准误和普通标准误差异较大,则要怀疑模型设定有误。
当模型设定正确时,Stata命令就没必要用稳健标准误r了(当然用了也没错)。

在估计结果出来后,要评价估计结果好不好,主要看两个统计量:

一是似然比检验量LR,如果其p值小于设定的显著性水平,则表明整个方程除常数项以外的所有其他系数具有联合显著性;

二是正确预测的百分比(percent correctly predicted),百分比越高表示拟合优度越高,计算正确预测百分比的Stata命令为:estat clas。
Probit模型、Logit模型在大样本时估计效果较好,在有限样本(样本容量小于200)情况下,可能会出现估计偏差。
由于聚类抽样原因,观测值之间可能会出现依赖性,即组内个体存在组内自相关性,这时需要使用聚类稳健标准误,Stata命令为:

对于probit模型

probit y x1 x2 x3, vce(cluster clustervar)

对于logit模型

logit y x1 x2 x3,vce(cluster clustervar)

clustervar表示聚类变量。

进阶部分:边际效应

前面用probit、logit命令得到的二元选择模型的估计系数,并不是偏导数的含义。那么,要像线性模型估计一样,使参数表示偏导数(边际效应),如何做呢?这就需要在得到系数估计结果后,继续使用margin命令。这里要注意的是,对非线性模型,边际效应并非常数(在线性模型中是),边际效应是随着解释变量的变化而发生变化的。因此,需要区分几种不同类型的边际效应概念:

一是平均边际效应(average marginal effect,AME),其含义是分别计算在每个样本观测值上的边际效应,然后进行简单算数平均,AME在操作中是最常用的;二是样本均值处的边际效应(marginal effect at mean,MEM);三是在某代表值处的边际效应(MER)。
如果要计算所有解释变量的边际效应,Stata命令为:

margin, dydx(*)     平均边际效应margin, dydx(*) atmeans    样本均值处的边际效应margin, dydx(*) at(x1=h)    在x1=h处的边际效应

如果只是计算某个解释变量(下面假设是x1)的边际效应,Stata命令为:

margin, dydx(x1)     x1的平均边际效应margin, dydx(x1) atmeans    x1在均值处的边际效应margin, dydx(x1) at(x1=h)    x1在x1=h处的边际效应

上述边际效应的含义为:解释变量每增加一单位,被解释变量取1的概率变化多少单位
另外,dydx也可以改为dyex(半弹性),这时边际效应的含义是:解释变量每增加1%,被解释变量取1的概率变化多少单位。
有人会问,计算在某代表值处的边际效应有啥用处呢?主要有两个意义:
第一,便于创建一个基准值进行比较分析;
第二,可以比较解释变量取不同值时边际效应的大小,考察随着解释变量变化边际效应的相应变化趋势和特点,由此发现一些有规律或有政策启示的现象。

进阶部分:几率比

几率比(oddsratio)是被解释变量取1的概率与取0的概率的比值
估计几率比的stata命令为:

logit y x1 x2x3, or

得到的估计参数的含义为:解释变量每增加一单位,被解释变量几率比将变化(参数值-1)个单位。

对于Probit模型,无法获得几率比,这是其相对于logit模型的劣势。

进阶部分:异方差下的Probit模型

标准的Probit模型、logit模型均假设随机误差项是同方差的,在有异方差的情况下,对Probit模型进行估计的stata命令为:

hetprob y x1 x2 x3, het(varlist)

varlist为对随机误差项方差有影响的所有变量。

显示结果的最后一行有似然比检验(LR),当其p值大于设定的显著性水平时,则接受同方差的原假设,只要用标准模型估计即可;反之,则说明存在异方差,需要用上面的方法进行估计。

进阶部分:稀有事件偏差

当y=1的发生频率极少时称为稀有事件,解决办法有两种:

第一种办法是仍使用logit模型,但对因稀有事件造成的小样本偏差进行估计,然后对原logit模型的估计系数进行修正,得到偏差修正估计,相应的stata命令为:

relogit y x1 x2 x3

(注意:relogit非自带程序,要专门下载,详见陈强(2014,P180);另外,relogit命令默认使用稳健标准误,如不使用需在选项中加nor,即relogit y x1 x2 x3, nor)。

第二种办法是使用非对称的极值分析,得到“补对数-对数模型”,相应的stata命令为:

cloglog y x1 x2 x3

无论是用何种方法,均可进一步计算边际效应,但无法用estat clas命令得到正确预测的百分比,也无法用or命令得到几率比。

进阶部分:含内生变量的probit模型

第一步:解释变量的内生性检验,确定解释变量是否为内生变量。
stata命令为:

ivprobit y1 x1 x2  (y2=z1 z2)

或者

ivprobit y1 x1x2  (y2=z1 z2), first twostep

其中,y1是被解释变量,x1、x2均是外生解释变量,y2是内生解释变量,z1和z2均是工具变量。

如果wald检验结果的p值小于给定的显著性水平,说明y2确实是内生变量(注意:前一个命令用的是MLE法;后一个命令用的是两阶段法,first表示显示第一步结果,可选。另外,两种命令后,均可以用margin命令计算边际效应;MLE法后可用estat clas命令得到正确预测的百分比,但两阶段法后无法使用estat clas)。
第二步:过度识别检验,当工具变量个数大于内生解释变量个数时进行,目的是检验是否所有工具变量都是外生的,即与随机误差项无关
stata命令为:

overid

当检验结果的p值大于给定的显著性水平时,说明工具变量均是外生的。
第三步:弱工具变量检验,目的是判断所选择的工具变量是否为弱工具变量。
stata命令为:

weakiv ivprobit y1 x1 x2  (y2=z1 z2),twostep

(选项twostep是必不可少的)
如果检验结果的p值小于给定的显著性水平,说明工具变量不是弱工具变量。
注意:overid和weakiv命令都不是自带程序,要专门下载,下载命令ssc install。

gwr模型用什么做_干货|教你如何用Stata做二元选择模型相关推荐

  1. python画一个心形照片墙怎么摆_柚子教大家如何用python做精美的照片墙!五分钟学会get新技能...

    在朋友圈中你肯定会见到过下面这样的照片,由数张照片拼接成一张具有规则图案形状的照片墙. 其实这样的一张照片也可以用 Python 实现,主要用到的是 python 中的 Image 库:制作之前需要一 ...

  2. 教你如何用VB做控件*.ocx

    教你如何用VB做控件*.ocx 一个控件有很多事件如:Click.MouseDown.MouseUp.MouseMove等.要触发这些事件都需要你加入代码.在控件的声明处加入Public Event ...

  3. 这十套练习,教你如何用Pandas做数据分析

    最新工作比较忙,python这块搁置了好久都没有好好学习以及更新相关学习笔记,立下flag,争取两天更新一个练习题,到十一月初更新完这块内容 练习1-开始了解你的数据(2021-11-02已完成) 练 ...

  4. tp5怎么生成短链接_教大家如何用thinkphp做短链接

    短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串.本篇文章我们就教大家如何用thinkphp做短链接. tp框架感觉路径有点长,怎么优化比较好,伪静态怎么写 http ...

  5. python远程桌面控制_手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤

    配置说明 使用Pycharm 2020.1.1 professional 专业版.(据说只有专业版可以远程连接)如果不是专业的伙伴,可以用校园邮箱注册一个专业版,免费的哦! 步骤 1. 设置Conne ...

  6. 仟龙教您如何用html做一个酷炫掉渣的点名器

    本文关键详细介绍了如何用html做一个酷炫掉渣的点名器,原文中根据示例编码详细介绍的十分详尽,对大伙儿的学习或是工作中具备一定的参照学习使用价值,必须的小伙伴们下边伴随着我来一起学习学习吧 此点名器逐 ...

  7. 手把手教你如何用手机做兼职赚钱

    手机做兼职赚钱逐渐成为大家喜爱的兼职项目之一,因为手机随时随地都可以拿出来做任务赚钱,我们日常上班或者无聊的时候都可以在手机操作自己的兼职项目获得金钱,但是现在还有很多人不知道如何用手机兼职赚钱,今天 ...

  8. Stata:二元Probit模型

    原文链接:https://www.lianxh.cn/news/8b0815c8c1116.html 1. 引言 本次推文主要介绍 biprobit 命令,以及其在 Stata 中的应用实例. Biv ...

  9. 飞桨模型保存_手把手教你用飞桨做词向量模型 SkipGram

    飞桨开发者说成员:肥猫.忆臻 在做 NLP 的任务时,一个非常 basic 的操作就是如何编码自然语言中的符号,例如词.短语,甚至词缀.目前流行的方法有大约三种: •  特征工程:这类方法依赖于手工特 ...

  10. r语言做断轴_手把手教你用R语言做回归后的残差分析

    本文介绍了做残差分析的方法及其重要性,以及利用R语言实现残差分析. 在这篇文章中,我们通过探索残差分析和用R可视化结果,深入研究了R语言. 残差本质上是当一个给定的模型(在文中是线性回归)不完全符合给 ...

最新文章

  1. 大白话详解5种网络IO模型
  2. windows mobile5.0之“hello world”
  3. Shell-8--数值运算及处理
  4. 文件系统:Ext3和Ext4
  5. C#-ToString格式化
  6. 高学历就一定代表着高收入么?数据分析来为你揭晓
  7. VStudio 2003 remote debug
  8. JAVA对象内存分配过程
  9. 实战项目-小说网站开发过程中难点记录(1)
  10. python实现CRAPS赌博游戏。
  11. 腾讯CDC标叔的十年交互设计感悟-20141117早读课
  12. 随机数种子(seed)
  13. 基于Spire.Doc转PDF得方法,没有授权只能三页
  14. 前摇篮网CEO高翔去世:生前脑干出血没挺住 年55岁
  15. 2022客户体验管理白皮书
  16. Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the
  17. 哈雷拆分LiveWire上市,冲击美股电摩第一股
  18. java垃圾回收机制分类整理
  19. Druid连接池报错:org.postgresql.util.PSQLException: FATAL: too many connections for role “*********“
  20. python网页信息违法吗_爬虫到底违法吗?这位爬虫工程师给出了答案

热门文章

  1. APISpace 成语大全API接口 免费好用
  2. 九九乘法表c语言带表头,C语言-九九乘法表
  3. 嵌入式 Linux 入门(四、Linux 下的编辑器 — 让人爱恨交加的 vi )
  4. 网站ddos发包服务器,ddos发包搭建
  5. Delphi 7 ADO使用
  6. 循环结构程序设计学习心得
  7. delphi 组件安装教程详解
  8. winsock类型病毒后遗症处理
  9. SQL Server 2005完全安装教程----带安装文件下载地址
  10. .aspx(或.asp)文件与.html(.htm)文件的区别与联系