Я пытаюсь извлечь размещение узлов из модели GAM, чтобы разграничить мою переменную-предиктор на категории для другой модели. Мои данные содержат переменную двоичного ответа (используется) и непрерывный предиктор (открытый).mgcv: Extract Knot Locations для `tp` smooth from the GAM model
data <- data.frame(Used = rep(c(1,0,0,0),1250),
Open = round(runif(5000,0,50), 0))
я вписываюсь в GAM как таковой:
mod <- gam(Used ~ s(Open), binomial, data = data)
я могу получить предсказанные значения, и матричную модель и т.д. либо type=c("response", "lpmatrix")
в функции predict.gam
, но я борюсь с вне извлечь узел места, в которых коэффициенты изменяются. Любое предложение действительно оценено!
out<-as.data.frame(predict.gam(model1, newdata = newdat, type = "response"))
Я бы также интересно, если это возможно, чтобы сделать что-то вроде:
http://www.fromthebottomoftheheap.net/2014/05/15/identifying-periods-of-change-with-gams/
, в котором определены статистическое увеличение/уменьшение шлицы, однако, я не использую GAMM в этот момент и, следовательно, возникают проблемы с идентификацией аналогичных характеристик модели в GAM, которые извлекаются из его модели GAMM. Этот второй пункт больше из любопытства, чем что-либо.
Спасибо за понимание. Единственное, что я добавил после попытки, это то, что команда для гладких $ узлов, которые вы продемонстрировали в предыдущем ответе, будет гладкой $ xp при использовании кубических регрессионных сплайнов (bs = "cr"). В связи с этим вопросом тогда, в то время как адаптивная гладкая является подходящим узлом с использованием по умолчанию 40 узлов, равномерно распределенных по диапазону переменной, является кубическим сплайном, оценивающим наилучшее количество узлов (равномерное пространство также) на основе перекрестной проверки (в моем случае я получаю 9?). Еще раз спасибо. –