In gewohnter Weise:
p <- predict(mod, newdata, type = "link", se.fit = TRUE)
Beachten Sie dann, dass p
eine Komponente $se.fit
mit Standardfehlern der Vorhersagen für Beobachtungen in enthält newdata
. Sie können dann CI bilden, indem Sie die SE mit einem Wert multiplizieren, der Ihrem gewünschten Level entspricht. Beispielsweise wird ein ungefähres 95% -Konfidenzintervall wie folgt gebildet:
upr <- p$fit + (2 * p$se.fit)
lwr <- p$fit - (2 * p$se.fit)
Sie ersetzen das benötigte Intervall durch einen geeigneten Wert aus einer oder Gaußschen Verteilung.t
Beachten Sie, dass ich benutze, type = "link"
wie Sie nicht sagen, wenn Sie ein GAM oder nur eine AM haben. Im GAM müssen Sie das Konfidenzintervall auf der Skala des linearen Prädiktors bilden und dieses dann in die Skala der Antwort umwandeln, indem Sie die Inverse der Verbindungsfunktion anwenden:
upr <- mod$family$linkinv(upr)
lwr <- mod$family$linkinv(lwr)
Beachten Sie nun, dass dies sehr ungefähre Intervalle sind. Außerdem beziehen sich diese Intervalle auf die vorhergesagten Werte und berücksichtigen nicht die Tatsache, dass die Glättungsauswahl durchgeführt wurde.
Aus der posterioren Verteilung der Parameter kann durch Simulation ein simultanes Konfidenzintervall berechnet werden. Ich habe ein Beispiel dafür auf meinem Blog .
Wenn Sie ein Konfidenzintervall wünschen, das nicht von den Glättungsparametern abhängig ist (dh eines, das die Werte der Glättungsparameter berücksichtigt, die wir nicht kennen, sondern stattdessen schätzen), fügen Sie unconditional = TRUE
dem predict()
Aufruf hinzu.
Wenn Sie dies nicht selbst tun möchten, beachten Sie, dass neuere Versionen von mgcv eine plot.gam()
Funktion haben, die ein Objekt mit allen Daten zurückgibt, die zum Erstellen der Plots der Glättungen und ihrer Konfidenzintervalle verwendet werden. Sie können die Ausgabe einfach plot.gam()
in einem Objekt speichern
obj <- plot(model, ....)
und dann inspizieren obj
, was eine Liste mit einer Komponente pro Glättung ist. In seWithMean = TRUE
auf den plot()
Anruf Konfidenzintervall zu erhalten , die auf Glätte Parameter nicht an Bedingungen geknüpft ist.