LambertW (version 0.6.4)

get_input: Back-transform Y to X

Description

get_input back-transforms the observed data \(\boldsymbol y\) to the (approximate) input data \(\boldsymbol x_{\tau}\) using the transformation vector \(\tau = (\mu_x(\boldsymbol \beta), \sigma_x(\boldsymbol \beta), \gamma, \alpha, \delta)\).

Note that get.input should be deprecated; however, since it was explicitly referenced in Goerg (2011) I keep it here for future reference. New code should use get_input exclusively.

Usage

get_input(y, tau, return.u = FALSE)

get.input(...)

Arguments

y

a numeric vector of data values or an object of class LambertW_fit.

tau

named vector \(\tau\) which defines the variable transformation. Must have at least 'mu_x' and 'sigma_x' element; see complete_tau for details.

return.u

should the normalized input be returned; default: FALSE.

...

arguments passed to get_input.

Value

The (approximated) input data vector \(\widehat{\boldsymbol x}_{\tau}\).

For gamma != 0 it uses the principal branch solution W_gamma(z, branch = 0) to get a unique input.

For gamma = 0 the back-transformation is bijective (for any \(\delta \geq 0, \alpha \geq 0\)).

If return.u = TRUE, then it returns a list with 2 vectors

u

centered and normalized input \(\widehat{\boldsymbol u}_{\theta}\),

x

input data \(\widehat{\boldsymbol x}_{\theta}\).

See Also

get_output

Examples

Run this code
# NOT RUN {
set.seed(12)
# unskew very skewed data
y <- rLambertW(n = 1000, theta = list(beta = c(0, 1), gamma = 0.3), 
               distname = "normal")
test_normality(y)
fit.gmm <- IGMM(y, type="s")

x <- get_input(y, fit.gmm$tau)
# the same as
x <- get_input(fit.gmm)
test_normality(x) # symmetric Gaussian

# }

Run the code above in your browser using DataLab