Eu tenho um quadro de dados que contém duas séries temporais: as datas e os números de versão dos lançamentos do Emacs e Firefox. Usando um comando ggplot2, é fácil criar um gráfico que use loess (de uma maneira que pareça um pouco divertida, o que não me importo) para transformar os pontos em linhas.
Como posso estender as linhas para o futuro? Quero determinar onde e quando os números de versão do Emacs e Firefox serão cruzados e, se houver uma maneira de mostrar um intervalo de erros, tanto melhor.
Dado que o ggplot2 está plotando as linhas, ele deve ter um modelo, mas não vejo como dizer para estender as linhas ou para obter o modelo e fazer algo com ele.
> 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)
(Nota: eu tive que falsificar as versões anteriores do Firefox e transformar 0,1 em 0,01, etc., porque "ponto um" e "ponto dez" são iguais aritmeticamente. Eu sei que o Firefox está lançando a cada seis semanas agora, mas elas não existem ainda, e estou interessado em uma resposta geral para essa pergunta de previsão.)
fonte
Você precisaria prever os valores para futuras observações fora do ggplot2 e, em seguida, plotar os valores previstos, também poderia obter um intervalo de confiança para essas previsões.
Observe a função loess, embora não tenha certeza se faz previsões fora do seu intervalo de dados, tenho certeza de que alguma função suave faz isso.
No entanto, geralmente não é aconselhável prever valores fora do seu intervalo de dados. Eu não confiaria muito nessas previsões.
Você pode investigar a previsão de valores usando um modelo de série temporal.
fonte