當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。