如何在R中查询forecast()函数model参数的所有可选值?
forecast()是R中forecast包的泛型函数,它的model参数接受的是带有对应forecast方法的时间序列模型对象,以下是几种可行的查询方法:
用
methods(forecast)列出所有支持的模型类型
运行这条命令会返回所有形如forecast.<模型类>的方法,每个<模型类>就是model参数可以接受的对象类型。比如输出里的forecast.ets对应ets()生成的模型对象,forecast.Arima对应Arima()生成的模型,forecast.stl对应stl()的结果,还有forecast.tbats、forecast.HoltWinters等都是支持的选项。查看R内置的帮助文档细节
在控制台运行?forecast,在帮助文档的Arguments板块里,关于model参数的描述会明确它接受的是由ets()、Arima()、stl()、tbats()等函数生成的模型对象;同时在Methods板块会完整列出所有支持的模型类,每个类对应一种可传入model的对象类型。理解泛型函数的特性(解释为什么
formals(forecast)没用)formals(forecast)只能查看泛型函数的顶层参数定义,而model参数的具体接受类型是由各个分支方法(比如forecast.ets)来处理的,所以泛型函数的参数列表不会显示具体的模型选项。你需要针对特定的模型方法查看参数,比如formals(forecast.ets),但其实更高效的是通过上面两种方法直接确认所有支持的模型类型。
内容的提问来源于stack exchange,提问作者stats_noob

