3.6 R中的预测包
本书所用forecast
包中的函数,都会在加载fpp2
包时自动加载。本节附录简要概述fpp2
包的一些特性,请参阅个人功能的帮助文件,以了解更多信息,并查看它们使用的一些示例。
输出预测对象的函数:
包括 meanf()
,naive()
,snaive()
和 rwf()
等很多的函数,都对应以 forecast
类对象的形式输出(例如,一个 forecast
类的对象),这就允许其他的函数(如autoplot()
)可以在一系列的预测模型中被一致的使用。
forecast
类对象包括预测方法、所用数据、所得到的预测点、预测区间、残差和拟合值等信息。有很多函数,例如autoplot()
,summary()
和 print()
都可以处理这些对象。
下面的列表显示了所有能生成 forecast
对象的函数:
meanf()
naive()
,snaive()
rwf()
croston()
stlf()
ses()
holt()
,hw()
splinef()
thetaf()
forecast()
forecast()
函数
到目前为止,我们已经使用了一些可以生成forecast
对象的函数。但更常见的做法是,选择一个适合给定数据的模型,从而用forecast()
函数生成预测值,这将在本书的后半部分进行介绍。
forecast()
函数的输入有多种方式,但通常是以时间序列或时间序列模型作为主要参数,从而进行预测。
预测结果总是以forecast
类对象的形式进行返回。但如果第一个参数属于ts
类,则返回自动ETS算法的预测值,该算法将在第7章中讨论。
下面是一个简单的例子,将forecast()
函数应用于 ausbeer
数据:
forecast(ausbeer)
#> Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
#> 2010 Q3 404.6 385.9 423.3 376.0 433.3
#> 2010 Q4 480.4 457.5 503.3 445.4 515.4
#> 2011 Q1 417.0 396.5 437.6 385.6 448.4
#> 2011 Q2 383.1 363.5 402.7 353.1 413.1
#> 2011 Q3 403.0 380.1 425.9 368.0 438.0
#> 2011 Q4 478.5 450.2 506.8 435.2 521.8
#> 2012 Q1 415.4 389.7 441.1 376.1 454.7
#> 2012 Q2 381.6 356.8 406.3 343.7 419.5
其实通过调包,就算你不知道使用什么样的模型,依然可以很好的解决问题。但到了本书的结尾,你应该不需要再在“黑箱”里使用 forecast()
。相反,你可以选择适当的数据模型,然后用forecast()
函数生成预测。