R + ggplot: Wie verwende ich einen benutzerdefinierten Glätter (Gauß-Prozess)?

9

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 ein data.frame , was ich glücklich darstellen kann, indem ich (unter anderem) den Befehl facet_wrap() von ggplot verwende. Mein geschmolzener Datenrahmen heißt lis ; hier ist sein Kopf und Schwanz, so bekommen Sie eine Vorstellung von den Daten:

%Vor%

Ich kann mit den folgenden ggplot2-Befehlen ein schönes Diagramm aller Zeitreihen zusammen mit einem angepassten Spline und 95% -Konfidenzintervallen erhalten:

%Vor%

Das Problem ist, dass der Glätter nicht zu meinem Geschmack ist - die 95% -Konfidenzintervalle sind weit 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.

Ich kann einen GP mit etwas wie

anpassen %Vor%

Das dauert Zeit X , Beobachtungen Y und macht Vorhersagen an jedem Punkt in XX . 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 (denke ich?) Von ns() erhalten habe.

Das Problem ist, dass ich diese Funktion nicht umbrechen kann, damit sie mit ggplot2::stat_smooth() interagiert. Irgendwelche Ideen oder Hinweise, wie man fortfährt, würde sehr geschätzt werden!

    
Mike Dewar 04.06.2010, 21:42
quelle

1 Antwort

6

Es sieht so aus, als ob bgp nicht dem Standard-R-Stil für Modellierungsfunktionen entspricht. Dies bedeutet, dass Sie es nicht in geom_smooth verwenden können und das Modell außerhalb des ggplot2-Aufrufs angepasst werden muss. Sie können auch eine E-Mail an den Autor des tgp -Pakets senden und sie ermutigen, den R-Standards zu folgen.

    
hadley 05.06.2010 01:01
quelle