LYNDRS 2024-04-03 23:18 采纳率: 0%
浏览 316
已结题

断点回归rdrobust报错

求问使用rdrobust做断点回归的时候,命令执行报错:

Mass points detected in the running variable.
           rdrobust_bw():  3001  expected 18 arguments but received 19
                 <istmt>:     -  function returned error

是什么意思?如何解决?

img

  • 写回答

22条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-03 23:18
    关注
    获得0.45元问题酬金

    引自免费微信小程序:皆我百晓生

    在您使用 rdrobust 命令进行断点回归时遇到的错误提示包含两部分内容:

    1. Mass points detected in the running variable: 这个信息表明在您的运行变量(即 score_n)中发现了大量的相同值(通常称为“质量点”或“堆积点”)。这意味着存在多个观测值具有相同的得分,这可能对断点回归估计造成困扰,因为它依赖于连续变量在断点附近的光滑变化。大量质量点可能导致局部加权估计器失效或结果不稳定。

      解决方法:

      • 检查数据:确认 score_n 变量是否存在离群值、异常值或非唯一值。可以使用描述性统计分析(如频数分布、箱线图等)来可视化并识别这些质量点。
      • 数据清理:如果发现是录入错误、测量误差等原因导致的质量点,应修正数据。对于合法的重复值(例如,由于实验设计或数据收集方式导致),可能需要重新考虑模型设定或采用适合处理此类数据的其他方法(如固定效应模型、分组处理等)。
    2. rdrobust_bw(): 3001 expected 18 arguments but received 19: 这是一个编程错误,表示在调用 rdrobust_bw() 函数时传入了比预期多一个的参数。根据您提供的命令行,没有直接调用 rdrobust_bw(),可能是 rdrobust 命令内部某个环节出现了问题。

      解决方法:

      • 更新软件:确保您使用的 rdrobust 插件为最新版本。过时的插件可能存在已知问题,更新至最新版可能会修复此错误。
      • 联系开发者:如果更新后问题依然存在,建议向 rdrobust 插件的开发者报告此问题,提供详细的错误信息及重现步骤,以便他们能查明原因并提供解决方案。

    鉴于上述情况,您可以按照以下步骤操作:

    1. 检查并清理数据:

      * 查看 score_n 的频数分布
      tabulate score_n
      
      * 或绘制箱线图查看异常值
      boxplot score_n, horizontal
      
      * 根据检查结果,如有必要,清理或修正数据
      
    2. 更新 rdrobust 插件:

      * 检查当前 rdrobust 版本
      which rdrobust
      
      * 更新插件到最新版本
      ssc install rdrobust, replace
      
    3. 再次尝试执行断点回归命令:

      rdrobust score_n d, c(0) p(1) bwselect(msesum) covs(age sex edu politics_status job) vce(cluster code)
      

    若以上步骤仍无法解决您的问题,建议将具体的样本数据(去除敏感信息)、完整的 Stata 命令以及详细的错误信息提交给 rdrobust 插件的开发者或相关支持论坛,以便获得针对性的帮助。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 创建了问题 4月3日