get.dp.dw.kde: Permutation-based variable importance measure

Description Usage Arguments Details Value Note Author(s) References See Also Examples

Description

get.dp.dw.kde computes variable importance measure of partial derivative of continuous approximation to MRPP p-values with respect to hypothetical weights. get.p.dd.dw computes variable importance measure by using partial derivative of distance function with respect to hypothetical weights as the new distance function in MRPP

Usage

1
2
3
4
5
get.dp.dw.kde(y, permutedTrt, r = seq_len(ncol(y)), test = FALSE, distObj = dist(y), 
	mrpp.stats = mrpp.test.dist(distObj, permutedTrt = permutedTrt,
	wtmethod=wtmethod[1])$all.statistics, bw = bw.mse.pdf.asym(mrpp.stats), 
	wtmethod=0, scale=1, standardized=FALSE)
get.p.dd.dw(y, permutedTrt, r = seq_len(ncol(y)), wtmethod=0, eps=1e-8)

Arguments

y

The response data matrix with each row being a data point and each column being a variable.

permutedTrt

A list matricies that list all random treatment assignments to be used in the MRPP test.

r

A positive integer vector, specifying variables for which variable importance measure is requested.

test

TRUE or FALSE. If FALSE, the first permutation in permutedTrt will be used as the original treatment assignment. If TRUE, each permutation in permutedTrt will be treated as if it is the original treatment assignment, useful for doing permutation tests using the computed variable importance meausre as the test statistic.

distObj

The numeric vector computed from dist(y), i.e., the lower triangle of the Euclidean distance matrix.

mrpp.stats

A vector of all observed MRPP test statistics.

bw

A numeric scalar giving the bandwidth used for kernel density estimation of mrpp.stats. This might be positive infinity.

wtmethod

0 or 1. If 0, the treatment group weight for MRPP statistic will be sample size minus 1. If 1, the sample size of the treatment group.

scale

A numeric scalar. The result will be multiplied by this scale factor.

standardized

In case that bw is positive infinity, standardized indicates if the results will be divided by the standard deviation of the permuted statistics.

eps

A small positive tolerance, the same as described in mrpp.test.

Details

get.dp.dw.kde first uses kernel density estimator to approximate the distribution of mrpp.stats and obtain a continous approximate p-value for the MRPP test. Then it computes the partial derivative of the approximate p-value with respect to the hypothetical weight of each variable, evaluated at weight 1. That is, if the partial derivative is negatively large, then the corresponding variable will be more important, because increasing its weight will quickly decreasing the approximate MRPP p-value. Vice versa.

get.p.dd.dw first computes the partial derivative of the Euclidian distance measure with respect to the hypothetical weights for each variable. This is then used as the distance function for the variable to be used in MRPP. The resulting MRPP p-value is returned as the variable importance. The smaller, the more important.

Value

For get.dp.dw.kde, when test is FALSE, the result is an length(r)-vector of importance measure (multiplied by scale). When test is TRUE, the result is an B-by-length(r) matrix of importance measure, where B is the number of permutations in permutedTrt. The (i,j)th element is the importance measure for the r[j]th variable when the ith column of each component of permutedTrt is treated as the original treatment assignment.

For get.p.dd.dw, the result is an length(r)-vector of importance measure.

Note

When test is TRUE and when the number of permutations is large, get.dp.dw.kde will consume a large amount of memory.

Author(s)

Long Qu

References

Long Qu, Dan Nettleton, Jack C. M. Dekkers. Relative Variable Importance and Backward Variable Selection for the Multiresponse Permutation Procedure, with Applications to High Dimensional Genomic Data. (Manuscript under review).

See Also

mrpp.test, permuteTrt, bw.mse.pdf.asym, mrppBVS.test, mrppBVS

Examples

1
2
3
4
5
6
7
8
set.seed(2340)
x=matrix(rnorm(20*5),20)
trt=gl(2,10)
urand.bigz(0,seed=1032940L) # init seed
pmat=permuteTrt(trt, 5e2L)		## use 500 random permutations
ir1=get.dp.dw.kde(x, pmat)
ir2=get.p.dd.dw(x, pmat)
cor(ir1, ir2, method='s')

MRPP documentation built on May 2, 2019, 4:46 p.m.