Поскольку эта модель является аддитивной по функциям, вы можете интерпретировать функции (отдельные 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