Adaptives GAM glättet in mgcv


9

Simon Woods Buch über GAMs und sein zugehöriges R-Paket mgcv sind sowohl sehr detailliert als auch informativ, wenn es um GAM-Theorie und Modellanpassung an reale und simulierte Daten geht.

Bei 1D-Glättungen gibt es wirklich nicht viel zu befürchten, außer zu entscheiden, ob zyklische oder adaptive Basisfunktionen implementiert werden sollen, was sehr hilfreich sein kann Vergleich zu kubischen, Dünnplatten- und P-Spline-Glättungen unterschiedliche Vorhersageergebnisse liefern können, weil in der Im adaptiven Fall werden mehrere GAMs an verschiedene Regionen entlang eines Splines angepasst. Soweit ich das beurteilen kann, sind zyklische Basen bei der Zeitreihenmodellierung üblich, während adaptive Glättungen berücksichtigt werden sollten, wenn die Daten in Bezug auf die Antwortvariable stark variieren. Adaptive Glättungen sollten jedoch "sparsam und vorsichtig" verwendet werden.

Ich habe GAMs schon seit einiger Zeit untersucht und angesichts meiner Forschungsfrage ändere ich meine Meinung sehr, wenn es darum geht, welche reibungslos zu implementieren sind. mgcv enthält 17 verschiedene Glättungen zur Auswahl (nach meiner Zählung). Ich habe sowohl kubische als auch P-Spline-Glättungen berücksichtigt.

Meine Frage ist nun : Wann sollten adaptive Glättungen gegenüber nicht adaptiven Gegenstücken berücksichtigt werden, wenn das letztendliche Ziel darin besteht, angepasste GAMs für Vorhersagezwecke zu verwenden? Für meine Zwecke halte ich mich an das Standard-GCV-Glättungskriterium, obwohl es die Tendenz hat, zu glätten.

Die Literatur wächst in angewandten ökologischen GAMs, aber ich habe noch keine Studie gefunden, die eine adaptive Glättung implementiert.

Jeder Rat wird geschätzt.

Antworten:


20

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 kBasisfunktion 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()

Geben Sie hier die Bildbeschreibung ein

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 timesund der verwendeten Passform eine zusätzliche Wackeligkeit von ~ 14 Freiheitsgraden

plot(m1, scheme = 1, residuals = TRUE, pch= 16)

Geben Sie hier die Bildbeschreibung ein

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.

Geben Sie hier die Bildbeschreibung ein

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 ( bskann 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.


1
Danke Gavin! Dies ist wirklich eine ausgezeichnete Antwort, von der ich denke, dass sie auch anderen mit der gleichen Sorge helfen wird.
compbiostats

Für mein Problem passe ich eine monoton ansteigende Kurve an, die schließlich zu einer horizontalen Asymptote abfällt. Zu Beginn meiner Kurve steigen die Daten ziemlich schnell an, bevor sie sich schließlich in Richtung einer Asymptote verlangsamen. In einigen Fällen ist eine Extrapolation (nah / fern) außerhalb des Bereichs der beobachteten Daten erforderlich. Meine Modelle sind sehr einfach, aber mir ist klar, dass Vorhersagen hier bestenfalls spekulativ sind.
compbiostats
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.