Rdrobust:具有小带宽和带宽选择器的错误消息

时间:2019-12-03 14:34:21

标签: r regression

我们使用有关健康状况的每月数据,运行变量是出生月份(离散)。目前,我们正在试验最大带宽为12个月,最小为1个月的带宽。因变量是一个介于0到60之间的整数。没有缺失值,观测值的数目约为285,000,几乎在运行变量中平均分布。

问题规范:

  • 任何带宽小于或等于3(h<=3)的规范(与内核和多项式选择无关)不起作用(例如rdrobust(data$y, data$x, c=0, kernel=”triangular”, h=3, all=TRUE)
  • 对于更高的多项式(p>=3)和epanechnikov内核,小于或等于6(h<=6)的带宽不起作用
  • 对于多项式p=4和epanechnikov或三角核,小于或等于6(h<=6)的带宽不起作用
  • 带宽选择器(rdbwselect)不适用于任何规范或内核

在所有这些情况下都会出现错误消息:

  

“ chol.default(crossprod(x))中的错误:3级前导未成年人不是肯定的”

在整个规范中错误消息中唯一发生变化的是未成年人的顺序,例如h=3为3,h=6为3。

已尝试解决该问题:

  • 手动减小样本的带宽(例如,仅在截止日期前后3个月保留观测值),然后让规范以全带宽运行->相同的错误消息
  • 使用“({options(error=recover))”进入软件包的代码,并检测出有问题的矩阵:
    • 对于rdrobust(data$y, data$x, c=0, kernel=”triangular”, h=3, all=TRUE),它是第285行(sqrt(W_b_r)*R_q_r)中的矩阵,它不是正定的,因此是不可逆的
    • 据我了解,此矩阵独立于y,但受x(运行变量)以及内核和带宽的选择的影响。因此,问题可能是由运行变量引起的,但我不知道运行变量到底是什么问题。
    • 对于rdbwselect(data$y, data$x),它是第18行rdrobust(Y_l. X_l, T_l, Z_l, C_l, fw_l, c=c, o=q+1, nu=q+1, o_b=q+2, h_v=c_bw,h_B=range_l, 0, vce, nnmat)R_V*sqrt(eW)中的矩阵,不是正定的,因此不可逆
    • 这里的矩阵似乎不受y的影响,但受x的影响

我希望我对问题的描述是可以理解的。有谁知道问题的根源是什么以及我该如何解决?

请告知我是否可以为您提供更多信息。

0 个答案:

没有答案