维护者 | Martin Maechler |
联系方式 | Martin.Maechler at R-project.org |
版本 | 2023-07-01 |
网址 | https://CRAN.R-project.org/view=Robust |
源代码 | https://github.com/cran-task-views/Robust/ |
贡献 | 欢迎您对本任务视图提出建议和改进,您可以通过 GitHub 上的问题或拉取请求,或通过电子邮件联系维护者。有关更多详细信息,请参阅 贡献指南。 |
引用 | Martin Maechler (2023). CRAN 任务视图:稳健统计方法。版本 2023-07-01。网址 https://CRAN.R-project.org/view=Robust. |
安装 | 您可以使用 ctv 包自动安装本任务视图中的软件包。例如,ctv::install.views("Robust", coreOnly = TRUE) 安装所有核心软件包,或 ctv::update.views("Robust") 安装所有尚未安装和更新的软件包。有关更多详细信息,请参阅 CRAN 任务视图计划。 |
稳健(或“抗性”)统计建模方法从 1980 年代初期的 S 开始就已存在;然后在 R 中的 stats
包中。例如 median()
、mean(*, trim =. )
、mad()
、IQR()
,或者 fivenum()
(graphics
包中 boxplot()
背后的统计量)或 lowess()
(和 loess()
)用于稳健的非参数回归,在 2003 年得到了 runmed()
的补充。在推荐的(因此存在于所有 R 版本中的)包 MASS(由 Bill Venables 和 Brian Ripley 提供,参见该书 现代应用统计学与 S)中提供了更多重要的功能。最重要的是,它们提供了 rlm()
用于稳健回归,以及 cov.rob()
用于稳健的多元散点和协方差。
本任务视图是关于 R 附加包,它们提供了更新或更快、更高效的算法,特别是针对(新模型的)稳健化。
请通过电子邮件将添加和扩展的建议发送给维护者,或在上面链接的 GitHub 存储库中提交问题或拉取请求。
一群在稳健统计领域工作的国际科学家,自 2005 年 10 月起,一直在努力协调一些分散的开发成果,并通过一套相互补充的 R 包来提供重要的成果。这些包应该建立在包含“基本要素”的基本包之上,该基本包被称为 robustbase,其他(可能很多)包则建立在其之上,并将基本功能扩展到特定模型或应用。自 2020 年和 稳健统计:理论与方法 第二版以来,RobStatTM 包含其估计量和示例,特别是通过从 robustbase 和 rrcov 导入。此外,还有一个相当全面的包 robust,它是 S-PLUS 稳健库的版本,现在是 GPL 许可的 R 包,这要感谢 Insightful 和 Kjell Konis。最初,robustbase 和 robust 之间存在很大程度的重叠,现在 robust 依赖于 robustbase 和 rrcov,其中 robust 为普通用户提供了方便的例程,而 robustbase 和 rrcov 包含底层功能,并为更高级的统计学家提供了广泛的稳健建模选项。
我们将这些包大致划分为以下主题,通常会首先提到 robustbase、rrcov 和 robust 包中的功能。
线性 回归
lmrob()
(robustbase) 和 lmRob()
(robust),前者使用最新的快速 S 算法以及异方差和自相关校正 (HAC) 标准误差,后者使用 Maronna 和 Yohai (2000) 的 M-S 算法,在预测变量中存在因子时自动使用(在这些情况下,基于重采样的 S 估计量(以及 MM 估计量)通常会严重失败)。ltsReg()
和 lmrob.S()
函数可在 robustbase 中使用,但主要用于比较目的。来自 MASS 的 rlm()
是第一个广泛使用的稳健线性模型实现,也是最早的 MM 估计实现之一。 robustreg 提供了非常简单的线性回归 M 估计量(在纯 R 中)。请注意,Koenker 的分位数回归包 quantreg 包含 L1(又称 LAD,最小绝对偏差)回归作为特例,通过样条曲线对非参数回归也进行了处理。包 mblm 的函数 mblm()
拟合基于中位数的(Theil-Sen 或 Siegel 的重复)简单线性模型。
请注意,位置(和尺度)模型是仅包含截距的回归,可以通过例如 lmrob(y ~ 1)
来实现。对于非常小的样本,revss 还提供了位置 robLoc()
和尺度 robScale()
。
广义 线性模型 ( GLM s) 用于回归
GLM 通过 glmrob()
(robustbase) 和 glmRob()
(robust) 提供。 drgee 拟合“双稳健”广义估计方程 (GEE),complmrob 对具有组合数据的协变量进行稳健线性回归。
广义平滑/加性 (GAM 类) 回归:
包 GJRM 的 gamlss()
函数,使用选项 gamlss(*, robust = TRUE)
,允许稳健地拟合许多模型族(封装在 LSS“位置-尺度-形状”变换范围内)。
非线性/平滑 (非参数函数) 回归
通过 robustbase 的 nlrob()
可以进行稳健的非线性模型拟合。
混合效应 (线性与非线性) 回归
包 lqmm 提供了混合效应模型的分位数回归(以及 L1 或 LAD)。包 rlme 提供了基于秩的混合效应拟合,而包 robustlmm 提供了用于稳健线性混合效应建模的类似 MM 的方法。最近,skewlmm 通过偏态正态分布的尺度混合提供了稳健线性混合效应模型LMM。
NA
) 数据的稳健多元方法,以及 rrcovHD,提供用于高维数据的稳健多元方法。princomp()
执行稳健 PCA,例如,X <- stackloss; pc.rob <- princomp(X, covmat= MASS::cov.rob(X))
fastmcd()
更灵活的版本 covMcd()
,covOGK()
也是如此。另一方面,robust 的 covRob()
具有自动选择的方法,特别是对于大型维度 p 的 pairwiseQC()
。包 robustX 用于实验性或其他尚未建立的程序,包含 BACON()
和 covNCC()
,后者提供 Wang 和 Raftery (2002) 的邻域方差估计 (NNVE) 方法,该方法也在 covRobust 中提供(优化程度略低)。FastQn()
。pam()
实现“围绕中位数的划分”在一定程度上是稳健的(中位数而不是非常不稳健的 k 均值),但不够好,例如,k 个聚类可能包含 k-1 个异常值,一个聚类包含其余数据的绝大部分。BACON()
(在 robustX 中)应该适用于比传统稳健协方差异常值检测器更大的 (n,p)。boxplot.stats()
等runmed()
提供最稳健的运行中位数滤波。vcov(lmrob())
也使用 HAC 标准误差的版本来估计其稳健的线性模型。另请参见 CRAN 任务视图 Econometrics核心 | MASS、robust、robustbase、rrcov。 |
常规 | clubSandwich, cluster, clusterSEs, complmrob, covRobust, coxrobust, distr, drgee, genie, GJRM, Gmedian, GSE, lqmm, mblm, metaplus, mvoutlier, otrimle, pcaPP, quantreg, RandVar, revss, rlme, RobAStBase, robcor, robeth, robfilter, RobLox, RobLoxBioC, RobPer, RobStatTM, robsurvey, robumeta, RobustAFT, robustDA, robustlmm, robustreg, robustX, ROptEst, rospca, rpca, rrcovHD, rrcovNA, RSKC, sandwich, skewlmm, ssmrob, tclust, walrus, WRS2. |
已归档 | RobRex、ROptRegTS。 |