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()
返回的rq
對象。 - 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.rq()
其他 quantreg 整理器: augment.nlrq()
、 augment.rqs()
、 glance.nlrq()
、 glance.rq()
、 tidy.nlrq()
、 tidy.rqs()
、 tidy.rq()
例子
# load modeling library and data
library(quantreg)
#> Loading required package: SparseM
#>
#> Attaching package: ‘SparseM’
#> The following object is masked from ‘package:base’:
#>
#> backsolve
#>
#> Attaching package: ‘quantreg’
#> The following object is masked from ‘package:survival’:
#>
#> untangle.specials
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.124 NA NA 0.5
glance(mod2)
#> # A tibble: 1 × 5
#> tau logLik AIC BIC df.residual
#> <dbl> <logLik> <dbl> <dbl> <int>
#> 1 0.5 -78.76986 160. 161. 49
augment(mod2)
#> # A tibble: 50 × 5
#> `rnorm(50)` `(weights)` .resid .fitted .tau
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 0.393 0.696 0.269 0.124 0.5
#> 2 0.458 0.266 0.334 0.124 0.5
#> 3 -1.22 0.660 -1.34 0.124 0.5
#> 4 -1.12 0.212 -1.25 0.124 0.5
#> 5 0.993 0.00527 0.869 0.124 0.5
#> 6 -1.83 0.103 -1.96 0.124 0.5
#> 7 0.124 0.287 0 0.124 0.5
#> 8 0.591 0.444 0.467 0.124 0.5
#> 9 0.805 0.693 0.681 0.124 0.5
#> 10 0.00754 0.0209 -0.116 0.124 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.rqs 使用來自 (n) 個 rqs 對象的信息來增強數據
- 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) rq object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。