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

R语言plm包强制回归截距为0后系数未变的问题排查

问题分析与解决方案

你遇到的核心问题是面板数据索引设置错误,导致plm无法正确识别面板结构,进而使得无截距回归的系数计算出现异常(看似与带截距回归系数一致)。

错误点排查

你的代码中,在创建面板数据时使用了错误的年份列名:

pdata_Table2overall <- pdata.frame(Table2overall,
                               index = c("Company_name", "Data_Year"))

数据框中的年份列实际名为Year,但你写的是Data_Year,这会导致plm无法正确按公司-年份的面板结构分组,回归计算逻辑出现偏差,最终表现为无截距回归的系数未发生预期变化。

修正步骤

1. 修正面板数据索引

将index参数中的"Data_Year"改为数据中实际存在的列名"Year":

pdata_Table2overall <- pdata.frame(Table2overall,
                               index = c("Company_name", "Year"))

2. 重新运行无截距回归

执行修正后的代码后,plm会正确识别面板结构,此时无截距回归的系数会与带截距回归产生差异。

验证测试

使用你提供的测试数据,修正索引后运行回归:

  • 带截距回归:plm(AEG_BV ~ AEG_BVlag, data = pdata_Table2overall)
  • 无截距回归:plm(AEG_BV ~ 0 + AEG_BVlag, data = pdata_Table2overall)

计算可得:

  • 带截距回归的斜率系数约为0.964,截距约为**-0.00185**
  • 无截距回归的斜率系数约为0.9197
    两者系数明显不同,符合预期。

补充说明

生成滞后项后每个公司的第一行观测会出现NA,plm默认会自动剔除这些缺失值,这是正常行为,不影响回归逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 04:55:21