box_cox_vec | R Documentation |
This is mainly a wrapper for the BoxCox transformation from the forecast
R package. The box_cox_vec()
function performs the transformation.
box_cox_inv_vec()
inverts the transformation.
auto_lambda()
helps in selecting the optimal lambda
value.
box_cox_vec(x, lambda = "auto", silent = FALSE)
box_cox_inv_vec(x, lambda)
auto_lambda(
x,
method = c("guerrero", "loglik"),
lambda_lower = -1,
lambda_upper = 2
)
x |
A numeric vector. |
lambda |
The box cox transformation parameter.
If set to "auto", performs automated lambda selection using |
silent |
Whether or not to report the automated |
method |
The method used for automatic |
lambda_lower |
A lower limit for automatic |
lambda_upper |
An upper limit for automatic |
The Box Cox transformation is a power transformation that is commonly used to reduce variance of a time series.
Automatic Lambda Selection
If desired, the lambda
argument can be selected using auto_lambda()
,
a wrapper for the Forecast R Package's forecast::BoxCox.lambda()
function.
Use either of 2 methods:
"guerrero" - Minimizes the non-seasonal variance
"loglik" - Maximizes the log-likelihood of a linear model fit to x
Returns a numeric
vector that has been transformed.
Forecasting: Principles & Practices: Transformations & Adjustments
Guerrero, V.M. (1993) Time-series analysis supported by power transformations. Journal of Forecasting, 12, 37–48.
Box Cox Transformation: box_cox_vec()
Lag Transformation: lag_vec()
Differencing Transformation: diff_vec()
Rolling Window Transformation: slidify_vec()
Loess Smoothing Transformation: smooth_vec()
Fourier Series: fourier_vec()
Missing Value Imputation for Time Series: ts_impute_vec()
, ts_clean_vec()
Other common transformations to reduce variance: log()
, log1p()
and sqrt()
library(dplyr)
d10_daily <- m4_daily %>% dplyr::filter(id == "D10")
# --- VECTOR ----
value_bc <- box_cox_vec(d10_daily$value)
value <- box_cox_inv_vec(value_bc, lambda = 1.25119350454964)
# --- MUTATE ----
m4_daily %>%
dplyr::group_by(id) %>%
dplyr::mutate(value_bc = box_cox_vec(value))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.