0

我正在使用 lmRob。

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

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

如果我要在robustbase 中使用lmrob 函数,是否可以更改psi 函数以将其减去一个常数。我正在尝试按照 Lahiri (Annals of Statistics, 1992) 实施引导程序,其中提到仍然保持引导程序有效的方法是将 psi() 替换为 originalpsi() 减去拟合时残差的平均值稳健线性模型的引导程序。

4

1 回答 1

1

因此,无法psi直接访问robust::lmRob().

简单地说,lmRob()调用lmRob.fit()(或者lmRob.wfit()如果你提供权重)随后调用lmRob.fit.compute(),然后根据设置为 Fortran 版本设置初始值lmRob.control()"bisquare""optimal"

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

编辑 1

关于:

在 lmRob 中的残差处评估的 psi 函数

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

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

关于

lmRob中的“最佳”做什么?

Optimal 指的是以下 psi 函数:

sign(x)*(- (phi'(|x|) + c) / (phi(|x|) )

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

于 2016-12-31T22:25:27.040 回答