Description Usage Arguments Value Author(s) Examples
Decomposes two matrices into paired sparse eigenevectors to maximize canonical correlation. Note: we do not scale the matrices internally. We leave scaling choices to the user.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | sparseDecom2(
inmatrix,
inmask = list(NULL, NULL),
sparseness = c(0.01, 0.01),
nvecs = 3,
its = 20,
cthresh = c(0, 0),
statdir = NA,
perms = 0,
uselong = 0,
z = 0,
smooth = 0,
robust = 0,
mycoption = 0,
initializationList = list(),
initializationList2 = list(),
ell1 = 10,
priorWeight = 0,
verbose = FALSE,
rejector = 0,
maxBased = FALSE
)
|
inmatrix |
input as inmatrix=list(mat1,mat2). n by p input matrix and n by q input matrix , spatial variable lies along columns. |
inmask |
optional pair of antsImage masks |
sparseness |
a c(.,.) pair of values e.g c(0.01,0.1) enforces an unsigned 99 percent and 90 percent sparse solution for each respective view |
nvecs |
number of eigenvector pairs |
its |
number of iterations, 10 or 20 usually sufficient |
cthresh |
cluster threshold pair |
statdir |
temporary directory if you want to look at full output |
perms |
number of permutations. settings permutations greater than 0 will estimate significance per vector empirically. For small datasets, these may be conservative. p-values depend on how one scales the input matrices. |
uselong |
enforce solutions of both views to be the same - requires matrices to be the same size |
z |
subject space (low-dimensional space) sparseness value |
smooth |
smooth the data (only available when mask is used) |
robust |
rank transform input matrices |
mycoption |
enforce 1 - spatial orthogonality, 2 - low-dimensional orthogonality or 0 - both |
initializationList |
initialization for first view |
initializationList2 |
initialization for 2nd view |
ell1 |
gradient descent parameter, if negative then l0 otherwise use l1 |
priorWeight |
Scalar value weight on prior between 0 (prior is weak) and 1 (prior is strong). Only engaged if initialization is used |
verbose |
activates verbose output to screen |
rejector |
rejects small correlation solutions |
maxBased |
boolean that chooses max-based thresholding |
outputs a decomposition of a pair of matrices
Avants BB
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 45 46 47 48 49 50 51 52 53 54 55 56 57 | mat<-replicate(100, rnorm(20))
mat2<-replicate(100, rnorm(20))
mat<-scale(mat)
mat2<-scale(mat2)
mydecom<-sparseDecom2(
inmatrix = list(mat,mat2),
sparseness=c(0.1,0.3),
nvecs=3, its=3, perms=0)
wt<-0.666
mat3<-mat*wt+mat2*(1-wt)
mydecom<-sparseDecom2( inmatrix=list(mat,mat3),
sparseness=c(0.2,0.2), nvecs=5, its=10, perms=5 )
## Not run:
# a masked example
im<-antsImageRead( getANTsRData("r64"))
mask<-thresholdImage( im, 250, Inf )
dd = sum( mask == 1 )
mat1<-matrix( rnorm(dd*10) , nrow=10 )
mat2<-matrix( rnorm(dd*10) , nrow=10 )
initlist<-list()
for ( nvecs in 1:2 ) {
init1<-antsImageClone( mask )
init1[ mask == 1 ]<-rnorm( dd )
initlist<-lappend( initlist, init1 )
}
ff<-sparseDecom2( inmatrix=list(mat1,mat2), inmask=list(mask,mask),
sparseness=c(0.1,0.1) ,nvecs=length(initlist) , smooth=1,
cthresh=c(0,0), initializationList = initlist ,ell1 = 11 )
### now SNPs ###
rf<-usePkg('randomForest')
bg<-usePkg('BGLR')
if ( bg & rf ) {
data(mice)
snps<-mice.X
numericalpheno<-as.matrix( mice.pheno[,c(4,5,13,15) ] )
numericalpheno<-residuals( lm( numericalpheno ~
as.factor(mice.pheno$Litter) ) )
nfolds<-6
train<-sample( rep( c(1:nfolds), 1800/nfolds ) )
train<-( train < 4 )
snpd<-sparseDecom2( inmatrix=list( ( as.matrix(snps[train,]) ),
numericalpheno[train,] ), nvecs=20, sparseness=c( 0.001, -0.5 ),
its=3, ell1=0.1 , z=-1 )
for ( j in 3:3) {
traindf<-data.frame( bmi=numericalpheno[ train,j] ,
snpse=as.matrix( snps[train, ] ) %*% as.matrix( snpd$eig1 ) )
testdf <-data.frame( bmi=numericalpheno[!train,j] ,
snpse=as.matrix( snps[!train,] ) %*% as.matrix( snpd$eig1 ) )
myrf<-randomForest( bmi ~ . , data=traindf )
preddf<-predict(myrf, newdata=testdf )
print( cor.test(preddf, testdf$bmi ) )
plot( preddf, testdf$bmi )
}
} # check bg and rf
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.