如何从 tbats 函数获取模型名称,R 中的预测包

how to get model name from tbats function, forecast package in R

我正在尝试从 tbats 输出中获取模型参数。 当我打印如下输出时,带有参数的模型名称从 "fitted" 完全打印在控制台中。但我个人无法从拟合中提取参数。

>fitted <- tbats(timeseries)
>fitted

当我查看参数时,我发现这些变量 [lambda、alpha、beta、damping.parameter、gamma.one.values、gamma.two.values、ar.coefficients、ma.coefficients, 似然, optim.return.code, 方差, AIC, 参数, seed.states, fitted.values, 误差, x, seasonal.periods, k.vector, y, p, q, call, series, method] 但其中没有一个是 Omega (box cox transform argument)。我可以从 damping.parameter、p、q、seasonal.periods、k.vector 中绘制模型的其余部分。

获取模型名称:

library(forecast)
fit <- tbats(USAccDeaths)
as.character(fit)
#> [1] "TBATS(1, {0,0}, -, {<12,5>})"

看看打印函数,看看它是如何构造输出的:

> forecast:::print.tbats
function (x, ...) 
{
    cat(as.character(x))
    cat("\n")
    cat("\nCall: ")
    print(x$call)
    cat("\nParameters")
    if (!is.null(x$lambda)) {
        cat("\n  Lambda: ")
        cat(round(x$lambda, 6))
    }
    cat("\n  Alpha: ")
    cat(x$alpha)
    if (!is.null(x$beta)) {
        cat("\n  Beta: ")
        cat(x$beta)
        cat("\n  Damping Parameter: ")
        cat(round(x$damping.parameter, 6))
    }
    if (!is.null(x$gamma.one.values)) {
        cat("\n  Gamma-1 Values: ")
        cat(x$gamma.one.values)
    }
    if (!is.null(x$gamma.two.values)) {
        cat("\n  Gamma-2 Values: ")
        cat(x$gamma.two.values)
    }
    if (!is.null(x$ar.coefficients)) {
        cat("\n  AR coefficients: ")
        cat(round(x$ar.coefficients, 6))
    }
    if (!is.null(x$ma.coefficients)) {
        cat("\n  MA coefficients: ")
        cat(round(x$ma.coefficients, 6))
    }
    cat("\n")
    cat("\nSeed States:\n")
    print(x$seed.states)
    cat("\nSigma: ")
    cat(sqrt(x$variance))
    cat("\nAIC: ")
    cat(x$AIC)
    cat("\n")
}