当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R rlm 线性模型的稳健拟合


R语言 rlm 位于 MASS 包(package)。

说明

使用 M 估计器通过稳健回归拟合线性模型。

用法

rlm(x, ...)

## S3 method for class 'formula'
rlm(formula, data, weights, ..., subset, na.action,
    method = c("M", "MM", "model.frame"),
    wt.method = c("inv.var", "case"),
    model = TRUE, x.ret = TRUE, y.ret = FALSE, contrasts = NULL)

## Default S3 method:
rlm(x, y, weights, ..., w = rep(1, nrow(x)),
    init = "ls", psi = psi.huber,
    scale.est = c("MAD", "Huber", "proposal 2"), k2 = 1.345,
    method = c("M", "MM"), wt.method = c("inv.var", "case"),
    maxit = 20, acc = 1e-4, test.vec = "resid", lqs.control = NULL)

psi.huber(u, k = 1.345, deriv = 0)
psi.hampel(u, a = 2, b = 4, c = 8, deriv = 0)
psi.bisquare(u, c = 4.685, deriv = 0)

参数

formula

y ~ x1 + x2 + ... 形式的公式。

data

优先采用formula中指定的变量的可选 DataFrame 、列表或环境。

weights

每种情况的先验权重向量。

subset

指定拟合中使用的情况的索引向量。

na.action

指定在以下情况下要采取的操作的函数NA找到了。 ‘factory-fresh’默认操作Rna.omit,并且可以通过以下方式更改options(na.action=).

x

包含解释变量的矩阵或 DataFrame 。

y

响应:长度为 x 的行数的向量。

method

当前M-estimation 或MM-estimation 或(仅适用于formula 方法)查找模型框架。 MM-estimation 是 M-estimation,其中 Tukey 的双权值由特定的 S-estimator 初始化。请参阅“详细信息”部分。

wt.method

权重是案例权重(给出案例的相对重要性,因此权重为 2 意味着有两个)或方差的倒数,因此权重为 2 意味着该误差是变量的一半?

model

模型框架应该在对象中返回吗?

x.ret

模型矩阵应该在对象中返回吗?

y.ret

响应应该在对象中返回吗?

contrasts

可选对比度规格:请参阅lm

w

(可选)每种情况的初始down-weighting。

init

(可选)系数的初始值或查找初始值的方法或与 coef 组件拟合的结果。已知的方法是 "ls" (默认)用于使用权重 w*weights 进行初始最小二乘拟合,以及 "lts" 用于使用 200 个样本进行未加权 least-trimmed 平方拟合。

psi

psi 函数由此参数指定。它必须给出(可能通过名称)一个函数g(x, ..., deriv),对于deriv=0返回psi(x)/x,对于deriv=1返回psi'(x)。调整常量将通过 ... 传入。

scale.est

尺度估计方法:残差的重新缩放 MAD(默认)或 Huber 的建议 2(可以通过 "Huber""proposal 2" 选择)。

k2

用于 Huber 建议 2 规模估计的调整常数。

maxit

IWLS 迭代次数的限制。

acc

停止标准的准确性。

test.vec

停止标准基于该向量的变化。

...

要传递给 rlm.defaultpsi 函数的其他参数。

lqs.control

lqs 的可选控制值列表。

u

评估点的数值向量。

k , a , b , c

调整常数。

deriv

01 :计算 psi 函数或其一阶导数的值。

细节

拟合是通过迭代重新加权最小二乘法 (IWLS) 完成的。

Psi 函数为 Huber、Hampel 和 Tukey bisquare 提案提供为 psi.huberpsi.hampelpsi.bisquare 。 Huber 对应于凸优化问题并给出唯一的解(直到共线性)。另外两个将有多个局部最小值,并且需要一个好的起点。

选择 method = "MM" 会选择一组特定的选项,以确保估算器具有较高的击穿点。初始系数集和最终比例由 S-estimator 和 k0 = 1.548 选择;这给出了(对于 )故障点 0.5。最终的估计器是具有 Tukey 双权重和固定比例的 M-estimator,它将继承 c > k0 提供的这个故障点;这对于 c 的默认值来说是正确的,它对应于正常情况下的 95% 相对效率。 method = "MM" 不支持大小写权重。

继承自 "lm" 的类 "rlm" 的对象。请注意,df.residual 分量特意设置为 NA,以避免 "lm" 方法根据残差均方错误估计残差比例。

不在 lm 对象中的附加组件是

s

使用的稳健尺度估计

w

IWLS 过程中使用的权重

psi

带有参数替换的 psi 函数

conv

每次迭代的收敛标准

converged

IWLS 收敛了吗?

wresid

工作残差,仅针对 "inv.var" 权重进行加权。

注意

在版本 7.3-52 之前,formula 中的偏移项从拟合值和预测值中省略。

例子

summary(rlm(stack.loss ~ ., stackloss))
rlm(stack.loss ~ ., stackloss, psi = psi.hampel, init = "lts")
rlm(stack.loss ~ ., stackloss, psi = psi.bisquare)

参考

P. J. Huber (1981) Robust Statistics. Wiley.

F. R. Hampel, E. M. Ronchetti, P. J. Rousseeuw and W. A. Stahel (1986) Robust Statistics: The Approach based on Influence Functions. Wiley.

A. Marazzi (1993) Algorithms, Routines and S Functions for Robust Statistics. Wadsworth & Brooks/Cole.

Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth edition. Springer.

也可以看看

lmlqs

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Robust Fitting of Linear Models。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。