Learn R Programming

rags2ridges (version 2.2.2)

fused.test: Test the necessity of fusion

Description

Function for testing the null hypothesis that all population precision matrices are equal and thus the necessity for the fusion penalty. Note, the test performed is conditional on the supplied penalties and targets.

Usage

fused.test(Ylist, Tlist, lambda, n.permutations = 100,
           verbose = FALSE, ...)

Arguments

Ylist

A list of length \(G\) of observations matrices for each class. Variables are assumed to correspond to the columns.

Tlist

A list of target matrices for each class. Should be same length as Ylist-

lambda

A non-negative, symmetric \(G\) by \(G\) matrix giving the ridge and fusion penalties.

n.permutations

The number of permutations to approximate the null distribution. Default is 100. Should be increased if sufficient computing power is available.

verbose

Print out extra progress information

Arguments passed to ridgeP.fused.

Value

Returns a list values containing the observed test statistic and the test statistic under the null distribution.

Details

The function computes the observed score statistic \(U_obs\) using the fused ridge estimator on the given data. Next, the score statistic is computed a number of times (given by n.permutations) under the null-hypothesis by effectively permuting the class labels of the data.

References

Bilgrau, A.E., Peeters, C.F.W., Eriksen, P.S., Boegsted, M., and van Wieringen, W.N. (2015). Targeted Fused Ridge Estimation of Inverse Covariance Matrices from Multiple High-Dimensional Data Classes, arXiv:1509.07982v1 [stat.ME].

See Also

ridgeP.fused

Examples

Run this code
# NOT RUN {
ns <- c(10, 5, 23)
Ylist <- createS(ns, p = 15, topology = "banded", dataset = TRUE)

# Use the identity target matrix for each class
Tlist <- replicate(length(ns), diag(15), simplify = FALSE)

# Do the test
lm <- matrix(10, 3, 3)
diag(lm) <- 1
ft <- fused.test(Ylist, Tlist, lambda = lm,
                 n.permutations = 500)
print(ft)

# Summary spits out a bit more information
summary(ft)

# The returned object can alo be plotted via
hist(ft)
# or via the alias
plot(ft)

# Customization and parameters work a usual:
hist(ft, col = "steelblue", main = "Null distribution", add.extra = FALSE,
     xlab = "Score statistic", freq = FALSE)
# }

Run the code above in your browser using DataLab