7

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

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

我收到此错误:

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

我也试过这个:

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

但我收到此错误消息:

错误:“forecast.HoltWinters”不是从“命名空间:预测”导出的对象

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

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.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” “是.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。

4

5 回答 5

10

这些东西都没有在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.HoltWinters是一个未导出的函数,forecast这意味着您需要三个冒号才能访问它。但是您永远不必forecast这样做,因为当您在以下输出上运行时应该会自动找到它HoltWinters()

> 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]
于 2017-07-28T13:38:20.983 回答
8

像这样使用:

forecast:::forecast.HoltWinters().

它会起作用的。

于 2018-06-02T12:31:43.777 回答
1

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

    dftimeseries.hw <- HoltWinters(data)
    dftimeseries.forecast <-forecast(dftimeseries.hw,h=65)
于 2018-09-14T05:05:12.673 回答
1

当使用 R v3.4.4 和预测 v8.2 时,这对我有用:

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

于 2018-04-10T17:53:22.470 回答
0

利用:

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

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

于 2018-08-17T11:24:07.500 回答