Интерпретация контурных графиков (mgcv)

Когда мы строим модель GAM, используя пакет mgcv с изотропными сглаживателями, у нас получается что-то вроде этого контурного графика:

  • ось x для одного предиктора,
  • ось y для другого предиктора,
  • основной является функция s(x1, x2) (изотропная плавность).

Предположим, что в этой модели у нас есть много других изотропных сглаживателей, таких как: y ~ s(x1, x2) + s(x3, x4) + s(x5, x6)

Мои сомнения заключаются в следующем:
При интерпретации контурного графика для s(x1, x2) что происходит с другими изотропными сглаживателями?
Они «фиксированы в своих медианах»?
Можем ли мы интерпретировать s(x1, x2) ) участок отдельно?


person igorkf    schedule 27.04.2020    source источник


Ответы (1)


Поскольку эта модель является аддитивной по функциям, вы можете интерпретировать функции (отдельные s() термины) по отдельности, но не обязательно как отдельные эффекты ковариат на отклик. В вашем случае нет перекрытия между ковариатами в каждом из двумерных сглаживаний, поэтому вы также можете интерпретировать их как влияние ковариат на ответ отдельно от других сглаживателей.

Все гладкие функции обычно подчиняются ограничению суммы до нуля, чтобы постоянный член модели (отрезок) мог быть идентифицируемым параметром. Таким образом, нулевая линия на каждом графике представляет собой значение постоянного члена модели (в масштабе функции связи или линейного предиктора).

Графики, показанные на выходе plot.gam(model), являются графиками частичных эффектов или частичными графиками. Вы можете игнорировать другие члены, если хотите понять влияние этого члена на отклик как функцию ковариат для этого термина.

Если у вас есть другие термины в модели, которые могут включать одну или несколько ковариат в других терминах, и вы хотите посмотреть, как изменяется ответ при изменении этого термина или коавриата, вам следует прогнозировать на основе моделируйте диапазон интересующих вас переменных, удерживая другие переменные в некоторых значениях представления, скажем, их средних значениях или медианах.

Например, если у вас было

model <- gam(y ~ s(x, z) + s(x, v), data = foo, method = 'REML')

и вы хотите знать, как изменяется ответ в зависимости только от x, вы зафиксируете z и v на репрезентативных значениях, а затем предскажете диапазон значений для x:

newdf <- with(foo, expand.grid(x = seq(min(x), max(x), length = 100),
                               z = median(z)
                               v = median(v)))
newdf <- cbind(newdf, fit = predict(model, newdata = newdf, type = 'response'))
plot(fit ~ x, data = newdf, type = 'l')

Кроме того, см. ?vis.gam в пакете mgcv как средство подготовки графиков, подобных этому, но где он выполняет тяжелую работу.

person Gavin Simpson    schedule 27.04.2020
comment
Итак, на контурных графиках (когда у нас есть изотропные сглаживатели) мы все еще можем интерпретировать каждый график отдельно? - person igorkf; 27.04.2020
comment
Как я сказал в первой строке ответа, вы можете интерпретировать гладкие функции отдельно, а не эффекты коавриатов. В вашем случае нет перекрытия между ковариатами в каждом из двумерных сглаживаний, поэтому вы также можете интерпретировать их как влияние ковариат на ответ отдельно от других сглаживателей. но в более общих случаях вы должны быть осторожны, чтобы думать только с точки зрения функций. - person Gavin Simpson; 27.04.2020
comment
Хай Гэвин! Что касается интерпретации оси Y, не могли бы вы взглянуть на мой вопрос, пожалуйста? stackoverflow.com/questions/66429682/ - person Guilherme Parreira; 06.03.2021