BEAST.null.simu {BET} | R Documentation |
BEAST Null Distribution
Description
BEAST.null.simu
gives a vector of the null distribution of the BEAST statistic.
Usage
BEAST.null.simu(
n,
p,
dep,
subsample.percent = 1/2,
B = 100,
lambda = NULL,
index = list(c(1:p)),
method = "p",
num = NULL
)
Arguments
n |
sample size. |
p |
dimension. |
dep |
depth of the binary expansion. |
subsample.percent |
sample size for subsampling. |
B |
times of subsampling. |
lambda |
tuning parameter for soft-thresholding, default to be |
index |
a list of indices. If provided, test the independence among two or more groups of variables. For example, |
method |
If |
num |
number of permutations if method == "p" (default to be 100), or simulations if method == "s" (default to be 1000). |
Value
BEAST.null.simu
returns a vector of length num.permutations
that simulates the null distribution of the BEAST for given sample size n, dimension p, and depth D
Examples
## Elapsed times 2.4 secs
## Measured in R 4.0.2, 32 bit, on a processor 3.3 GHz 6-Core Intel Core i5 under MacOS, 2021/5/30.
## Not run: BEAST.null.simu(128, 2, 3)
## power study example
## Elapsed times 36.8 secs
## Measured in R 4.0.2, 32 bit, on a processor 3.3 GHz 6-Core Intel Core i5 under MacOS, 2021/5/30.
## Not run:
nperm = 100
nsim = 1000
BEAST.res = rep(0, nsim)
## simulate null distribution: only need once
BEAST.null.dist = BEAST.null.simu(128, 3, 3, index = list(c(1,2), c(3)), num = nperm)
for(i in 1:nsim){
x1 = runif(128)
x2 = runif(128)
y = sin(4*pi*(x1 + x2)) + 0.8*rnorm(128)
BEAST.stat = BEAST(cbind(x1, x2, y), 3, index = list(c(1,2), c(3)),
method = "stat")$BEAST.Statistic
BEAST.pvalue = sum(BEAST.null.dist >= BEAST.stat) / nperm
BEAST.res[i] = BEAST.pvalue
}
## compute power
level = 0.1
power = mean(BEAST.res < level)
## End(Not run)