You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中如何基于HC3稳健标准误构建模型并执行Chow检验?

解决思路与代码实现

核心问题:给LM模型绑定HC3稳健方差,适配Chow检验

R原生lm对象默认使用普通方差,但我们可以通过替换模型的方差-协方差矩阵,或借助专业工具包直接执行稳健版Chow检验,无需单独提取标准误数值。


方法1:给现有LM模型绑定HC3稳健方差

直接修改lm对象的vcov属性,让后续依赖方差矩阵的检验自动调用HC3稳健版本:

# 安装并加载依赖包(首次使用需安装)
install.packages("sandwich")
library(sandwich)

# 拟合基础工资模型
mod <- lm(logsalxhora ~ 
            exper + mujer + menoresde14años_hogar + 
            sq_menoresde14años_hogar + informal + casado + separado + 
            noblanco + q_trabajo,
          data = ECH.2019)

# 将模型的方差矩阵替换为HC3稳健版
mod$vcov <- vcovHC(mod, type = "HC3")

若要查看带稳健标准误的模型结果,可搭配lmtest包的coeftest函数:

install.packages("lmtest")
library(lmtest)
# 输出带HC3稳健标准误的系数检验结果
coeftest(mod, vcov = mod$vcov)

方法2:直接执行HC3稳健版Chow检验(更高效)

替换手动计算偏差的代码,用lmtest包的waldtest直接生成稳健Chow检验结果:

# 拟合约束模型(全样本模型)
mod_restricted <- lm(logsalxhora ~ 
                       exper + mujer + menoresde14años_hogar + 
                       sq_menoresde14años_hogar + informal + casado + separado + 
                       noblanco + q_trabajo,
                     data = ECH.2019)

# 拟合两个分样本模型(示例按mujer分组,替换为你的实际分组逻辑)
mod1 <- lm(logsalxhora ~ exper + mujer + menoresde14años_hogar + sq_menoresde14años_hogar + informal + casado + separado + noblanco + q_trabajo, data = subset(ECH.2019, mujer == 0))
mod2 <- lm(logsalxhora ~ exper + mujer + menoresde14años_hogar + sq_menoresde14años_hogar + informal + casado + separado + noblanco + q_trabajo, data = subset(ECH.2019, mujer == 1))

# 执行HC3稳健Chow检验
waldtest(mod_restricted, mod1, mod2, vcov = vcovHC, type = "HC3")

该命令会直接输出稳健F统计量与对应p值,无需手动计算偏差,结果更可靠。


内容的提问来源于stack exchange,提问作者Joaquin Pascal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 14:37:48