【问题标题】:Fitted values in R forecast missing date / time componentR预测缺少日期/时间组件中的拟合值
【发布时间】:2015-06-22 19:32:26
【问题描述】:

我一直在 R 中使用时间序列数据(XTS 格式)做各种模型,但我一直遇到同样的问题,即拟合值/预测没有日期/时间组件,因此我不能将它们绘制在与原始数据相同的图表上。

使用以下代码,根据我在网上看到的所有内容,我应该在同一个图表上获得两个折线图。但是,我只是从 plot 命令中获取原始图形,而第二行从未出现。

library("stats")
library("forecast")
model_a1 <- auto.arima(GED$Mfg.Shipments.Total..USA.)
plot(GED$Mfg.Shipments.Total..USA.)
lines(fitted(model_a1), col = 2)

如果我只绘制残差:

plot(fitted(model_a1))

我得到了一个图表,但它没有显示日期/时间,只是在 x 轴上显示范围为 0 - 1,2000 的“索引”。

关于造成这种情况的任何想法?我找不到任何关于为什么 XTS 时间序列会导致没有日期/时间分量的残差的任何信息。另外,我试图发布图片,但显然有一个愚蠢的规则,如果你不发布至少 10 次,你就不能发布图片来进一步解释你的问题.....

str(GED) 
An ‘xts’ object on 2018-01-01/2115-12-01 containing: 
Data: num [1:1176, 1:472] NA NA NA NA NA NA NA NA NA NA ... 
  - attr(*, "dimnames")=List of 2 
        ..$ : NULL
        ..$ : chr [1:472] "SRPM..USA." "WTI" "CU..Argentina." "CU..Australia."  
... Indexed by objects of class: [Date] TZ: UTC 
   xts Attributes: NULL

【问题讨论】:

  • 我认为你很幸运能得到任何答案。您正在混合多个不同的软件包。 XTS 数据类型是依赖于动物园类型结构的混合体(数据在 numeric 矩阵中),我认为没有任何保证或保证 forecast 函数 应该给你所有的东西都以一种美味的形式包装起来..
  • 我对 R 相当缺乏经验(我敢肯定你听到这个消息会很震惊),我只是将我在各个网站上找到的内容汇总在一起——其中大部分来自 stackoverflow。跨度>
  • xts 对象有一个索引组件。您应该发布 str(GED) 的输出
  • str(GED) 2018-01-01/2115-12-01 上的“xts”对象包含:数据:num [1:1176, 1:472] NA NA NA NA NA NA NA NA NA NA NA ... - attr(*, "dimnames")=List of 2 ..$ : NULL ..$ : chr [1:472] "SRPM..USA." “WTI” “CU..阿根廷。” “CU..澳大利亚。” ...按类对象索引:[日期] TZ:UTC xts 属性:NULL 我知道由于 Excel 的导入问题,这些年已经过去了 100 年,但现在这不是问题。

标签: r time-series forecasting


【解决方案1】:

不要在绘图中使用日期,使用数字序列作为 x 轴。您可以使用日期作为标签。试试这样的:

y=GED$Mfg.Shipments.Total..USA.
n=length(y)
model_a1 <- auto.arima(y)
plot(x=1:n,y,xaxt="n",xlab="")
axis(1,at=seq(1,n,length.out=20),labels=index(y)[seq(1,n,length.out=20)],
     las=2,cex.axis=.5)
lines(fitted(model_a1), col = 2)

取决于您的数据的结果将是类似的:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 2018-01-19
    • 2022-01-15
    • 1970-01-01
    相关资源
    最近更新 更多