如何在R中构建logit回归模型检验投资机构签署可持续倡议的动因
投资机构可持续倡议签署决策的logit回归分析实操建议
1. 模型适配选择
你当前使用的是机构-年度短面板数据,被解释变量signatory为标准二元变量,根据你的研究目标优先选择以下模型:
- 若要同时利用时间维度和个体维度的信息,优先选择面板随机效应logit模型,先通过豪斯曼检验判断是否需要改用固定效应模型;注意面板固定效应logit会自动删除始终未签署/始终已签署的机构样本,你的样本中这类观测占比较高,使用固定效应会产生较大的样本损失,无特殊需求不建议使用。
- 若仅关注机构的最终签署决策,可将面板数据折叠为横截面数据(每家机构保留1条观测,被解释变量定义为「该机构是否在观测期内签署过倡议」),直接使用横截面二元logit回归,对国家、地区这类不随时间变化的解释变量的检验结果更稳健。
2. 变量处理规则
- 核心解释变量:国家、地区、投资策略均为分类变量,需转换为虚拟变量纳入回归,注意提前设置参照组(比如地区可选样本量最大的欧洲为参照,投资策略可选占比最高的品类为参照),避免多重共线性问题。
- 控制变量:你现有数据中的
activity可直接作为控制变量纳入,建议补充机构层面(管理规模、成立年限)、国家层面(所在国可持续金融政策得分、ESG市场渗透率)的控制变量,降低遗漏变量偏误。 - 被解释变量:你现有
signatory的0-1编码符合要求,无需额外调整,确认签署行为是「一旦签署后状态保持为1」即可。
3. 操作与结果解读要点
- 常用代码参考:
如果你用Stata做面板随机效应logit,代码为xtlogit signatory i.region i.strategy activity i.year, re vce(cluster investor),标准误聚类到机构层面;做横截面logit的代码为logit signatory i.region i.strategy activity, vce(robust)。
如果你用R做面板随机效应logit,可调用lme4包,代码为glmer(signatory ~ (1|investor) + region + strategy + activity + factor(year), family = binomial(link = "logit"))。 - 结果汇报建议不要直接报原始系数,优先汇报优势比(Odds Ratio, OR):OR值大于1说明该变量对签署决策有正向影响,小于1为负向影响,比如某地区的OR值为2.2,说明控制其他变量后,该地区机构的签署概率是参照组地区的2.2倍,结合p值判断显著性即可。
- 稳健性检验可以换用probit模型重跑核心回归,也可以剔除成立不满3年的机构、头部10%规模的机构后重跑,验证核心变量的影响方向和显著性是否稳定。
4. 研究拓展建议
- 可补充异质性检验:按投资策略、机构规模分组回归,看地区、国家的影响在不同特征的机构中是否存在差异,丰富研究结论。
- 缓解内生性问题:可将核心解释变量全部滞后1-2期后再回归,排除反向因果的干扰。
内容的提问来源于stack exchange,提问作者R Wd
相关产品推荐
相关产品推荐

