R:健壮的包--lmRob如何找到计算中使用的psi函数

时间:2016-12-31 21:30:13

标签: r robust

我正在使用lmRob。

require(robust)
stack.rob.int <- lmRob(Loss ~.*., data = stack.dat)

很好但是,我想知道如何获得实际拟合中lmRob函数使用的psi函数。在此先感谢您的帮助!

如果我在robustbase中使用lmrob函数,是否可以更改psi函数以将其减去常量。我试图按照Lahiri(Annals of Statistics,1992)实现引导程序,其中仍然保持引导程序有效的方法是用原始psi()减去psi()减去残差的平均值。用于鲁棒线性模型的bootstrap。

1 个答案:

答案 0 :(得分:1)

因此,无法直接访问psi的{​​{1}}函数。

简单地说,robust::lmRob()调用lmRob.fit() (or lmRob.wfit() if you supply weights)随后调用lmRob.fit.compute(),然后根据initial values for a Fortran version设置lmRob.control() set to either "bisquare" or "optimal"

根据上述讨论,如果您需要访问psi函数,您可能希望使用robustbase,因为它可以轻松访问许多psi functions(参见biweights

编辑1

关于:

  

psi函数评估lmRob中的残差

没有。 lmRob()中提供了运行lmRob后可用内容的详细信息。可以通过lmRob.object访问该文档。关于残差,?lmRob.object对象中提供了以下

  • lmRob:与residuals
  • 中返回的估算值对应的残差向量
  • coefficients:与T.residuals
  • 中返回的估算值对应的残差向量
  • T.coefficients:与M.weights中的最终MM估算值相对应的稳健估算权重(如果适用)。
  • coefficients:与T.M.weights中的初始S估值相对应的稳健估算权重(如果适用)。

关于

  

lmRob中“最佳”做了什么?

Optimal指的是以下psi函数:

T.coefficients

对于其他传统的psi功能,您可能希望查看robustbase's vignette 或者是一本健全的教科书。