Ich benutze R. Ich habe 25 Variablen über 15 Zeitpunkte, mit 3 oder mehr Wiederholungen pro Variable pro Zeitpunkt. Ich habe melt
ed dies in eine data.frame
, die ich glücklich mit (unter anderem) ggplot facet_wrap()
Befehl plotten kann. Mein geschmolzener Datenrahmen heißt lis
; hier ist sein Kopf und Schwanz, so dass Sie eine Vorstellung von den Daten zu erhalten:R + ggplot: Wie verwende ich einen benutzerdefinierten Glätter (Gauß-Prozess)
> head(lis)
time variable value
1 10 SELL 8.170468
2 10 SELL 8.215892
3 10 SELL 8.214246
4 15 SELL 8.910654
5 15 SELL 7.928537
6 15 SELL 8.777784
> tail(lis)
time variable value
145 1 GAS5 10.92248
146 1 GAS5 11.37983
147 1 GAS5 10.95310
148 1 GAS5 11.60476
149 1 GAS5 11.69092
150 1 GAS5 11.70777
ich ein schönes Grundstück von all den Zeitreihen bekommen, zusammen mit einem eingebauten Spline und 95% Konfidenzintervall folgende ggplot2 Befehle:
p <- ggplot(lis, aes(x=time, y=value)) + facet_wrap(~variable)
p <- p + geom_point() + stat_smooth(method = "lm", formula = y ~ ns(x,3))
Das Problem ist, dass der Glätter ist nicht nach meinem Geschmack - die 95% Konfidenzintervalle sind weg. Ich würde gern Gaußsche Prozesse (GP) verwenden, um eine bessere Regression und Schätzung der Kovarianz für meine Zeitreihe zu erhalten.
kann ich einen GP passen so etwas wie
library(tgp)
out <- bgp(X, Y, XX = seq(0, 200, length = 100))
mit der Zeit in XX
X
, Beobachtungen Y
und macht Vorhersagen an jedem Punkt nimmt. Das Objekt out
enthält eine Menge Dinge über diese Vorhersagen, einschließlich einer Kovarianzmatrix, die ich anstelle des 95% -Konfidenzintervalls verwenden kann, das ich (glaube ich?) Von ns()
bekomme.
Das Problem ist, ich bin nicht, wie man diese Funktion umschließt, um es Schnittstelle mit ggplot2::stat_smooth()
zu machen. Irgendwelche Ideen oder Hinweise, wie man fortfährt, würde sehr geschätzt werden!