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 sqrt(log(2^(p * dep)) / (8*n)). `index` a list of indices. If provided, test the independence among two or more groups of variables. For example, `index = list(c(1,2), c(3)))` refers to test the independence between (X_1, X_2) and X_3. Default to be `list(c(1:p))` to test if the data follow the uniform distribution over [0,1]^p, where `p = ncol(X)`. `method` If `"p"`, then compute null distribution with permutations. If `"s"`, then compute null distribution with simulations. `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)

```

[Package BET version 0.4.1 Index]