Die meisten zusätzlichen Glättungen in der mgcv- Toolbox sind wirklich für spezielle Anwendungen gedacht - Sie können sie für allgemeine GAMs, insbesondere für univariate Glättungen, weitgehend ignorieren (Sie benötigen keinen Spline mit zufälligen Effekten, keinen Spline auf der Kugel, kein Markov-Zufallsfeld, oder ein Seifenfilm glatter, wenn Sie zum Beispiel univariate Daten haben.)
Wenn Sie die Einrichtungskosten tragen können, verwenden Sie Thin-Plate-Regressionssplines (TPRS).
Diese Splines sind im asymptotischen MSE-Sinne optimal, erfordern jedoch eine Basisfunktion pro Beobachtung. Was Simon in mgcv tut, ist, eine niedrigrangige Version des Standard-TPRS zu generieren, indem es die vollständige TPRS-Basis nimmt und sie einer Eigendekomposition unterwirft. Dies schafft eine neue Basis, bei der die erste k
Basisfunktion im neuen Raum den größten Teil des Signals in der ursprünglichen Basis behält, jedoch in viel weniger Basisfunktionen. Dies ist , wie mgcv verwaltet einen TPRS dass Anwendungen nur eine bestimmte Anzahl von Basisfunktionen zu erhalten , anstatt einem pro Beobachtung. Diese Eigendekomposition bewahrt einen Großteil der Optimalität der klassischen TPRS-Basis, jedoch mit erheblichem Rechenaufwand für große Datenmengen.
Wenn Sie die Einrichtungskosten von TPRS nicht tragen können, verwenden Sie kubische Regressionssplines (CRS).
Dies ist eine schnelle Basis für die Generierung und daher für Probleme mit vielen Daten geeignet. Es ist jedoch knotenbasiert, so dass der Benutzer jetzt bis zu einem gewissen Grad auswählen muss, wo diese Knoten platziert werden sollen. Bei den meisten Problemen gibt es wenig zu gewinnen, wenn Sie über die Standardknotenplatzierung hinausgehen (an der Datengrenze und gleichmäßig dazwischen verteilt). Wenn Sie jedoch über den Bereich der Kovariate eine besonders ungleichmäßige Abtastung haben, können Sie Knoten platzieren Zum Beispiel gleichmäßig verteilte Probenquantile der Kovariate.
Jede andere Glättung in mgcv ist etwas Besonderes. Sie wird verwendet, wenn Sie isotrope Glättungen oder zwei oder mehr Kovariaten wünschen oder wenn sie zur räumlichen Glättung dienen oder wenn eine Schrumpfung oder zufällige Effekte und zufällige Splines implementiert werden oder wenn Kovariaten zyklisch sind oder die Wackeligkeit variiert die Reichweite einer Kovariate. Sie müssen sich nur so weit in die reibungslose Toolbox wagen, wenn Sie ein Problem haben, das eine besondere Behandlung erfordert.
Schwindung
Es gibt Schrumpfungsversionen sowohl des TPRS als auch des CRS in mgcv . Diese implementieren einen Spline, bei dem der perfekt glatte Teil der Basis ebenfalls der Glättungsstrafe unterliegt. Dies ermöglicht es dem Auswahlprozess für die Glätte, einen glatten Rücken über eine lineare Funktion hinaus im Wesentlichen auf Null zu verkleinern. Dadurch kann die Glättungsstrafe auch die Merkmalsauswahl durchführen.
Duchon Splines, P Splines und B Splines
Diese Splines sind für spezielle Anwendungen verfügbar, bei denen Sie die Basisreihenfolge und die Strafreihenfolge separat angeben müssen. Duchon-Splines verallgemeinern das TPRS. Ich habe den Eindruck, dass P-Splines zu mgcv hinzugefügt wurden, um einen Vergleich mit anderen auf Wahrscheinlichkeit bestraften Ansätzen zu ermöglichen, und weil es sich um Splines handelt, die von Eilers & Marx in ihrer Arbeit von 1996 verwendet wurden, was einen Großteil der nachfolgenden Arbeiten in GAMs anspornte. Die P-Splines eignen sich auch als Basis für andere Splines, z. B. Splines mit Formbeschränkungen und adaptive Splines.
B-Splines, wie sie in mgcv implementiert sind, ermöglichen ein hohes Maß an Flexibilität bei der Einrichtung der Strafe und Knoten für die Splines, was eine Extrapolation über den Bereich der beobachteten Daten hinaus ermöglichen kann.
Zyklische Splines
Wenn der Wertebereich für eine Kovariate als ein Kreis betrachtet werden kann, in dem die Endpunkte des Bereichs tatsächlich äquivalent sein sollten (Monat oder Tag des Jahres, Bewegungswinkel, Aspekt, Windrichtung), kann diese Einschränkung auferlegt werden die Basis. Wenn Sie solche Kovariaten haben, ist es sinnvoll, diese Einschränkung aufzuerlegen.
Adaptive Glätter
Anstatt ein separates GAM in Abschnitte der Kovariate einzupassen, verwenden adaptive Splines eine gewichtete Strafmatrix, bei der die Gewichte über den Bereich der Kovariate gleichmäßig variieren können. Beispielsweise nehmen die TPRS- und CRS-Splines über den Bereich der Kovariate den gleichen Grad an Glätte an. Wenn Sie eine Beziehung haben, in der dies nicht der Fall ist, können Sie am Ende mehr Freiheitsgrade als erwartet verwenden, damit sich der Spline an die wackeligen und nicht wackeligen Teile anpassen kann. Ein klassisches Beispiel in der Glättungsliteratur ist das
library('ggplot2')
theme_set(theme_bw())
library('mgcv')
data(mcycle, package = 'MASS')
pdata <- with(mcycle,
data.frame(times = seq(min(times), max(times), length = 500)))
ggplot(mcycle, aes(x = times, y = accel)) + geom_point()
Diese Daten weisen eindeutig Perioden unterschiedlicher Glätte auf - praktisch Null für den ersten Teil der Serie, Lose während des Aufpralls, die sich danach verringern.
Wenn wir diesen Daten ein Standard-GAM anpassen,
m1 <- gam(accel ~ s(times, k = 20), data = mcycle, method = 'REML')
Wir bekommen eine vernünftige Passform, aber es gibt zu Beginn und am Ende des Bereichs times
und der verwendeten Passform eine zusätzliche Wackeligkeit von ~ 14 Freiheitsgraden
plot(m1, scheme = 1, residuals = TRUE, pch= 16)
Um der unterschiedlichen Wackeligkeit Rechnung zu tragen, verwendet ein adaptiver Spline eine gewichtete Strafmatrix, wobei die Gewichte gleichmäßig mit der Kovariate variieren. Hier rüste ich das Originalmodell mit der gleichen Basisabmessung (k = 20) um, aber jetzt haben wir 5 Glättungsparameter (Standard ist m = 5
) anstelle der 1 des Originals.
m2 <- gam(accel ~ s(times, k = 20, bs = 'ad'), data = mcycle, method = 'REML')
Beachten Sie, dass dieses Modell weitaus weniger Freiheitsgrade (~ 8) verwendet und die angepasste Glätte an den Enden viel weniger wackelig ist, während die großen Änderungen der Kopfbeschleunigung während des Aufpralls dennoch angemessen angepasst werden können.
Was hier tatsächlich vor sich geht, ist, dass der Spline eine Basis für Glattheit und eine Basis für die Strafe hat (damit die Gewichte reibungslos mit der Kovariate variieren können). Standardmäßig beide davon sind P - Splines, aber Sie können auch die CRS Basis Typen verwenden ( bs
kann nur eine sein 'ps'
, 'cr'
, 'cc'
, 'cs'
.)
Wie hier dargestellt, hängt die Wahl, ob adaptiv gearbeitet werden soll oder nicht, wirklich vom Problem ab. Wenn Sie eine Beziehung haben, für die Sie annehmen, dass die funktionale Form glatt ist, der Grad der Glätte jedoch über den Bereich der Kovariate in der Beziehung variiert, kann ein adaptiver Spline sinnvoll sein. Wenn Ihre Serie Perioden mit schnellen Änderungen und Perioden mit geringen oder allmählicheren Änderungen aufwies, könnte dies darauf hinweisen, dass möglicherweise eine adaptive Glättung erforderlich ist.