【问题标题】:R forecast.holtwinters in forecast package not found未找到预测包中的 R forecast.holtwinters
【发布时间】: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。

【问题讨论】:

    标签: r forecasting holtwinters


    【解决方案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 版本后,它将起作用

          【讨论】:

            猜你喜欢
            • 2019-08-17
            • 2012-10-23
            • 2023-03-16
            • 2016-02-22
            • 2020-04-20
            • 2018-01-29
            • 1970-01-01
            • 2019-09-03
            • 2017-10-15
            相关资源
            最近更新 更多