Stata作为一款功能强大的统计分析软件,在经济学、社会学、医学等领域被广泛应用,其提供的计数模型命令能够有效处理因变量为计数数据(如事件发生次数、就诊次数等)的分析问题,计数数据通常具有非负整数、离散分布、可能存在过度离散(方差大于均值)或零膨胀(零值比例过高)等特征,传统线性回归模型不再适用,而Stata的计数命令则通过特定分布假设和模型设定,为这类数据提供了科学的分析框架。

Stata中最常用的计数命令包括poisson
、nbreg
(负二项回归)、zip
(零膨胀泊松回归)、zinb
(零膨胀负二项回归)等,这些命令基于不同的概率分布假设,适用于不同特征的计数数据,以poisson
命令为例,其基本语法为poisson y x1 x2 x3, options
,其中y
为因变量(计数变量),x1-x3
为自变量,泊松回归假设因变量的条件均值等于条件方差(即等离散假设),当数据存在过度离散时,标准误会被低估,导致显著性检验结果不可靠,可采用nbreg
命令,通过引入异质性参数α(alpha)捕捉过度离散,若α显著不为零,则负二项模型优于泊松模型,分析患者就诊次数的影响因素,若数据中就诊次数的方差显著大于均值,使用nbreg
回归可得到更稳健的估计结果。
针对数据中存在“过多零值”的情况,Stata提供了零膨胀模型,零膨胀模型认为数据生成过程由两个子过程组成:一个生成零值的“零生成过程”(如从未发生某事件),另一个生成计数数据的“计数过程”(如事件发生次数)。zip
命令假设计数过程服从泊松分布,而zinb
则允许计数过程服从负二项分布,以同时处理零膨胀和过度离散问题,研究居民医疗支出次数,若部分居民因健康原因从未就医(零生成过程),其余居民就医次数服从负二项分布(计数过程),则应使用zinb
命令,零膨胀模型的语法与标准计数模型类似,但需通过inflate()
选项指定零生成过程的解释变量,这些变量可以与计数过程的解释变量相同或不同,以探究不同因素对“是否发生”和“发生次数”的差异化影响。
在模型估计后,需进行结果解读和检验,泊松和负二项回归的系数通常以指数形式呈现(eform
选项),表示 incidence rate ratios(IRR),即自变量每增加一个单位,因变量期望计数的变化倍数,若性别(男性=1)的IRR为1.5,表示男性就诊次数是女性的1.5倍,模型拟合优度可通过linktest
和estat gof
检验,其中linktest
检验模型设定是否正确,estat gof
则通过Pearson卡方统计量评估拟合优度(P值越大表明拟合越好),对于零膨胀模型,还需通过vuong
检验比较零膨胀模型与标准计数模型的优劣,若Vuong统计量显著,则支持零膨胀模型。
实际应用中,数据预处理同样重要,计数变量需为非负整数,若存在负值需检查数据录入错误;对于连续自变量,若与因变量存在非线性关系,可考虑多项式项或样条函数;分类变量需通过i.
前缀因子变量处理,如i.education
表示教育水平的分类变量,样本选择偏差也可能影响结果,若数据存在选择性(如仅观测到事件发生的情况),可结合heckman
两阶段模型处理。

以下是不同计数模型的选择逻辑概览:
模型类型 | 适用场景 | 关键假设 | Stata命令 |
---|---|---|---|
泊回归 | 数据服从泊松分布,方差等于均值 | 条件均值=条件方差,无过度离散 | poisson |
负二项回归 | 数据存在过度离散(方差>均值) | 异质性参数α≠0 | nbreg |
零膨胀泊松回归 | 数据存在零膨胀,但无非过度离散 | 零生成过程+泊松计数过程 | zip |
零膨胀负二项回归 | 数据同时存在零膨胀和过度离散 | 零生成过程+负二项计数过程 | zinb |
Stata还提供了glm
命令,通过指定family(poisson)
或family(nbinomial)
实现广义线性模型框架下的计数分析,支持更灵活的链接函数(如对数链接、恒等链接),对于面板计数数据,可使用xtpoisson
或xtnbreg
进行固定效应或随机效应分析,控制个体异质性。
相关问答FAQs
Q1: 如何判断计数数据是否存在过度离散,应选择泊松回归还是负二项回归?
A1: 判断过度离散可通过两种方法:一是计算数据的方差与均值之比,若比值远大于1,则可能存在过度离散;二是在泊松回归后,使用estat gof
命令查看Pearson卡方统计量除以自由度,若该值显著大于1,表明存在过度离散,负二项回归的输出中会报告异质性参数α(alpha)及其显著性检验,若P值<0.05,则拒绝“无过度离散”的原假设,应选择负二项回归。

Q2: 零膨胀模型和标准计数模型(如泊松、负二项)如何选择?
A2: 首先通过描述性统计观察因变量的零值比例,若零值比例明显高于泊松或负二项分布的理论预期(如泊松分布中P(Y=0)=e^(-λ)),则可能存在零膨胀,使用vuong
检验比较零膨胀模型与标准计数模型,Stata中可在零膨胀模型估计后运行vuong
命令,若Vuong统计量显著为正,支持零膨胀模型;若显著为负,支持标准计数模型;不显著则表明零膨胀假设不成立,应选择标准模型,可分别拟合两种模型并比较AIC/BIC值,值越小表明拟合越好。