Stata的负二项回归与零膨胀回归命令

本文介绍了在数据分析中,如何利用负二项回归(nbreg)和零膨胀模型(zinb、zip)来处理含有过多0值的数据。负二项回归适用于因变量具有过度dispersion的情况,而零膨胀模型则针对0值过多的问题,如商品评论的点赞数量。文章通过实例展示了如何使用Stata进行这两种模型的估计,并强调了如何通过forcevuong选项比较模型效果,以确定最佳模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 负二项回归 nbreg

nbreg – Negative binomial regression

nbreg depvar [indepvars] [if] [in] [weight] [, nbreg_options]

Example

nbreg like stars text_len sentiment polarity, vce(cluster business_id)

在这里插入图片描述

  • 不报告常数项
nbreg y x1 x2 x3, noconstant 

2.零膨胀负二项回归 zinb

在一些场景下,0 取值的频率很高,无法使用普通泊松分布解释,于是出现了所谓零膨胀问题。比如,商品评论的点赞数量大部分为零,可能因为评论本身无意义,也可能因为大多数人看完评论后不会去选择点赞。

zinb – Zero-inflated negative binomial regression

zinb depvar [indepvars] [if] [in] [weight], inflate(varlist[, offset(varname)]|_cons) [options]
  • inflate(var):var用于解释产生过多0值的原因
  • forcevuong: 用于比较 zinb和nb的模型效果
  • forcevuong不能与 vce() cluster standard error 同用, 可先比较两个模型后再聚合标准误
zinb like sentiment polarity , inflate(stars text_len) forcevuong

在这里插入图片描述

此处比较zinb和nb模型效果 Pr>z=0, 则表明zinb模型效果更好


3. 零膨胀泊松回归 zip

zip – Zero-inflated Poisson regression

zip depvar [indepvars] [if] [in] [weight], inflate(varlist[, offset(varname)]|_cons) [options]

Example

zip like sentiment polarity , inflate(stars text_len) forcevuong

在这里插入图片描述

参考来源:ZIP-too many Zero:零膨胀泊松回归模型

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值