Mam ramkę danych, która zawiera dwie serie czasowe: daty i numery wersji wydań Emacs i Firefox. Za pomocą jednego polecenia ggplot2 łatwo jest utworzyć wykres, który używa less (w sposób, który wygląda nieco zabawnie, co nie mam nic przeciwko), aby zamieniać punkty w linie.
Jak mogę przedłużyć linie w przyszłości? Chcę ustalić, gdzie i kiedy przekroczą się numery wersji Emacsa i Firefoksa, a jeśli istnieje sposób na pokazanie zakresu błędów, tym lepiej.
Biorąc pod uwagę, że ggplot2 kreśli linie, musi mieć model, ale nie widzę, jak powiedzieć mu, aby przedłużył linie lub wyciągnął model i coś z nim zrobił.
> library(ggplot2)
> programs <- read.csv("http://www.miskatonic.org/files/se-program-versions.csv")
> programs$Date <- as.Date(programs$Date, format="%B %d, %Y")
> head(programs)
Program Version Date
1 Emacs 24.1 2012-06-10
2 Emacs 23.4 2012-01-29
3 Emacs 23.3 2011-03-10
4 Emacs 23.2 2010-05-08
5 Emacs 23.1 2009-07-29
6 Emacs 22.3 2008-09-05
> head(subset(programs, Program == "Firefox"))
Program Version Date
18 Firefox 16 2012-10-09
19 Firefox 15 2012-08-28
20 Firefox 14 2012-06-26
21 Firefox 13 2012-06-15
22 Firefox 12 2012-04-24
23 Firefox 11 2012-03-13
> ggplot(programs, aes(y = Version, x = Date, colour = Program)) + geom_point() + geom_smooth(span = 0.5, fill = NA)
(Uwaga: musiałem sfałszować wczesne wersje Firefoksa i zmienić 0,1 na 0,01 itd., Ponieważ „kropka pierwsza” i „kropka dziesiąta” są równe arytmetycznie. Wiem, że Firefox wypuszcza teraz co sześć tygodni, ale nie istnieją ale interesuje mnie ogólna odpowiedź na to pytanie dotyczące prognoz).
źródło
Będziesz musiał przewidzieć wartości dla przyszłych obserwacji poza ggplot2, a następnie wykreślić przewidywane wartości, możesz również uzyskać przedział ufności dla tych prognoz.
Spójrz na funkcję lessa, chociaż nie jestem pewien, czy wykonuje przewidywania poza zakresem danych, jestem pewien, że działa jakaś gładka funkcja.
Jednak zwykle nie jest rozsądne przewidywanie wartości poza zakresem danych. Nie ufałbym tym przewidywaniom.
Możesz sprawdzić wartości prognozowania przy użyciu modelu szeregów czasowych.
źródło