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

如何计算R中pgmm函数构建的GMM模型工具变量总数?

如何获取pgmm模型中工具变量的总数量

有两种靠谱的方法可以得到pgmm模型里的工具变量总数:

方法一:直接从模型对象提取工具变量矩阵列数

pgmm拟合后的模型对象包含了实际用于估计的工具变量矩阵$W,矩阵的每一列对应一个工具变量,所以直接计算列数就能得到总数:

# 假设你的pgmm模型对象名为gmm_fit
total_instruments <- ncol(gmm_fit$W)
cat("工具变量总数量:", total_instruments, "\n")

这种方法最准确,因为它直接对应模型实际使用的工具,不管你是用内部滞后因变量还是外部变量做工具。

方法二:手动计算验证(用于理解逻辑)

如果想自己核对数量,可以拆解两部分:

  • 内部工具变量(滞后因变量):根据你在pgmm()中设置的lag参数计算,比如指定lag = list(y = c(2, 4)),意味着用因变量的2阶、3阶、4阶滞后做工具,结合面板的时间维度T,每个截面的工具数累加后得到内部工具总数。
  • 外部工具变量:就是你纳入的额外外部变量的数量(如果这些变量都被用作工具的话)。
    把两部分相加就是总工具数,但这种方法不如方法一直接,毕竟pgmm可能会根据模型设定自动调整工具(比如处理缺失值或冗余工具)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:27:05