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


R yardstick msd 平均符号偏差


平均有符号偏差(也称为平均有符号差或平均有符号误差)计算 truthestimate 之间的平均差。相关指标是平均绝对误差 (mae())。

用法

msd(data, ...)

# S3 method for data.frame
msd(data, truth, estimate, na_rm = TRUE, case_weights = NULL, ...)

msd_vec(truth, estimate, na_rm = TRUE, case_weights = NULL, ...)

参数

data

data.frame 包含由 truthestimate 参数指定的列。

...

目前未使用。

truth

真实结果的列标识符(即 numeric )。这应该是一个不带引号的列名,尽管此参数是通过表达式传递的并且支持quasiquotation(您可以不带引号的列名)。对于 _vec() 函数,一个 numeric 向量。

estimate

预测结果的列标识符(也是 numeric )。与 truth 一样,可以通过不同的方式指定,但主要方法是使用不带引号的变量名称。对于 _vec() 函数,一个 numeric 向量。

na_rm

logical 值,指示在计算继续之前是否应剥离 NA 值。

case_weights

案例权重的可选列标识符。这应该是一个不带引号的列名称,其计算结果为 data 中的数字列。对于 _vec() 函数,一个数值向量。

tibble 包含列 .metric.estimator.estimate 以及 1 行值。

对于分组 DataFrame ,返回的行数将与组数相同。

对于 msd_vec() ,单个 numeric 值(或 NA )。

细节

平均符号偏差很少使用,因为正误差和负误差相互抵消。例如, msd_vec(c(100, -100), c(0, 0)) 会返回 0 的看似 "perfect" 值,即使 estimatetruth 截然不同。 mae() 尝试通过在计算平均值之前取差异的绝对值来解决此问题。

该指标计算为 mean(truth - estimate) ,遵循 "error" 计算为 observed - predicted 的约定。如果您希望该指标计算为 mean(estimate - truth) ,请反转结果的符号。

也可以看看

其他数字指标:ccc() , huber_loss_pseudo() , huber_loss() , iic() , mae() , mape() , mase() , mpe() , poisson_log_loss() , rmse() , rpd() , rpiq() , rsq_trad() , rsq() , smape()

其他准确度指标:ccc() , huber_loss_pseudo() , huber_loss() , iic() , mae() , mape() , mase() , mpe() , poisson_log_loss() , rmse() , smape()

作者

托马斯·比尔汉斯

例子

# Supply truth and predictions as bare column names
msd(solubility_test, solubility, prediction)
#> # A tibble: 1 × 3
#>   .metric .estimator .estimate
#>   <chr>   <chr>          <dbl>
#> 1 msd     standard     -0.0143

library(dplyr)

set.seed(1234)
size <- 100
times <- 10

# create 10 resamples
solubility_resampled <- bind_rows(
  replicate(
    n = times,
    expr = sample_n(solubility_test, size, replace = TRUE),
    simplify = FALSE
  ),
  .id = "resample"
)

# Compute the metric by group
metric_results <- solubility_resampled %>%
  group_by(resample) %>%
  msd(solubility, prediction)

metric_results
#> # A tibble: 10 × 4
#>    resample .metric .estimator .estimate
#>    <chr>    <chr>   <chr>          <dbl>
#>  1 1        msd     standard   -0.0119  
#>  2 10       msd     standard   -0.0424  
#>  3 2        msd     standard    0.0111  
#>  4 3        msd     standard   -0.0906  
#>  5 4        msd     standard   -0.0859  
#>  6 5        msd     standard   -0.0301  
#>  7 6        msd     standard   -0.0132  
#>  8 7        msd     standard   -0.00640 
#>  9 8        msd     standard   -0.000697
#> 10 9        msd     standard   -0.0399  

# Resampled mean estimate
metric_results %>%
  summarise(avg_estimate = mean(.estimate))
#> # A tibble: 1 × 1
#>   avg_estimate
#>          <dbl>
#> 1      -0.0310
源代码:R/num-msd.R

相关用法


注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Mean signed deviation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。