Эквивалент span с использованием geom_smooth() с gam

Это, наверное, очень простой вопрос, но я еще не нашел ответа. Есть ли эквивалент аргумента span в функции geom_smooth при method = "gam"? Я не знаком с GAM в целом, поэтому буду признателен за любую информацию по этому поводу. Я хочу добавить более гибкое (покачивающееся) сглаживание к данным с n > 1'000, а method = "loess" требует много времени для расчета.


person b_surial    schedule 22.12.2020    source источник


Ответы (1)


mgcv::gam по умолчанию оптимизирует гладкость, используя штрафную регрессию. Вы можете отключить это и указать плавность вручную с помощью параметра k:

ggplot(mpg, aes(displ, hwy)) +
  geom_point() +
  geom_smooth(method = "gam", 
              formula = y ~ s(x, bs = "cs", fx = TRUE, k = 20))

Вам, вероятно, следует изучить документацию пакета mgcv.

person Roland    schedule 22.12.2020
comment
Большое спасибо, это было именно то, что я искал. Я уже догадался, что в этом задействовано количество узлов, но я не мог понять, как это сделать. - person b_surial; 22.12.2020