У меня есть две переменные, которые сильно коррелированы (хотя и не являются абсолютно линейными, а следовательно, и обобщенной моделью присадок), которые были измерены за один период времени. Я могу построить надежный GAM между ними с большим количеством объяснений отклонения и хорошими графиками проверки. Так, например, на некоторых гипотетических данных (без учета графики проверки и девиации объяснено в данном примере),Прогнозирование значений на основе GAM, проведенных на отдельном фрейме данных
date <- as.data.frame(seq(from = as.POSIXct("2007/9/01"),
to = as.POSIXct("2008/3/01"), by = "day"))
a1 <- as.data.frame(matrix(sample(0:1000, 18.3*10, replace=TRUE), ncol=1))
b1 <- as.data.frame(matrix(sample(0:1000, 18.3*10, replace=TRUE), ncol=1))
df1 <- cbind(date,a1,b1)
colnames(df1) <- c("date","a1","b1")
library(mgcv)
gam <- gam(a1 ~ s(b1), data = df1)
Теперь на отдельном dataframe, у меня есть одна из этих переменных, измеренных в течение более длительного периода времени. Есть ли способ предсказать вторую переменную ответа в течение этой продолжительности? Так, например ...
date2 <- as.data.frame(seq(from = as.POSIXct("2006/1/01"),
to = as.POSIXct("2008/12/31"), by = "day"))
a2 <- as.data.frame(matrix(sample(0:1000, 109.6*10, replace=TRUE), ncol=1))
df2 <- cbind(date2,a2)
colnames(df2) <- c("date","a2")
Я пробовал это, что не похоже на работу.
b2_predict <- predict.gam(gam,df2$a2)
Я получаю сообщение об ошибке
< b2_predict - predict.gam (гам, df2 $ a2)
Ошибка в model.frame.default (Ф.Ф., данные = NewData, na.action = na.act):
неверный тип (список) для переменной 'b1'
Любая идея, как это исправить?
Боюсь, то же самое сообщение об ошибке возникла на моем сценарии –
ОК, chnage линию перед тем b2_predict к: COLNAMES (df2) <- с ("Дата",» a2 ") – grubjesic
Блестяще благодарю вас! Я не видел опечатку в коде выше. –