Ich versuche, die Platzierung der Knoten aus einem GAM-Modell zu extrahieren, um meine Prädiktorvariablen in Kategorien für ein anderes Modell einzugrenzen. Meine Daten enthalten eine binäre Antwortvariable (verwendet) und einen kontinuierlichen Prädiktor (offen).mgcv: Knotenpositionen für `tp` glatt aus einem GAM-Modell extrahieren
data <- data.frame(Used = rep(c(1,0,0,0),1250),
Open = round(runif(5000,0,50), 0))
ich passen die GAM als solche:
mod <- gam(Used ~ s(Open), binomial, data = data)
Ich kann die vorhergesagten Werte bekommen, und die Modellmatrix usw. entweder mit type=c("response", "lpmatrix")
innerhalb der predict.gam
Funktion aber ich aus bin kämpfen, um den Knoten zu extrahieren Orte, an denen sich die Koeffizienten ändern. Jeder Vorschlag wird wirklich geschätzt!
out<-as.data.frame(predict.gam(model1, newdata = newdat, type = "response"))
Ich würde auch interessieren, wenn möglich, wie etwas zu tun:
http://www.fromthebottomoftheheap.net/2014/05/15/identifying-periods-of-change-with-gams/
, in dem die statistischen Zunahme/Abnahme des Splines identifiziert wird, aber ich bin mit einem GAMM nicht Dieser Punkt und somit Probleme bei der Identifizierung ähnlicher Modellmerkmale in GAM, die aus seinem GAMM-Modell extrahiert werden. Dieser zweite Gegenstand ist mehr aus Neugier als alles andere.
Danke für die Einsicht. Die eine Sache, die ich nach dem Versuch hinzufügen würde, ist, dass der Befehl für glatte $ Knoten, den Sie in der vorherigen Antwort demonstriert haben, glatt $ xp ist, wenn Sie die kubischen Regressions-Splines verwenden (bs = "cr"). Bezogen auf diese Frage ist der kubische Spline, der adaptive Smooth-Knoten, der den Standard von 40 Knotenpositionen verwendet, die gleichmäßig über den Bereich der Variablen verteilt sind, auf der Grundlage der Kreuzvalidierung die am besten passende Anzahl von Knoten (gleichmäßig) (in meinem Fall habe ich am Ende 9?). Danke noch einmal. –