Ich versuche herauszufinden, wie die Glättungsparameter in einem mgcv: gam-Modell gesteuert werden.
Ich habe eine Binomialvariable, die ich hauptsächlich als Funktion der x- und y-Koordinaten auf einem festen Gitter modellieren möchte, sowie einige andere Variablen mit geringfügigeren Einflüssen. In der Vergangenheit habe ich ein einigermaßen gutes lokales Regressionsmodell unter Verwendung des Pakets locfit und nur der (x, y) -Werte erstellt.
Ich möchte jedoch versuchen, die anderen Variablen in das Modell einzubeziehen, und es sah so aus, als wären generalisierte additive Modelle (GAM) eine gute Möglichkeit. Nachdem ich mir die Pakete gam und mgcv angesehen hatte, die beide eine GAM-Funktion haben, entschied ich mich für Letzteres, da einige Kommentare in Mailinglisten-Threads dies zu empfehlen scheinen. Ein Nachteil ist, dass es nicht scheint, eine lokale Regression wie Löss oder locfit glatter zu unterstützen.
Zunächst wollte ich nur versuchen, das Locfit-Modell mit nur (x, y) Koordinaten zu replizieren. Ich habe es sowohl mit regulären als auch Tensor-Glättungen versucht:
my.gam.te <- gam(z ~ te(x, y), family=binomial(logit), data=my.data, scale = -1)
my.gam.s <- gam(z ~ s(x, y), family=binomial(logit), data=my.data, scale = -1)
Zeichnet man jedoch die Vorhersagen aus dem Modell, so sind sie im Vergleich zum Locfit-Modell wesentlich geglätteter. Also habe ich versucht, das Modell so abzustimmen, dass es nicht so stark überglättet. Ich habe versucht, die Parameter sp und k anzupassen, aber mir ist nicht klar, wie sie sich auf die Glättung auswirken. In locfit steuert der Parameter nn die Spanne der verwendeten Nachbarschaft, wobei kleinere Werte eine geringere Glättung und ein stärkeres "Wackeln" ermöglichen. Auf diese Weise können einige Bereiche im Raster erfasst werden, in denen sich die Wahrscheinlichkeit der Binomialergebnisse schnell ändert. Wie würde ich vorgehen, um das Gam-Modell so einzurichten, dass es sich ähnlich verhält?