Визуализация моделей GAM в R

Кто-нибудь знает, как очень хорошо визуализировать гладкую составляющую gam моделей в R? Мне бы очень хотелось визуализировать что-то вроде вывода функции visreg. Этот код ниже иллюстрирует мою проблему

library(gam)

f=function(v){exp(v)}
n=100
x=runif(n)
t=runif(n)
y=x+f(t)+rnorm(n, sd=0.1)

fit=gam(y~x+s(t))

plot(t,y)
lines(t,as.numeric(fit$smooth))

#want something more like
library(visreg)
visreg(fit)

person justin1.618    schedule 19.05.2015    source источник
comment
Вы пробовали plot(fit)?   -  person Roman Luštrik    schedule 19.05.2015
comment
Я пробовал сюжетную подгонку, но получаю сообщение об ошибке. По-видимому, причина указана ниже.   -  person justin1.618    schedule 20.05.2015


Ответы (1)


Вы можете использовать метод построения графика для игровых объектов, но вам придется использовать параметр data для gam:

library(gam)

f <- function(v){exp(v)}
n <- 100
x <- runif(n)
t <- runif(n)
y <- x+f(t)+rnorm(n, sd=0.1)
DF <- data.frame(y, x, t)

fit <- gam(y~x+s(t), data = DF)
layout(t(1:2))
plot(fit, se=TRUE)

результирующий сюжет

См. help("plot.gam") для других вариантов.

person Roland    schedule 19.05.2015
comment
Спасибо. Вы знаете, почему шкала не работает на графиках? Диапазон f(t) составляет примерно от 1 до 2,75, но на графиках s(t) находится в пределах от менее чем -0,5 до 1? Кроме того, вы знаете, как добавить точки t, y? Я пробовал точки (t, y), но это не сработало. Спасибо за вашу помощь! - person justin1.618; 20.05.2015
comment
Вы должны немного почитать о GAM. Сглаживатели расположены по центру. - person Roland; 20.05.2015