Learn R Programming

huge (version 1.2.2)

huge.npn: Nonparanormal(npn) transformation

Description

Implements the Gausianization to help relax the assumption of normality.

Usage

huge.npn(x, npn.func = "shrinkage", npn.thresh = NULL, verbose = TRUE)

Arguments

x
The n by d data matrix representing n observations in d dimensions
npn.func
The transformation function used in the npn transformation. If npn.func = "truncation", the truncated ECDF is applied. If npn.func = "shrinkage", the shrunken ECDF is applied. The default is "shrinkage". If npn
npn.thresh
The truncation threshold used in nonparanormal transformation, ONLY applicable when npn.func = "truncation". The default value is 1/(4*(n^0.25)* sqrt(pi*log(n))).
verbose
If verbose = FALSE, tracing information printing is disabled. The default value is TRUE.

Value

  • dataA d by d nonparanormal correlation matrix if npn.func = "skeptic", and A n by d data matrix representing n observations in d transformed dimensions other wise.

Details

The nonparanormal extends Gaussian graphical models to semiparametric Gaussian copula models.Motivated by sparse additive models, the nonparanormal method estimates the Gasussian copula by marginally transforming the variables using smooth functions.Computationally, the estimation of a nonparanormal transformation is very efficient and only requires one pass of the data matrix.

References

1.Tuo Zhao and Han Liu. HUGE: A Package for High-dimensional Undirected Graph Estimation. Technical Report, Carnegie Mellon University, 2010 2.Han Liu, John Lafferty and Larry Wasserman. The Nonparanormal: Semiparametric Estimation of High Dimensional Undirected Graphs. Journal of Machine Learning Research, 2009

See Also

huge and huge-package.

Examples

Run this code
# generate nonparanormal data
L = huge.generator(graph = "cluster", g = 5)
L$data = L$data^5

# transform the data using the shrunken ECDF
Q = huge.npn(L$data)

# transform the non-Gaussian data using the truncated ECDF
Q = huge.npn(L$data, npn.func = "truncation")

# transform the non-Gaussian data using the truncated ECDF
Q = huge.npn(L$data, npn.func = "skeptic")

Run the code above in your browser using DataLab