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


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


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 Mclust
augment(x, data = NULL, ...)

參數

x

mclust::Mclust() 返回 Mclust 對象。

data

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

...

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

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

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

也可以看看

augment() , mclust::Mclust()

其他 mclust 整理器:tidy.Mclust()

帶有列的 tibble::tibble()

.class

預計類。

.uncertainty

與分類相關的不確定性。等於一減去模型類別概率。

例子


# load library for models and data
library(mclust)
#> Package 'mclust' version 6.0.0
#> Type 'citation("mclust")' for citing this R package in publications.

# load data manipulation libraries
library(dplyr)
#> 
#> Attaching package: ‘dplyr’
#> The following objects are masked from ‘package:stats’:
#> 
#>     filter, lag
#> The following objects are masked from ‘package:base’:
#> 
#>     intersect, setdiff, setequal, union
library(tibble)
library(purrr)
#> 
#> Attaching package: ‘purrr’
#> The following object is masked from ‘package:mclust’:
#> 
#>     map
library(tidyr)

set.seed(27)

centers <- tibble(
  cluster = factor(1:3),
  # number points in each cluster
  num_points = c(100, 150, 50),
  # x1 coordinate of cluster center
  x1 = c(5, 0, -3),
  # x2 coordinate of cluster center
  x2 = c(-1, 1, -2)
)

points <- centers %>%
  mutate(
    x1 = map2(num_points, x1, rnorm),
    x2 = map2(num_points, x2, rnorm)
  ) %>%
  select(-num_points, -cluster) %>%
  unnest(c(x1, x2))

# fit model
m <- Mclust(points)

# summarize model fit with tidiers
tidy(m)
#> # A tibble: 3 × 6
#>   component  size proportion variance mean.x1 mean.x2
#>       <int> <int>      <dbl>    <dbl>   <dbl>   <dbl>
#> 1         1   101      0.335     1.12  5.01     -1.04
#> 2         2   150      0.503     1.12  0.0594    1.00
#> 3         3    49      0.161     1.12 -3.20     -2.06
augment(m, points)
#> # A tibble: 300 × 4
#>       x1     x2 .class .uncertainty
#>    <dbl>  <dbl> <fct>         <dbl>
#>  1  6.91 -2.74  1          3.98e-11
#>  2  6.14 -2.45  1          1.99e- 9
#>  3  4.24 -0.946 1          1.47e- 4
#>  4  3.54  0.287 1          2.94e- 2
#>  5  3.91  0.408 1          7.48e- 3
#>  6  5.30 -1.58  1          4.22e- 7
#>  7  5.01 -1.77  1          1.06e- 6
#>  8  6.16 -1.68  1          7.64e- 9
#>  9  7.13 -2.17  1          4.16e-11
#> 10  5.24 -2.42  1          1.16e- 7
#> # ℹ 290 more rows
glance(m)
#> # A tibble: 1 × 7
#>   model     G    BIC logLik    df hypvol  nobs
#>   <chr> <int>  <dbl>  <dbl> <dbl>  <dbl> <int>
#> 1 EII       3 -2402. -1175.     9     NA   300
源代碼:R/mclust-tidiers.R

相關用法


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