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


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


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 betareg
augment(
  x,
  data = model.frame(x),
  newdata = NULL,
  type.predict,
  type.residuals,
  ...
)

參數

x

通過調用 betareg::betareg() 生成的 betareg 對象。

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

指示要使用的預測類型的字符。傳遞給 stats::predict() 泛型的 type 參數。允許的參數因模型類而異,因此請務必閱讀predict.my_class 文檔。

type.residuals

指示要使用的殘差類型的字符。傳遞給 stats::residuals() 泛型的 type 參數。允許的參數因模型類而異,因此請務必閱讀residuals.my_class 文檔。

...

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

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

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

細節

有關庫克距離的更多詳細信息,請參閱 stats::cooks.distance()

也可以看看

帶有列的 tibble::tibble()

.cooksd

廚師距離。

.fitted

擬合值或預測值。

.resid

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

例子


# load libraries for models and data
library(betareg)

# load dats
data("GasolineYield", package = "betareg")

# fit model
mod <- betareg(yield ~ batch + temp, data = GasolineYield)

mod
#> 
#> Call:
#> betareg(formula = yield ~ batch + temp, data = GasolineYield)
#> 
#> Coefficients (mean model with logit link):
#> (Intercept)       batch1       batch2       batch3       batch4  
#>    -6.15957      1.72773      1.32260      1.57231      1.05971  
#>      batch5       batch6       batch7       batch8       batch9  
#>     1.13375      1.04016      0.54369      0.49590      0.38579  
#>        temp  
#>     0.01097  
#> 
#> Phi coefficients (precision model with identity link):
#> (phi)  
#> 440.3  
#> 

# summarize model fit with tidiers
tidy(mod)
#> # A tibble: 12 × 6
#>    component term        estimate  std.error statistic   p.value
#>    <chr>     <chr>          <dbl>      <dbl>     <dbl>     <dbl>
#>  1 mean      (Intercept)  -6.16     0.182       -33.8  3.44e-250
#>  2 mean      batch1        1.73     0.101        17.1  2.59e- 65
#>  3 mean      batch2        1.32     0.118        11.2  3.34e- 29
#>  4 mean      batch3        1.57     0.116        13.5  8.81e- 42
#>  5 mean      batch4        1.06     0.102        10.4  4.06e- 25
#>  6 mean      batch5        1.13     0.104        11.0  6.52e- 28
#>  7 mean      batch6        1.04     0.106         9.81 1.03e- 22
#>  8 mean      batch7        0.544    0.109         4.98 6.29e-  7
#>  9 mean      batch8        0.496    0.109         4.55 5.30e-  6
#> 10 mean      batch9        0.386    0.119         3.25 1.14e-  3
#> 11 mean      temp          0.0110   0.000413     26.6  1.26e-155
#> 12 precision (phi)       440.     110.            4.00 6.29e-  5
tidy(mod, conf.int = TRUE)
#> # A tibble: 12 × 8
#>    component term        estimate  std.error statistic   p.value conf.low
#>    <chr>     <chr>          <dbl>      <dbl>     <dbl>     <dbl>    <dbl>
#>  1 mean      (Intercept)  -6.16     0.182       -33.8  3.44e-250  -6.52  
#>  2 mean      batch1        1.73     0.101        17.1  2.59e- 65   1.53  
#>  3 mean      batch2        1.32     0.118        11.2  3.34e- 29   1.09  
#>  4 mean      batch3        1.57     0.116        13.5  8.81e- 42   1.34  
#>  5 mean      batch4        1.06     0.102        10.4  4.06e- 25   0.859 
#>  6 mean      batch5        1.13     0.104        11.0  6.52e- 28   0.931 
#>  7 mean      batch6        1.04     0.106         9.81 1.03e- 22   0.832 
#>  8 mean      batch7        0.544    0.109         4.98 6.29e-  7   0.330 
#>  9 mean      batch8        0.496    0.109         4.55 5.30e-  6   0.282 
#> 10 mean      batch9        0.386    0.119         3.25 1.14e-  3   0.153 
#> 11 mean      temp          0.0110   0.000413     26.6  1.26e-155   0.0102
#> 12 precision (phi)       440.     110.            4.00 6.29e-  5 225.    
#> # ℹ 1 more variable: conf.high <dbl>
tidy(mod, conf.int = TRUE, conf.level = .99)
#> # A tibble: 12 × 8
#>    component term        estimate  std.error statistic   p.value  conf.low
#>    <chr>     <chr>          <dbl>      <dbl>     <dbl>     <dbl>     <dbl>
#>  1 mean      (Intercept)  -6.16     0.182       -33.8  3.44e-250  -6.63   
#>  2 mean      batch1        1.73     0.101        17.1  2.59e- 65   1.47   
#>  3 mean      batch2        1.32     0.118        11.2  3.34e- 29   1.02   
#>  4 mean      batch3        1.57     0.116        13.5  8.81e- 42   1.27   
#>  5 mean      batch4        1.06     0.102        10.4  4.06e- 25   0.796  
#>  6 mean      batch5        1.13     0.104        11.0  6.52e- 28   0.867  
#>  7 mean      batch6        1.04     0.106         9.81 1.03e- 22   0.767  
#>  8 mean      batch7        0.544    0.109         4.98 6.29e-  7   0.263  
#>  9 mean      batch8        0.496    0.109         4.55 5.30e-  6   0.215  
#> 10 mean      batch9        0.386    0.119         3.25 1.14e-  3   0.0803 
#> 11 mean      temp          0.0110   0.000413     26.6  1.26e-155   0.00990
#> 12 precision (phi)       440.     110.            4.00 6.29e-  5 157.     
#> # ℹ 1 more variable: conf.high <dbl>

augment(mod)
#> # A tibble: 32 × 6
#>    yield batch  temp .fitted .resid   .cooksd
#>    <dbl> <fct> <dbl>   <dbl>  <dbl>     <dbl>
#>  1 0.122 1       205  0.101   1.59  0.0791   
#>  2 0.223 1       275  0.195   1.66  0.0917   
#>  3 0.347 1       345  0.343   0.211 0.00155  
#>  4 0.457 1       407  0.508  -2.88  0.606    
#>  5 0.08  2       218  0.0797  0.109 0.0000168
#>  6 0.131 2       273  0.137  -0.365 0.00731  
#>  7 0.266 2       347  0.263   0.260 0.00523  
#>  8 0.074 3       212  0.0943 -1.77  0.0805   
#>  9 0.182 3       272  0.167   1.02  0.0441   
#> 10 0.304 3       340  0.298   0.446 0.0170   
#> # ℹ 22 more rows

glance(mod)
#> # A tibble: 1 × 7
#>   pseudo.r.squared df.null logLik   AIC   BIC df.residual  nobs
#>              <dbl>   <dbl>  <dbl> <dbl> <dbl>       <int> <int>
#> 1            0.962      30   84.8 -146. -128.          20    32

相關用法


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