View source: R/vec-ts_impute.R
ts_impute_vec | R Documentation |
This is mainly a wrapper for the Seasonally Adjusted Missing Value using Linear Interpolation function,
na.interp()
, from the forecast
R package. The ts_impute_vec()
function includes arguments for applying
seasonality to numeric vector (non-ts
) via the period
argument.
ts_impute_vec(x, period = 1, lambda = NULL)
x |
A numeric vector. |
period |
A seasonal period to use during the transformation. If |
lambda |
A box cox transformation parameter. If set to |
Imputation using Linear Interpolation
Three circumstances cause strictly linear interpolation:
Period is 1: With period = 1
, a seasonality cannot be interpreted and therefore linear is used.
Number of Non-Missing Values is less than 2-Periods: Insufficient values exist to detect seasonality.
Number of Total Values is less than 3-Periods: Insufficient values exist to detect seasonality.
Seasonal Imputation using Linear Interpolation
For seasonal series with period > 1
, a robust Seasonal Trend Loess (STL) decomposition is first computed.
Then a linear interpolation is applied to the seasonally adjusted data, and
the seasonal component is added back.
Box Cox Transformation
In many circumstances, a Box Cox transformation can help. Especially if the series is multiplicative
meaning the variance grows exponentially. A Box Cox transformation can be automated by setting lambda = "auto"
or can be specified by setting lambda = numeric value
.
A numeric
vector with the missing values imputed.
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()
library(dplyr)
# --- VECTOR ----
values <- c(1,2,3, 4*2, 5,6,7, NA, 9,10,11, 12*2)
values
# Linear interpolation
ts_impute_vec(values, period = 1, lambda = NULL)
# Seasonal Interpolation: set period = 4
ts_impute_vec(values, period = 4, lambda = NULL)
# Seasonal Interpolation with Box Cox Transformation (internal)
ts_impute_vec(values, period = 4, lambda = "auto")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.