当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。