R预测缺失日期/时间组件中的拟合值

R预测缺失日期/时间组件中的拟合值,r,time-series,forecasting,R,Time Series,Forecasting,我一直在用时间序列数据(XTS格式)在R中做各种模型,我一直遇到同样的问题,拟合值/预测没有日期/时间成分,因此我无法将它们绘制在与原始数据相同的图形上 使用下面的代码,从我在网上看到的所有东西中,我应该在同一个图上得到两个折线图。然而,我只是从plot命令获取原始图形,第二行从未出现 library("stats") library("forecast") model_a1 <- auto.arima(GED$Mfg.Shipments.Total..USA.) plot(GED$Mfg

我一直在用时间序列数据(XTS格式)在R中做各种模型,我一直遇到同样的问题,拟合值/预测没有日期/时间成分,因此我无法将它们绘制在与原始数据相同的图形上

使用下面的代码,从我在网上看到的所有东西中,我应该在同一个图上得到两个折线图。然而,我只是从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)
我得到了一个图表,但是没有日期/时间,它只是在x轴上显示范围为0-12000的“索引”

你知道是什么引起的吗?我找不到任何关于为什么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

请勿使用绘图中的日期,请使用数字序列作为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)
y=GED$Mfg.Shippings.Total..USA。
n=长度(y)

我认为你很幸运能得到任何答案。您正在混合多个不同的包。XTS数据类型是一种混合型,它依赖于zoo类型的结构(数据在数字矩阵中),我不认为有任何保证或保证,
forecast
函数应该以一种令人愉快的格式为您提供一切。我对R相当缺乏经验(我相信您听到这个消息一定会感到震惊)我只是把我在不同网站上发现的东西放在一起——大部分来自stackoverflow。xts对象有一个索引组件。您应该在2018-01-01/2115-12-01上发布str(GED)str(GED)输出的一个“xts”对象,其中包含:Data:num[1:1176,1:472]NA NA NA…-attr(*,“dimnames”)=2..$:NULL..$:chr[1:472]“SRPM..USA.“WTI”“CU..阿根廷”“CU..澳大利亚”的列表。。。按类对象编制索引:[Date]TZ:UTC xts Attributes:NULL我知道由于Excel中的导入问题,年份减少了100年,但现在这不是一个问题。
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)