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


R lqs 抵抗回归


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

说明

对数据集中的优点进行回归拟合,从而获得具有高故障点的回归估计器。 lmsregltsreg 是兼容性包装器。

用法

lqs(x, ...)

## S3 method for class 'formula'
lqs(formula, data, ...,
    method = c("lts", "lqs", "lms", "S", "model.frame"),
    subset, na.action, model = TRUE,
    x.ret = FALSE, y.ret = FALSE, contrasts = NULL)

## Default S3 method:
lqs(x, y, intercept = TRUE, method = c("lts", "lqs", "lms", "S"),
    quantile, control = lqs.control(...), k0 = 1.548, seed, ...)

lmsreg(...)
ltsreg(...)

参数

formula

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

data

可选 DataFrame 、列表或环境,优先从中获取 formula 中指定的变量。

subset

指定拟合中使用的情况的索引向量。 (注意:如果给出,该参数必须准确命名。)

na.action

函数指定找到 NA 时要采取的操作。默认操作是过程失败。替代方案包括 na.omitna.exclude ,这会导致遗漏任何所需变量上缺少值的情况。 (注意:如果给出,该参数必须准确命名。)

model , x.ret , y.ret

合乎逻辑的。如果TRUE为模型框架,则分别返回模型矩阵和响应。

contrasts

可选列表。请参阅 model.matrix.defaultcontrasts.arg

x

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

y

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

intercept

模型应该包含截距吗?

method

要使用的方法。 model.frame 返回模型框架:其他请参阅Details 部分。使用lmsregltsreg 分别强制"lms""lts"

quantile

要使用的分位数:请参阅Details。如果 method = "lms" 则为 over-ridden。

control

其他控制项:请参阅Details

k0

method = "S" 时用于 函数的截止/调整常数,当前对应于 Tukey 的 ‘biweight’。

seed

用于随机采样的种子:请参阅.Random.seed。如果设置了.Random.seed的当前值将被保留。

...

要传递给 lqs.defaultlqs.control 的参数,请参阅上面的 controlDetails

细节

假设有 n 数据点和 p 回归量,包括任何截距。

前三种方法最小化排序残差平方的某些函数。对于方法"lqs""lms"quantile 残差平方,对于"lts"quantile 最小残差平方之和。 "lqs""lms" 的不同之处在于 quantile 的默认值分别为 floor((n+p+1)/2)floor((n+1)/2)。对于 "lts",默认值为 floor(n/2) + floor((p+1)/2)

"S"估计方法求解尺度s,使得残差的函数chi除以s的平均值等于给定常数。

control 参数是一个包含组件的列表

psamp

每个样本的大小。默认为 p

nsamp

样本数或 "best" (默认值)或 "exact""sample" 。如果"sample",则选择的数字是min(5*p, 3000),取自Rousseeuw 和Hubert (1997)。如果 "best" 穷举枚举最多 5000 个样本; if "exact" 将尝试进行详尽的枚举,但需要许多样本。

adjust

是否应该针对每个样本优化截距?默认为 TRUE

"lqs" 的对象。这是一个包含组件的列表

crit

在 IWLS 细化之前的 method == "S" 情况下,找到的最佳解决方案的标准值。

sing

特点。有关导致奇异拟合的样本数量的消息。

coefficients

拟合的线性模型

bestone

由找到的最佳样本拟合的那些点的索引(在调整截距之前,如果需要的话)。

fitted.values

拟合值。

residuals

残差。

scale

误差范围的估计。第一个是基于拟合标准。第二个(method == "S" 中不存在)基于绝对值小于初始估计值 2.5 倍的残差的方差。

注意

除了历史原因之外,似乎没有其他理由使用 lmslqs 选项。 LMS 估计效率较低(以 速率收敛),而 LTS 具有与在四分位数处修剪的 M 估计器相同的渐近效率(Marazzi,1993,p.201)。如果 floor((n+p)/2) <= quantile <= floor((n+p+1)/2) 则 LQS 和 LTS 具有相同的 (floor((n-p)/2) + 1)/n 最大击穿值。 LTS 提到的唯一缺点是计算量更大,因为人们认为需要排序(Marazzi,1993,p.201),但事实并非如此,因为可以使用部分排序(并且在此实现中使用)。

调整每个试验拟合的截距确实需要对残差进行排序,并且如果 n 大而 p 小,则可能需要大量的额外计算。

对于 psamp 的选择存在不同意见。 Rousseuw and Hubert (1997) 只考虑 p; Marazzi (1993) 建议采用 p+1,并建议更多样本优于针对给定计算限制进行调整。

对于仅具有截距和调整的模型,计算是精确的;而对于具有截距加一个回归器和带有调整的穷举搜索的模型的 LQS,计算是精确的。对于所有其他情况,最小化仅是近似的。

例子

## IGNORE_RDIFF_BEGIN
set.seed(123) # make reproducible
lqs(stack.loss ~ ., data = stackloss)
lqs(stack.loss ~ ., data = stackloss, method = "S", nsamp = "exact")
## IGNORE_RDIFF_END

参考

P. J. Rousseeuw and A. M. Leroy (1987) Robust Regression and Outlier Detection. Wiley.

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

P. Rousseeuw and M. Hubert (1997) Recent developments in PROGRESS. In L1-Statistical Procedures and Related Topics, ed Y. Dodge, IMS Lecture Notes volume 31, pp. 201-214.

也可以看看

predict.lqs

相关用法


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