繁体   English   中英

R 中的不可逆性障碍 package

[英]Non-invertability Mhurdle package in R

对于一个项目,我正在使用 0 的角解决方案分析数据。我可以随意使用响应 y 和大约 20 个自变量。 对于 model 这类数据我想使用删失回归模型,包括:Tobit、Truncated Normal Hurdle/Cragg 和 Tobit Type II。 所有这些都可以通过 R 中的“障碍”package 轻松实现。

但是,为了实现截断法线跨栏/Cragg model,我注意到发生了一件奇怪的事情。 具体来说,当良好选择和缺乏资源机制的规范变得更加相似时,我开始遇到错误:

 system is computationally singular: reciprocal condition number = 1.13973e-18

因此,例如,以下规范运行良好

  model_good <- mhurdle(y ~ x1 + x2 + ... + x20| x1 + x2 |, 0, data = X, dist = "n")

虽然在第二部分(良好选择)中包含来自第一部分(期望消耗)的更多预测变量的规范会遇到麻烦:

  model_error <- mhurdle(y ~ x1 + x2 + ... + x20| x1 + x2 + ... x15 |, 0, data = X, dist = "n")

我已经检查了我的数据的可逆性,这似乎不是问题。 我使用的 20 个特征之间的成对相关性均不超过 0.15,并且矩阵 (X'X) 具有满秩。

现在我想知道,当这两个部分的规格变得与 model 的工作方式固有的相似时,model 是否会引发错误,还是 ZEFE90A8E604A7C840E88D03A67F6B7 错误?

编辑:

在估计文档( http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.204.8204&rep=rep1&type=pdf )中提供的示例时,我也遇到了问题,例如:

  model12i <- mhurdle(durable ~ age + quant | age + quant | age + quant, tobin, dist = "n", method = "bfgs")

还给出了一个奇点问题:

  Lapack routine dgesv: system is exactly singular: U[1,1] = 0

我遇到的问题似乎是由于我的数据结构方式造成的。 具体来说,一些协变量是在 (-1, 1) 区间内取值的比率,而其他协变量是域范围为 (-1e+10, 1e+10) 的会计变量。 不知何故,package 无法处理域中的巨大差异。 因此我采取了两个步骤:

  • 将所有会计变量除以 10.000
  • 移除异常值

采取这些步骤后,库按预期执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM