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


R broom augment.betamfx 使用來自 betamfx 對象的信息增強數據


Augment 接受模型對象和數據集,並添加有關數據集中每個觀察值的信息。最常見的是,這包括 .fitted 列中的預測值、.resid 列中的殘差以及 .se.fit 列中擬合值的標準誤差。新列始終以 . 前綴開頭,以避免覆蓋原始數據集中的列。

用戶可以通過 data 參數或 newdata 參數傳遞數據以進行增強。如果用戶將數據傳遞給 data 參數,則它必須正是用於擬合模型對象的數據。將數據集傳遞給 newdata 以擴充模型擬合期間未使用的數據。這仍然要求至少存在用於擬合模型的所有預測變量列。如果用於擬合模型的原始結果變量未包含在 newdata 中,則輸出中不會包含 .resid 列。

根據是否給出 datanewdata,增強的行為通常會有所不同。這是因為通常存在與訓練觀察(例如影響或相關)測量相關的信息,而這些信息對於新觀察沒有有意義的定義。

為了方便起見,許多增強方法提供默認的 data 參數,以便 augment(fit) 將返回增強的訓練數據。在這些情況下,augment 嘗試根據模型對象重建原始數據,並取得了不同程度的成功。

增強數據集始終以 tibble::tibble 形式返回,其行數與傳遞的數據集相同。這意味著傳遞的數據必須可強製轉換為 tibble。如果預測變量將模型作為協變量矩陣的一部分輸入,例如當模型公式使用 splines::ns()stats::poly()survival::Surv() 時,它會表示為矩陣列。

我們正在定義適合各種 na.action 參數的模型的行為,但目前不保證數據丟失時的行為。

用法

# S3 method for betamfx
augment(
  x,
  data = model.frame(x$fit),
  newdata = NULL,
  type.predict = c("response", "link", "precision", "variance", "quantile"),
  type.residuals = c("sweighted2", "deviance", "pearson", "response", "weighted",
    "sweighted"),
  ...
)

參數

x

一個 betamfx 對象。

data

base::data.frametibble::tibble() 包含用於生成對象 x 的原始數據。默認為stats::model.frame(x),以便augment(my_fit) 返回增強的原始數據。不要將新數據傳遞給 data 參數。增強將報告傳遞給 data 參數的數據的影響和烹飪距離等信息。這些度量僅針對原始訓練數據定義。

newdata

base::data.frame()tibble::tibble() 包含用於創建 x 的所有原始預測變量。默認為 NULL ,表示沒有任何內容傳遞給 newdata 。如果指定了newdata,則data 參數將被忽略。

type.predict

指示要使用的預測類型的字符。傳遞給 betareg::predict.betareg()type 參數。默認為 "response"

type.residuals

指示要使用的殘差類型的字符。傳遞給 betareg::residuals.betareg()type 參數。默認為 "sweighted2

...

附加參數。不曾用過。僅需要匹配通用簽名。注意:拚寫錯誤的參數將被吸收到 ... 中,並被忽略。如果拚寫錯誤的參數有默認值,則將使用默認值。例如,如果您傳遞 conf.lvel = 0.9 ,所有計算將使用 conf.level = 0.95 進行。這裏有兩個異常:

  • tidy() 方法在提供 exponentiate 參數時會發出警告(如果該參數將被忽略)。

  • augment() 方法在提供 newdata 參數時會發出警告(如果該參數將被忽略)。

細節

此增強方法包裝 mfx::betamfx() 對象的 augment.betareg()

也可以看看

帶有列的 tibble::tibble()

.cooksd

廚師距離。

.fitted

擬合值或預測值。

.resid

觀察值和擬合值之間的差異。

例子


library(mfx)
#> Loading required package: sandwich
#> Loading required package: lmtest
#> Loading required package: zoo
#> 
#> Attaching package: ‘zoo’
#> The following objects are masked from ‘package:base’:
#> 
#>     as.Date, as.Date.numeric
#> Loading required package: MASS
#> 
#> Attaching package: ‘MASS’
#> The following object is masked from ‘package:dplyr’:
#> 
#>     select
#> Loading required package: betareg

# Simulate some data
set.seed(12345)
n <- 1000
x <- rnorm(n)

# Beta outcome
y <- rbeta(n, shape1 = plogis(1 + 0.5 * x), shape2 = (abs(0.2 * x)))
# Use Smithson and Verkuilen correction
y <- (y * (n - 1) + 0.5) / n

d <- data.frame(y, x)
mod_betamfx <- betamfx(y ~ x | x, data = d)

tidy(mod_betamfx, conf.int = TRUE)
#> # A tibble: 1 × 8
#>   term  atmean estimate std.error statistic p.value conf.low conf.high
#>   <chr> <lgl>     <dbl>     <dbl>     <dbl>   <dbl>    <dbl>     <dbl>
#> 1 x     TRUE     0.0226   0.00801      2.82 0.00483  0.00686    0.0383

# Compare with the naive model coefficients of the equivalent betareg call (not run)
# tidy(betamfx(y ~ x | x, data = d), conf.int = TRUE)

augment(mod_betamfx)
#> # A tibble: 1,000 × 5
#>        y      x .fitted .resid   .cooksd
#>    <dbl>  <dbl>   <dbl>  <dbl>     <dbl>
#>  1 0.951  0.586   0.809 -0.230 0.000189 
#>  2 0.714  0.709   0.811 -0.663 0.0000993
#>  3 0.999 -0.109   0.793  0.747 0.000273 
#>  4 0.998 -0.453   0.785  0.530 0.000334 
#>  5 0.999  0.606   0.809  0.724 0.000342 
#>  6 0.562 -1.82    0.751 -0.648 0.000878 
#>  7 0.999  0.630   0.810  0.679 0.000348 
#>  8 0.999 -0.276   0.789  0.685 0.000294 
#>  9 0.744 -0.284   0.789 -0.577 0.0000134
#> 10 0.999 -0.919   0.774  0.709 0.000551 
#> # ℹ 990 more rows
glance(mod_betamfx)
#> # A tibble: 1 × 7
#>   pseudo.r.squared df.null logLik    AIC    BIC df.residual  nobs
#>              <dbl>   <dbl>  <dbl>  <dbl>  <dbl>       <int> <int>
#> 1          0.00726     998  1897. -3787. -3767.         996  1000
源代碼:R/mfx-tidiers.R

相關用法


注:本文由純淨天空篩選整理自大神的英文原創作品 Augment data with information from a(n) betamfx object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。