Decomposes a matrix into sparse eigenevectors to maximize explained variance.

networkEiganat(
  Xin,
  sparseness = c(0.1, 0.1),
  nvecs = 5,
  its = 5,
  gradparam = 1,
  mask = NA,
  v,
  prior,
  pgradparam = 0.1,
  clustval = 0,
  downsample = 0,
  doscale = T,
  domin = T,
  verbose = F,
  dowhite = 0,
  timeme = T,
  addb = T,
  useregression = T
)

Arguments

Xin

n by p input images , subjects or time points by row , spatial variable lies along columns

sparseness

sparseness pair c( 0.1 , 0.1 )

nvecs

number of vectors

its

number of iterations

gradparam

gradient descent parameter for data

mask

optional antsImage mask

v

the spatial solultion

prior

the prior

pgradparam

gradient descent parameter for prior term

clustval

integer greater than or equal to zero

downsample

bool

doscale

bool

domin

bool

verbose

bool

dowhite

bool

timeme

bool

addb

bool

useregression

bool

Value

outputs a decomposition of a population or time series matrix

Author

Avants BB

Examples

if (FALSE) { # \dontrun{
mat <- replicate(100, rnorm(20))
mydecom <- networkEiganat(mat, nvecs = 5)
ch1 <- usePkg("randomForest")
ch2 <- usePkg("BGLR")
if (ch1 & ch2) {
  data(mice)
  snps <- quantifySNPs(mice.X)
  numericalpheno <- as.matrix(mice.pheno[, c(4, 5, 13, 15)])
  numericalpheno <- residuals(lm(numericalpheno ~
    as.factor(mice.pheno$Litter)))
  phind <- 3
  nfolds <- 6
  train <- sample(rep(c(1:nfolds), 1800 / nfolds))
  train <- (train < 4)
  lowr <- lowrankRowMatrix(as.matrix(snps[train, ]), 900)
  snpdS <- sparseDecom(lowr, nvecs = 2, sparseness = (-0.001), its = 3)
  snpdF <- sparseDecom(lowrankRowMatrix(as.matrix(snps[train, ]), 100),
    nvecs = 2, sparseness = (-0.001), its = 3
  )
  projmat <- as.matrix(snpdS$eig)
  projmat <- as.matrix(snpdF$eig)
  snpdFast <- networkEiganat(as.matrix(snps[train, ]),
    nvecs = 2,
    sparseness = c(1, -0.001), downsample = 45, verbose = T, its = 3,
    gradparam = 10
  )
  snpdSlow <- networkEiganat(as.matrix(snps[train, ]),
    nvecs = 2,
    sparseness = c(1, -0.001), downsample = 0, verbose = T,
    its = 3, gradparam = 10
  )
  snpd <- snpdSlow
  snpd <- snpdFast
  projmat <- as.matrix(snpd$v)
  snpdF <- sparseDecom(lowrankRowMatrix(as.matrix(snps[train, ]), 10),
    nvecs = 2, sparseness = (-0.001), its = 3
  )
  projmat <- as.matrix(snpdS$eig)
  snpse <- as.matrix(snps[train, ]) %*% projmat
  traindf <- data.frame(bmi = numericalpheno[train, phind], snpse = snpse)
  snpse <- as.matrix(snps[!train, ]) %*% projmat
  testdf <- data.frame(bmi = numericalpheno[!train, phind], snpse = snpse)
  myrf <- glm(bmi ~ ., data = traindf)
  preddf <- predict(myrf, newdata = testdf)
  cor.test(preddf, testdf$bmi)
} # ch1 and ch2
###########
} # }