使用tidymodels验证模型假设。

3

在tidymodels的范围之外,验证模型假设很容易。例如,在线性回归(函数lm)中,包performance创建易于理解的图形和简单的函数(check_heteroscedasticity())来验证线性回归模型的假设:

  • 残差的正态分布性
  • 残差的独立性
  • 残差的同方差性
  • 变量之间没有多重共线性。

在tidymodels的范围内是否有等效的包来验证模型的假设?Tidymodels包创建了parnsnip对象,因此旧的模型评估包如performance已经无用。

感谢您的帮助


我认为infer是专门为此目的设计的;可以查看hypothesise函数。 - Konrad
请注意,您的术语并不是“正确”的,即您不想检查您的假设,而是要检查您的模型假设(!)。 - deschen
1个回答

7

使用 {parsnip} 或其他 {tidymodels} 得到的拟合模型将包含您正在使用的任何引擎的基础拟合模型。

有时,拟合的 parsnip 对象将与您正在使用的函数直接配合使用。这是来自 {performance} 的 check_model() 函数的情况。

library(tidymodels)
library(performance)

lm_spec <- linear_reg() %>%
  set_mode("regression") %>%
  set_engine("lm")

lm_fit <- fit(lm_spec, mpg ~ ., data = mtcars)

lm_fit %>%
  check_model()

有时,你会因为函数不知道如何处理 model_fit 对象而出现错误。你可以使用 extract_fit_engine() 函数提取引擎生成的适配器,然后将其与 check_heteroscedasticity() 函数一起使用。

lm_fit %>% 
  extract_fit_engine() %>%
  check_heteroscedasticity()
#> OK: Error variance appears to be homoscedastic (p = 0.188).

此内容由 reprex 包(v2.0.1)于 2021-09-06 创建


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接