Differential Regression (multi-split version).

Description

Differential Regression (multi-split version).

Usage

1
2
3
4
5
6
diffregr_multisplit(y1, y2, x1, x2, b.splits = 50, frac.split = 1/2,
  screen.meth = "screen_cvtrunc.lasso", gamma.min = 0.05,
  compute.evals = "est2.my.ev3.diffregr", method.compquadform = "imhof",
  acc = 1e-04, epsabs = 1e-10, epsrel = 1e-10, show.warn = FALSE,
  n.perm = NULL, mc.flag = FALSE, mc.set.seed = TRUE,
  mc.preschedule = TRUE, mc.cores = getOption("mc.cores", 2L), ...)

Arguments

y1

Response vector condition 1.

y2

Response vector condition 2.

x1

Predictor matrix condition 1.

x2

Predictor matrix condition 2.

b.splits

Number of splits (default=50).

frac.split

Fraction train-data (screening) / test-data (cleaning) (default=0.5).

screen.meth

Screening method (default='screen_cvtrunc.lasso').

gamma.min

Tuning parameter in p-value aggregation of Meinshausen et al (2009) (default=0.05).

compute.evals

Method to estimate the weights in the weighted-sum-of-chi2s distribution. The default and (currently) the only available option is the method 'est2.my.ev3.diffregr'.

method.compquadform

Algorithm for computing distribution function of weighted-sum-of-chi2 (default='imhof').

acc

See ?davies (default=1e-4).

epsabs

See ?imhof (default=1e-10).

epsrel

See ?imhof (default=1e-10).

show.warn

Show warnings (default=FALSE)?

n.perm

Number of permutation for "split-perm" p-value. Default=NULL, which means that the asymptotic approximation is used.

mc.flag

If TRUE use parallel execution for each b.splits via function mclapply of package parallel.

mc.set.seed

See mclapply. Default=TRUE

mc.preschedule

See mclapply. Default=TRUE

mc.cores

Number of cores to use in parallel execution. Defaults to mc.cores option if set, or 2 otherwise.

...

Other arguments specific to screen.meth.

Details

Intercepts in regression models are assumed to be zero (mu1=mu2=0). You might need to center the input data prior to running Differential Regression.

Value

List consisting of

ms.pval

p-values for all b.splits

ss.pval

single-split p-value

medagg.pval

median aggregated p-value

meinshagg.pval

meinshausen aggregated p-value (meinshausen et al 2009)

teststat

test statistics for b.splits

weights.nulldistr

estimated weights

active.last

active-sets obtained in last screening-step

beta.last

constrained mle (regression coefficients) obtained in last cleaning-step

Author(s)

n.stadler

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
###############################################################
##This example illustrates the use of Differential Regression##
###############################################################

##set seed
set.seed(1)

## Number of predictors and sample size
p <- 100
n <- 80

## Predictor matrices
x1 <- matrix(rnorm(n*p),n,p)
x2 <- matrix(rnorm(n*p),n,p)

## Active-sets and regression coefficients
act1 <- sample(1:p,5)
act2 <- c(act1[1:3],sample(setdiff(1:p,act1),2))
beta1 <- beta2 <- rep(0,p)
beta1[act1] <- 0.5
beta2[act2] <- 0.5

## Response vectors under null-hypothesis
y1 <- x1%*%as.matrix(beta1)+rnorm(n,sd=1)
y2 <- x2%*%as.matrix(beta1)+rnorm(n,sd=1)

## Diffregr (asymptotic p-values)
fit.null <- diffregr_multisplit(y1,y2,x1,x2,b.splits=5)
fit.null$ms.pval#multi-split p-values
fit.null$medagg.pval#median aggregated p-values

## Response vectors under alternative-hypothesis
y1 <- x1%*%as.matrix(beta1)+rnorm(n,sd=1)
y2 <- x2%*%as.matrix(beta2)+rnorm(n,sd=1)

## Diffregr (asymptotic p-values)
fit.alt <- diffregr_multisplit(y1,y2,x1,x2,b.splits=5)
fit.alt$ms.pval
fit.alt$medagg.pval

## Diffregr (permutation-based p-values; 100 permutations)
fit.alt.perm <- diffregr_multisplit(y1,y2,x1,x2,b.splits=5,n.perm=100)
fit.alt.perm$ms.pval
fit.alt.perm$medagg.pval

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.