Ich suche auf dieser Seite nach einem Workshop zu GAM in R: http://qcbs.ca/wiki/r_workshop8
Am Ende des Abschnitts 2. Multiple smooth terms
zeigen sie ein Beispiel, in anova
dem drei verschiedene Modelle verglichen werden, um das am besten passende Modell zu ermitteln. Die Ausgabe ist
Analysis of Deviance Table
Model 1: y ~ x0 + s(x1)
Model 2: y ~ x0 + s(x1) + x2
Model 3: y ~ x0 + s(x1) + s(x2)
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 394.08 5231.6
2 393.10 4051.3 0.97695 1180.2 < 2.2e-16 ***
3 385.73 1839.5 7.37288 2211.8 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Daraus schließen sie, dass Modell 3 am besten ist. Meine Frage ist, wie sie das sehen?
Mein derzeitiges Verständnis ist: Der Pr(>Chi)
-Wert ist sowohl für Modell 2 als auch für Modell 3 klein, daher sind diese besser als Modell 1. Welche andere Variable verwenden sie jedoch, um zu bestimmen, dass 3 besser als 2 ist?
s
definiert ist. (Ich nehme an, es ist eine Art Spline, aber ich zögere es, mehr als das .) Wir können an der Ausgabe erkennen, dass es ziemlich kompliziert ist - der Übergang vonx2
zus(x2)
fügt Freiheitsgrade hinzu - aber das ist alles, was wir bestimmen können darüber aus dieser Ausgabe.AIC(model1, model2, model3)
zeigt, dass Modell 3 eine niedrigere hatAIC
. Dies könnte ein weiterer Beweis dafür sein, dass es das optimale Modell unter den drei istAntworten:
Die Ausgabe von
anova()
ist eine Reihe von Likelihood-Ratio-Tests. Die Zeilen in der Ausgabe sind:x1
(ich ignoriere den Faktor,x0
da er in Ihrem Beispiel nicht berücksichtigt werden muss) - dies wird nicht gegen etwas Einfacheres getestet, daher sind die letzten Spalteneinträge leeren.Die zweite Zeile ist ein Likelihood-Ratio-Test zwischen dem Modell in Zeile 1 und dem Modell in Zeile 2. Auf Kosten
0.97695
zusätzlicher Freiheitsgrade wird die Restabweichung um verringert1180.2
. Diese Verringerung der Abweichung (oder umgekehrt die Erhöhung der Abweichung erklärt) auf Kosten von <1 Freiheitsgrad ist höchst unwahrscheinlich, wenn der wahre Effekt vonx2
0 wäre.Warum nehmen die
0.97695
Freiheitsgrade zu? Nun, die lineare Funktion vonx2
würde dem Modell 1 df hinzufügen, aber die glattere Funktionx1
wird etwas mehr als zuvor bestraft und verwendet daher etwas weniger effektive Freiheitsgrade, daher die <1-Änderung der Gesamtfreiheitsgrade.x2
als linearem Begriff zur Modellierungx2
als glatte Funktion. Auch diese Verbesserung der Modellanpassung (Änderung der Abweichung geht jetzt2211.8
zu Lasten von7.37288
mehr Freiheitsgraden) ist unwahrscheinlich, wenn die damit verbundenen zusätzlichen Parameters(x2)
alle gleich 0 wären .Zusammenfassend sagt Zeile 2, dass Modell 2 besser passt als Modell 1, sodass eine lineare Funktion von
x2
besser ist als kein Effekt vonx1
. In Zeile 3 heißt es jedoch, dass Modell 3 besser zu den Daten passt als Modell 2, sodass eine glatte Funktion vonx2
einer linearen Funktion von vorgezogen wirdx2
. Dies ist eine sequentielle Analyse von Modellen, keine Reihe von Vergleichen mit dem einfachsten Modell.Jedoch…
Was sie zeigen, ist nicht der beste Weg, dies zu tun - die jüngste Theorie würde vorschlagen, dass die Ausgabe von
summary(m3)
die "korrektesten" Abdeckungseigenschaften aufweist. Um zwischen Modellen zu wählen, sollte man wahrscheinlichselect = TRUE
beim Anpassen des vollständigen Modells (das mit zwei Glättungen) verwenden, was eine Schrumpfung von Begriffen ermöglichen würde, die das Modell mit linearerx2
oder sogar keiner Auswirkung dieser Variablen einschließen würden . Sie passen auch nicht zur REML- oder ML-Glättungsauswahl, die viele von uns mgcv- Benutzern als Standardoption betrachten würden (obwohl dies nicht die tatsächliche Standardeinstellung istgam()
).Was ich tun würde ist:
Die letzte Zeile erzeugt Folgendes:
Wir können sehen, dass sich beide glatten Terme signifikant von Nullfunktionen unterscheiden.
Was
select = TRUE
getan wird, ist eine zusätzliche Strafe auf den Nullraum der Strafe zu setzen (dies ist der Teil des Splines, der vollkommen glatt ist). Wenn Sie dies nicht haben, kann die Glättungsauswahl nur einen glatten Rücken zu einer linearen Funktion bestrafen (da die Strafe für die Glättungsauswahl nur für die nicht glatten (wackeligen) Teile der Basis gilt). Um eine Auswahl durchführen zu können, müssen wir auch den Nullraum (die glatten Teile der Basis) bestrafen können.select = TRUE
Dies wird durch die Verwendung einer zweiten Strafe erreicht, die zu allen glatten Begriffen im Modell hinzugefügt wird (Marra und Wood, 2011). Dies wirkt als eine Art Schrumpfung, bei der alle glatten Terme etwas gegen 0 gezogen werden, aber überflüssige Terme werden viel schneller gegen 0 gezogen, sodass sie aus dem Modell ausgewählt werden, wenn sie keine Erklärungskraft haben. Wir zahlen dafür einen Preis, wenn wir die Bedeutung der Glättungen bewerten. Beachten Sie dieRef.df
obige Spalte (die 9 stammt aus dem Standardwert vonk = 10
, was für dünne Platten-Splines mit Zentrierungsbeschränkungen 9 Basisfunktionen bedeutet), anstatt etwa 2,5 und 7,7 Freiheitsgrade für die Splines zu zahlen, zahlen wir 9 Grad von Freiheit jeder. Dies spiegelt die Tatsache wider, dass wir die Auswahl getroffen haben und nicht sicher waren, welche Begriffe im Modell enthalten sein sollten.Hinweis: Es ist wichtig, dass Sie keine
anova(m1, m2, m3)
Typaufrufe für Modelle verwenden, die verwendenselect = TRUE
. Wie in erwähnt?mgcv:::anova.gam
, kann die verwendete Annäherung für Glättungen mit Strafen für ihre Nullräume sehr schlecht sein.In den Kommentaren erwähnte @BillyJean die Verwendung von AIC zur Auswahl. Jüngste Arbeiten von Simon Wood und Kollegen (Wood et al., 2016) haben einen AIC abgeleitet, der die zusätzliche Unsicherheit berücksichtigt, da wir die Glättungsparameter im Modell geschätzt haben. Dieser AIC funktioniert ziemlich gut, aber es gibt einige Diskussionen über das Verhalten ihrer Ableitung von AIC, wenn IIRC-Glättungen nahe an linearen Funktionen liegen. Wie auch immer, AIC würde uns geben:
Hinweis: Ich habe all dies mit der ML-Glättungsauswahl ausgestattet, da ich nicht sicher bin, was der AIC wann tut,
select = TRUE
und Sie müssen vorsichtig sein, wenn Sie Modelle mit verschiedenen festen Effekten, die nicht vollständig bestraft werden, mit REML vergleichen.Wieder ist die Folgerung klar; Das Modell mit Glättungen
x1
undx2
hat eine wesentlich bessere Passform als jedes der beiden anderen Modelle.Marra, G. & Wood, SN Praktische Variablenauswahl für verallgemeinerte additive Modelle. Comput. Stat. Daten Anal. 55, 2372–2387 (2011).
Wood, SN, Pya, N. & Säfken, B. Glättungsparameter und Modellauswahl für allgemeine glatte Modelle. Marmelade. Stat. Assoc. 111, 1548–1563 (2016).
quelle
?anova.lm
es gibt keine solche Option, kann F chisq oder CP seinmgcv:::anova.gam
nicht die Methode fürlm
Modelle. Dies sind Analysen von Abweichungstests, aber das ist dasselbe wie die Wahrscheinlichkeitsverhältnisse.anova()
aber welche davon abhängen, was das Modell ist. Bei nicht-Gaußschen Modellen werden häufig Likelihood-Ratio-Tests oder ähnliche Tests durchgeführt, die Annahmen variieren jedoch. Sie variieren sogar für GLMs und GAMs.anova()
ist eine Komfortfunktion, aber ANOVA sensu macht das allgemeine lineare Modell nur für ein allgemeines lineares Modell (angepasst überlm()
say).select = TRUE
bedeutet, ist die vollständige Bestrafung aller glatten Begriffe, die AFAIU mit REML OK vergleicht. Ich habe mir die Details des neuen AIC für GAMS nicht angesehen, um zu sehen, was es mit den zusätzlichen Strafen tun würde, die bei der Verwendung hinzugefügt werdenselect = TRUE
. Wenn wirselect = TRUE
also auf der sicheren Seite bleiben, haben wir das Problem, dass REML keine echte Wahrscheinlichkeit ist und nicht in AIC-Vergleichen verwendet wird, da es von den festen Effekten im Modell abhängt. Die Berücksichtigung beider Bedenken bedeutet, dass ich beim Umrüstenmethod = "ML"
(nichtmethod = "REML"
) verwendet habe.Möglicherweise möchten Sie die beiden Modelle mit testen
lrest
.Während das Hinzufügen einer glatten Funktion zu beiden Begriffen das Modell tatsächlich kompliziert, ist die Verbesserung der Log-Wahrscheinlichkeit signifikant. Dies sollte nicht überraschen, da die Daten von einem GAM-Simulator generiert wurden.
Möglicherweise möchten Sie auch die zusammenfassende Statistik ausdrucken:
und
Beachten Sie den Unterschied in der Abweichung erklärt (es ist riesig). Das kompliziertere Modell hat auch ein besseres R-Quadrat (adj). Der zweite Glättungsterm ist von großer Bedeutung und passt gut zu den Daten.
quelle