在预测之后更改时间序列图的轴/比例

时间:2018-04-16 18:50:35

标签: r plot time-series forecasting timeserieschart

我正在努力改变我的时间序列预测图的x轴(时间)。我已经运行了很多模型,但我正在努力解决同样的问题。我将为其中一个模型编写模型拟合,预测和图的代码。首先是我原来的时间序列。注意:我在2008-2016的培训数据中拟合我的模型,并在2017年的11个月的测试数据上测试我的模型。

enter image description here

数据拆分。


├───about
├───blog
│   ├───ghost-is-not-my-blog-engine
│   ├───hugo-with-azure-function-proxies
│   └───page
│       └───1
├───categories
│   ├───azure
│   │   └───page
│   │       └───1
│   ├───azure-function-proxies
│   │   └───page
│   │       └───1
│   ├───cms
│   │   └───page
│   │       └───1
│   ├───ghost
│   │   └───page
│   │       └───1
│   └───hugo
│       └───page
│           └───1
├───css
├───fonts
├───img
│   └───main
├───js
└───tag

现在,模特。

sal.ts <- window(sal.ts.original, start=c(2008,1), end=c(2016,12))
sal.test <- window(sal.ts.original, start=c(2017,1))

这是我的预测情节: enter image description here

看到丑陋的2017.0,2017.2 .... 2017.8?我希望它代表2017年11月的1,2,3,...... 11。

是的,我只想绘制测试数据并对其进行预测,而不是整个系列。

我很确定我的问题是我使用xlim函数。我正在使用xlim函数来绘制2017年的月份,如果我不使用它,那么R将绘制2008-2017的整个系列。我试着通过设置xaxt =&#34; n&#34;来尝试使用轴功能。在情节命令中,但仍然无法弄清楚。

如果您需要我提供更多信息,请与我们联系。任何帮助将不胜感激。

根据某人的建议更新我尝试通过设置xaxt =&#39; n&#39;来编写自定义轴。在我的情节中。这是代码的变化。

sal.hw.mul <- HoltWinters(sal.ts, seasonal = "mult")
sal.hw.mul
fc.hwm <- forecast(sal.hw.mul, h=11)
fc.hwm
plot(fc.hwm, xlim=c(2017,2017+11/12), main = "Forecast from Mutltiplicative HW", xlab = "Year", ylab = "Total Sales, $M")
lines(sal.test,col='red', lwd=2)
legend("topleft", c("Actual", "Predicted"), col = c(4,2), lty = 1)

enter image description here

就像你可以看到的那样。它让我在中途走了一半。我可以删除当前的轴标签,但我无法编写新轴。这个新代码甚至没有给我一个错误,否则我会尝试调试它。它接受我的代码,但没有给我所需的输出。

1 个答案:

答案 0 :(得分:1)

这是一个想法。我不确定数据是什么样的,但我猜测你有一个日期变量的日期类型 - 这意味着你的&#34; by&#34;整数1到11的序列可能会将这些新标签放在绘图限制之外。请尝试使用日期序列。

改变这个: x&lt; -seq(1,11,1)

对于这样的事情: x&lt; - seq.Date(as.Date(&#34; 2017-01-01&#34;),as.Date(&#34; 2017-11-01&#34;),&#34; months&# 34)

我不确定您的数据进入11月的距离,因此您可能希望将其设置为&#34;至#34;将序列中的日期改为12月,以便您可以完全覆盖11月的数据点。