未找到预测包中的 R forecast.holtwinters

Posted

技术标签:

【中文标题】未找到预测包中的 R forecast.holtwinters【英文标题】:R forecast.holtwinters in forecast package not found 【发布时间】:2018-01-04 14:25:24 【问题描述】:

我正在尝试使用 forecast.holtwinters 函数,当我尝试运行它时:

dftimeseriesforecast <- forecast.HoltWinters(data, h=65)

我收到此错误:

错误:找不到函数“forecast.HoltWinters”

我也试过这个:

 dftimeseriesforecast= forecast::forecast.HoltWinters(data, h=65)

但我收到此错误消息:

错误:“forecast.HoltWinters”不是从“namespace:forecast”导出的对象

我使用以下代码查看预测包中的函数列表:

ls("package:forecast")

这会返回:

[1] “%>%” “准确度” “Acf” “arfima” “Arima” “arima.errors” “arimaorder” “auto.arima” [9] “autolayer” “baggedETS” “bats” “bizdays” “bld.mbb.bootstrap” “BoxCox” “BoxCox.lambda” “Ccf” [17] "checkresiduals" "croston" "CV" "CVar" "dm.test" "dshw" "easter" "ets" [25] “findfrequency” “forecast” “forecast.ets” “fourier” “fourierf” “gas” “geom_forecast” “GeomForecast” [33] “getResponse” “ggAcf” “ggCcf” “gghistogram” “gglagchull” “gglagplot” “ggmonthplot” “ggPacf” [41] “ggseasonplot” “ggsubseriesplot” “ggtaperedacf” “ggtaperedpacf” “ggtsdisplay” “gold” “holt” “hw” [49] “InvBoxCox” “is.acf” “is.Arima” “is.baggedETS” “is.bats” “is.constant” “is.ets” “is.forecast” [57] “is.mforecast” “is.nnetar” “is.nnetarmodels” “is.splineforecast” “is.stlm” “ma” “meanf” “monthdays” [65] “msts” “na.interp” “naive” “ndiffs” “nnetar” “nsdiffs” “Pacf” “剩余” [73] “rwf” “seasadj” “seasonal” “seasonaldummy” “seasonaldummyf” “seasonplot” “ses” “sindexf” [81] “snaive” “splinef” “StatForecast” “stlf” “stlm” “taperedacf” “taperedpacf” “taylor” [89] “tbats” “tbats.components” “thetaf” “trendcycle” “tsclean” “tsCV” “tsdisplay” “tslm” [97] “tsoutliers” “wineind” “woolyrnq”

有人知道发生了什么吗?我以前用过这个,没有任何问题。我正在使用预测版本 8.1。

【问题讨论】:

【参考方案1】:

forecast 包中没有这些东西。他们在stats:

> m <- stats::HoltWinters(co2)
> class(m)
[1] "HoltWinters"
> p = predict(m)
> pp = stats:::predict.HoltWinters(m)
> p
          Jan
1998 365.1079
> pp
          Jan
1998 365.1079

predict.HoltWinters 是来自stats 的未导出函数,只能在来自HoltWinters() 的对象上调用。

forecast.HoltWintersforecast 的未导出函数,这意味着您需要 三个 冒号才能访问它。但是您应该永远不必这样做,因为当您在HoltWinters() 的输出上运行forecast 时应该会自动找到它:

> m <- stats::HoltWinters(co2)
> forecast(m)
         Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
Jan 1998       365.1079 364.7139 365.5019 364.5053 365.7105
Feb 1998       365.9664 365.5228 366.4100 365.2879 366.6449
[etc]

同:

> forecast:::forecast.HoltWinters(m)
         Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
Jan 1998       365.1079 364.7139 365.5019 364.5053 365.7105
Feb 1998       365.9664 365.5228 366.4100 365.2879 366.6449
[etc]

【讨论】:

我刚查了一下,predict.Holtwinters 是这样,但 predict.Holtwinters 不是这样。预测 pdf 列出了 forecast.Holtwinters 和 stats:::forecast.HoltWinters 不起作用。我犯了同样的错误。 cran.r-project.org/web/packages/forecast/forecast.pdf。但是,predict.holtwinters 和 predict.Holtwinters 一样好,所以我可以使用它。谢谢@Spacedman 我觉得这个答案有点匆忙。您需要三个冒号才能获得未导出的函数,但您永远不必这样做。请参阅编辑。 另外,我安装了旧版本 R 3.2 而不是当前版本,并且 forecast.holtwinters 和 predict.holtwinters 存在并且工作正常,所以我认为 R 版本和预测 8.1 存在问题。但是,holtwinters 也适用于 stats 包。【参考方案2】:

这样使用:

forecast:::forecast.HoltWinters().

它会起作用的。

【讨论】:

【参考方案3】:

这适用于我使用 R v3.4.4 和预测 v8.2 时:

hw <- stats::HoltWinters(data) forecast_data <- forecast(hw, h=65)

【讨论】:

【参考方案4】:

你可以试试下面的代码,它会工作的。你不需要 HoltWinters.forecast。

    dftimeseries.hw <- HoltWinters(data)
    dftimeseries.forecast <-forecast(dftimeseries.hw,h=65)

【讨论】:

【参考方案5】:

用途:

forecast_data <-forecast(mydata #data name,h=56)

更新您的r 版本后,它将起作用

【讨论】:

以上是关于未找到预测包中的 R forecast.holtwinters的主要内容,如果未能解决你的问题,请参考以下文章

R ranger 包中的预测概率

使用 R 中“rpart”包中的生存树来预测新的观察结果

R 中 h2o 包中的 predict.H2OModel() 是不是为 h2o.randomForest() 模型提供 OOB 预测?

R语言构建回归模型并进行模型诊断(线性关系不满足时)进行变量变换(Transforming variables)使用car包中的boxTidwell函数对预测变量进行Box–Tidwell变换

R语言mgcv包中的gam函数拟合广义加性模型(Generalized Additive Model)GAM(对非线性变量进行样条处理计算RMSER方调整R方可视化模型预测值与真实值的曲线)

R语言使用car包中的avPlots函数创建变量添加图(Added-variable plots)在图像交互中,在变量添加图中手动标识(添加)对于每一个预测变量影响较大的强影响点