Augment 接受模型对象和数据集,并添加有关数据集中每个观察值的信息。最常见的是,这包括 .fitted
列中的预测值、.resid
列中的残差以及 .se.fit
列中拟合值的标准误差。新列始终以 .
前缀开头,以避免覆盖原始数据集中的列。
用户可以通过 data
参数或 newdata
参数传递数据以进行增强。如果用户将数据传递给 data
参数,则它必须正是用于拟合模型对象的数据。将数据集传递给 newdata
以扩充模型拟合期间未使用的数据。这仍然要求至少存在用于拟合模型的所有预测变量列。如果用于拟合模型的原始结果变量未包含在 newdata
中,则输出中不会包含 .resid
列。
根据是否给出 data
或 newdata
,增强的行为通常会有所不同。这是因为通常存在与训练观察(例如影响或相关)测量相关的信息,而这些信息对于新观察没有有意义的定义。
为了方便起见,许多增强方法提供默认的 data
参数,以便 augment(fit)
将返回增强的训练数据。在这些情况下,augment 尝试根据模型对象重建原始数据,并取得了不同程度的成功。
增强数据集始终以 tibble::tibble 形式返回,其行数与传递的数据集相同。这意味着传递的数据必须可强制转换为 tibble。如果预测变量将模型作为协变量矩阵的一部分输入,例如当模型公式使用 splines::ns()
、 stats::poly()
或 survival::Surv()
时,它会表示为矩阵列。
我们正在定义适合各种 na.action
参数的模型的行为,但目前不保证数据丢失时的行为。
参数
- x
-
从
quantreg::rq()
返回的rqs
对象。 - data
-
base::data.frame 或
tibble::tibble()
包含用于生成对象x
的原始数据。默认为stats::model.frame(x)
,以便augment(my_fit)
返回增强的原始数据。不要将新数据传递给data
参数。增强将报告传递给data
参数的数据的影响和烹饪距离等信息。这些度量仅针对原始训练数据定义。 - newdata
-
base::data.frame()
或tibble::tibble()
包含用于创建x
的所有原始预测变量。默认为NULL
,表示没有任何内容传递给newdata
。如果指定了newdata
,则data
参数将被忽略。 - ...
-
参数传递给
quantreg::predict.rq
object
-
rq
生成的类 rq 或 rqs 或 rq.process 的对象 interval
-
所需的间隔类型:默认为'none',当设置为'confidence'时,该函数返回一个矩阵预测,其中包含每个'newdata'点的点预测以及置信上限和下限。
level
-
'confidence' 区间的收敛概率。
type
-
对于
predict.rq
, 'confidence' 间隔的方法(如果需要)。如果'percentile',则使用一种引导方法为每个预测生成百分位数区间,如果'direct',则使用 Portnoy 和 Zhou (1998) 方法的版本,否则参数估计的估计协方差矩阵为用过的。确定选择引导方法或协方差矩阵估计的进一步参数可以通过 ... 参数传递。对于predict.rqs
和predict.rq.process
,当stepfun = TRUE
时,type
是 "Qhat"、"Fhat" 或 "fhat",具体取决于用户是否想要分别估计条件分位数、分布或密度函数。如下所述,前两个估计可以使用函数rearrange
进行单调化。调用 "fhat" 选项时,将根据akj
和approxfun
中实现的 Silverman 自适应内核方法返回条件密度函数列表。 na.action
-
函数确定应如何处理'newdata'中的缺失值。默认是预测'NA'。
也可以看看
augment、quantreg::rq()
、quantreg::predict.rqs()
其他 quantreg 整理器: augment.nlrq()
、 augment.rq()
、 glance.nlrq()
、 glance.rq()
、 tidy.nlrq()
、 tidy.rqs()
、 tidy.rq()
例子
# load modeling library and data
library(quantreg)
data(stackloss)
# median (l1) regression fit for the stackloss data.
mod1 <- rq(stack.loss ~ stack.x, .5)
# weighted sample median
mod2 <- rq(rnorm(50) ~ 1, weights = runif(50))
# summarize model fit with tidiers
tidy(mod1)
#> # A tibble: 4 × 5
#> term estimate conf.low conf.high tau
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 (Intercept) -39.7 -53.8 -24.5 0.5
#> 2 stack.xAir.Flow 0.832 0.509 1.17 0.5
#> 3 stack.xWater.Temp 0.574 0.272 3.04 0.5
#> 4 stack.xAcid.Conc. -0.0609 -0.278 0.0153 0.5
glance(mod1)
#> # A tibble: 1 × 5
#> tau logLik AIC BIC df.residual
#> <dbl> <logLik> <dbl> <dbl> <int>
#> 1 0.5 -50.15272 108. 112. 17
augment(mod1)
#> # A tibble: 21 × 5
#> stack.loss stack.x[,"Air.Flow"] [,"Water.Temp"] .resid .fitted .tau
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 42 80 27 5.06e+ 0 36.9 0.5
#> 2 37 80 27 -1.42e-14 37 0.5
#> 3 37 75 25 5.43e+ 0 31.6 0.5
#> 4 28 62 24 7.63e+ 0 20.4 0.5
#> 5 18 62 22 -1.22e+ 0 19.2 0.5
#> 6 18 62 23 -1.79e+ 0 19.8 0.5
#> 7 19 62 24 -1.00e+ 0 20 0.5
#> 8 20 62 24 -7.11e-15 20 0.5
#> 9 15 58 23 -1.46e+ 0 16.5 0.5
#> 10 14 58 18 -2.03e- 2 14.0 0.5
#> # ℹ 11 more rows
#> # ℹ 1 more variable: stack.x[3] <dbl>
tidy(mod2)
#> # A tibble: 1 × 5
#> term estimate conf.low conf.high tau
#> <chr> <dbl> <lgl> <lgl> <dbl>
#> 1 (Intercept) 0.0744 NA NA 0.5
glance(mod2)
#> # A tibble: 1 × 5
#> tau logLik AIC BIC df.residual
#> <dbl> <logLik> <dbl> <dbl> <int>
#> 1 0.5 -72.9869 148. 150. 49
augment(mod2)
#> # A tibble: 50 × 5
#> `rnorm(50)` `(weights)` .resid .fitted .tau
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1.25 0.192 1.18 0.0744 0.5
#> 2 0.458 0.321 0.383 0.0744 0.5
#> 3 0.765 0.0297 0.691 0.0744 0.5
#> 4 0.392 0.870 0.317 0.0744 0.5
#> 5 -0.547 0.647 -0.622 0.0744 0.5
#> 6 -0.468 0.319 -0.542 0.0744 0.5
#> 7 -1.11 0.293 -1.18 0.0744 0.5
#> 8 0.786 0.669 0.711 0.0744 0.5
#> 9 -0.648 0.408 -0.722 0.0744 0.5
#> 10 1.07 0.664 1.00 0.0744 0.5
#> # ℹ 40 more rows
# varying tau to generate an rqs object
mod3 <- rq(stack.loss ~ stack.x, tau = c(.25, .5))
tidy(mod3)
#> # A tibble: 8 × 5
#> term estimate conf.low conf.high tau
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 (Intercept) -3.6 e+ 1 -59.0 -7.84 0.25
#> 2 stack.xAir.Flow 5.00e- 1 0.229 0.970 0.25
#> 3 stack.xWater.Temp 1.00e+ 0 0.286 2.26 0.25
#> 4 stack.xAcid.Conc. -4.58e-16 -0.643 0.0861 0.25
#> 5 (Intercept) -3.97e+ 1 -53.8 -24.5 0.5
#> 6 stack.xAir.Flow 8.32e- 1 0.509 1.17 0.5
#> 7 stack.xWater.Temp 5.74e- 1 0.272 3.04 0.5
#> 8 stack.xAcid.Conc. -6.09e- 2 -0.278 0.0153 0.5
augment(mod3)
#> # A tibble: 42 × 5
#> stack.loss stack.x[,"Air.Flow"] [,"Water.Temp"] .tau .resid .fitted
#> <dbl> <dbl> <dbl> <chr> <dbl> <dbl>
#> 1 42 80 27 0.25 1.10e+ 1 31.0
#> 2 42 80 27 0.5 5.06e+ 0 36.9
#> 3 37 80 27 0.25 6.00e+ 0 31.0
#> 4 37 80 27 0.5 -1.42e-14 37
#> 5 37 75 25 0.25 1.05e+ 1 26.5
#> 6 37 75 25 0.5 5.43e+ 0 31.6
#> 7 28 62 24 0.25 9.00e+ 0 19
#> 8 28 62 24 0.5 7.63e+ 0 20.4
#> 9 18 62 22 0.25 1.00e+ 0 17.0
#> 10 18 62 22 0.5 -1.22e+ 0 19.2
#> # ℹ 32 more rows
#> # ℹ 1 more variable: stack.x[3] <dbl>
# glance cannot handle rqs objects like `mod3`--use a purrr
# `map`-based workflow instead
相关用法
- R broom augment.rq 使用来自 a(n) rq 对象的信息增强数据
- R broom augment.robustbase.glmrob 使用来自 glmrob 对象的信息增强数据
- R broom augment.rlm 使用来自 rlm 对象的信息增强数据
- R broom augment.robustbase.lmrob 使用来自 lmrob 对象的信息增强数据
- R broom augment.rma 使用来自 rma 对象的信息增强数据
- R broom augment.betamfx 使用来自 betamfx 对象的信息增强数据
- R broom augment.htest 使用来自(n)个 htest 对象的信息来增强数据
- R broom augment.clm 使用来自 clm 对象的信息增强数据
- R broom augment.speedlm 使用来自 speedlm 对象的信息增强数据
- R broom augment.felm 使用来自 (n) 个 felm 对象的信息来增强数据
- R broom augment.smooth.spline 整理一个(n)smooth.spline对象
- R broom augment.drc 使用来自 a(n) drc 对象的信息增强数据
- R broom augment.decomposed.ts 使用来自 decomposed.ts 对象的信息增强数据
- R broom augment.poLCA 使用来自 poLCA 对象的信息增强数据
- R broom augment.lm 使用来自 (n) lm 对象的信息增强数据
- R broom augment.polr 使用来自 (n) 个 polr 对象的信息增强数据
- R broom augment.plm 使用来自 plm 对象的信息增强数据
- R broom augment.nls 使用来自 nls 对象的信息增强数据
- R broom augment.gam 使用来自 gam 对象的信息增强数据
- R broom augment.fixest 使用来自(n)个最固定对象的信息来增强数据
- R broom augment.survreg 使用来自 survreg 对象的信息增强数据
- R broom augment.Mclust 使用来自 Mclust 对象的信息增强数据
- R broom augment.nlrq 整理 a(n) nlrq 对象
- R broom augment.lmRob 使用来自 lmRob 对象的信息增强数据
- R broom augment.mlogit 使用来自 mlogit 对象的信息增强数据
注:本文由纯净天空筛选整理自等大神的英文原创作品 Augment data with information from a(n) rqs object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。