2014-12-01 1 views
0

Я сделал график фактор-гладкого взаимодействия, построенный по s(... bs = "fs") в пакете mgcv. Однако представляется, что аргументы xlim и main (и несколько других аргументов) plot.gam() работают некорректно, хотя те же аргументы для построения других видов сглаживания работают.Некоторые аргументы, не предназначенные для построения фактор-гладкого взаимодействия в mgcv

Вот пример.

Обновление: Я изменил пример, чтобы лучше отразить проблему, которая у меня есть (2 декабря 2014 г.).

library(mgcv) 

# create toy data 
set.seed(1) 
d <- data.frame(
x = runif(10 * 100), 
f = rep(paste0("f", 1:10), each = 100) 
) 
d$y <- 2 * d$x + 10 + rnorm(10 * 100) 

# build a model 
model <- gam(y ~ s(x) + s(x, f, bs = "fs"), data = d) 

Следующий код, который производит участок, соответствующий s(x) перспективе выше, ограничивает ось х и помещает название, как и предполагалось.

plot(model, select = 1, xlim = c(0.4, 0.6), main = "Title") 

Однако следующий код, который генерирует участок, соответствующий s(x, f, bs = "fs") срока выше, не ограничивает ось й или производить заголовок.

plot(model, select = 2, xlim = c(0.4, 0.6), main = "Title") 

Я подозреваю, mgcv::plot.gam() не проходит (некоторые) аргументы mgcv:::plot.fs.interaction() или mgcv:::plot.mgcv.smooth() в некоторых случаях, но не в состоянии понять, почему это происходит и как это исправить. Буду признателен за любую помощь.

ответ

0

Я признаю, что это подход с грубой силой, который в принципе не «фиксирует mgcv», но я считаю, что исправление mgcv выше моих способностей.

with(d, plot(X=   seq(0,1,length=100), 
      gamPred.x2 = predict(model, 
        newdata=data.frame(x1=mean(x1), 
             x2=seq(0,1,length=100), 
             f="f5") 
     ))) 
+0

Благодарим за отзыв. Это действительно похоже на то, что я делаю сейчас. Проблема заключается в том, что этот подход показывает предсказанные значения, но не сам по себе. Проблема (и часть, которую я должен был сделать лучше на рисунке выше), состоит в том, что x2 фактически участвует в других гладких терминах. Поэтому, если я вычисляю предсказанные значения, они отражают все термины, которые включают x2. Это также полезно делать, но я также ищу способы изолировать эффекты, которые могут быть связаны только с фактором-гладким взаимодействием. –

+0

Примеры, представленные с недостаточной сложностью для иллюстрации реальной проблемы, заслуживают недостаточно сложных ответов. –

+0

Справа. Извините за упрощение. Я только что обновил вопрос. –

 Смежные вопросы

  • Нет связанных вопросов^_^