2011-07-07 64 views
3

有没有办法在ggplot2中引入自动关联时间序列的平滑函数?使用ggplot2平滑自动关联时间序列数据

我有自动关联的时间序列数据,我目前使用手动过程来确定拟合样条的95%CI。

使用和日期位于数据框AB中。是我使用该模型的主要组成部分如下:

d<-AB$Date 
    a<-AB$Usage 

    o<-order(d) 
    d<-d[o] 
    a<-a[o] 

    id<-ts(1:length(d)) 
    a1<-ts(a) 

    a2<-lag(a1-1) 
    tg<-ts.union(a1,id,a2) 
    mg<-lm(a1~a2+bs(id,df=df1), data=tg) 

从这个模型我获得拟合装置和其用于制定出95%CI为拟合样条拟合的标准误差。

我看过ggplot2中lm方法的例子,用一个术语来指定模型公式。 这种时间序列模型在时间序列自相关时可以实现吗?

谢谢。

回答

6

如果您使用ggplot2中的简单公式来增加任何适合的模型(如果残差存在依赖关系),则CI将会有偏差。

如果我这样做,我会适应任何模式,我想gpplot2。然后根据该模型预测在协变量范围内均匀间隔的网格。计算这些预测的置信区间,并将这些与拟合值和数据组合到一个数据框中。从那里你可以分别使用geom_line()geom_ribbon()来拟合模型和置信区间。这使您可以计算适当的置信区间来解释残差缺乏独立性。

我预见的一个问题是,您有一个包含两个协变量的模型,而ggplot()通常会考虑响应与单个协变量之间的关系。例如,如果你在ggplot密谋a1 VS id但该模型是a2 + bs(id)那么你需要以某种方式占a2第一,可以说为预测值的范围在id但保持a2固定在某个合理的值,说样本的意思。

+0

这不应该是“说明残差中缺乏*独立性”吗? – James

+0

@詹姆斯发现了。我认为我有两个意见可以说是“说明缺乏独立性”,还是“说明依赖性”,并让自己陷入混乱。现在更正。 –

+0

非常感谢。我最终计算了置信区间和上/下限控制,并将它们全部放入数据框中。感谢@Gavin关于'geom_ribbon()'的提示。 – John