View source: R/evalCriterion.R
mvIC_fit | R Documentation |
Evaluate multivariate BIC while considering correlation between response variables. For n samples, p responses and m parameters for each model, evaluate the multivariate BIC as
n * logDet(Σ) + log(n) * (p*m + 0.5*p*(p+1))
where Σ is the residual covariance matrix. This formula extends the standard univariate BIC to the multivariate case. For one response the standard penalty is log(n)*m, this just adds a log(n) to that value, but only the differences between two models is important. Estimating the p x p covariance matrix requires 0.5*p*(p+1) parameters. When p > m the residual covariance matrix Sigma is not full rank. In this case the psudo-determinant is used instead.
mvIC_fit( exprObj, formula, data, criterion = c("BIC", "sum BIC", "AIC", "AICC", "CAIC", "sum AIC"), shrink.method = c("EB", "none", "var_equal", "var_unequal"), nparamsMethod = c("edf", "countLevels", "lme4"), pca = TRUE, verbose = FALSE, ... )
exprObj |
matrix of expression data (g genes x n samples), or ExpressionSet, or EList returned by voom() from the limma package |
formula |
specifies variables for the linear (mixed) model. Must only specify covariates, since the rows of exprObj are automatically used as a response. e.g.: |
data |
data.frame with columns corresponding to formula |
criterion |
multivariate criterion ('AIC', 'BIC') or summing score assuming independence of reponses ('sum AIC', 'sum BIC') |
shrink.method |
Shrink covariance estimates to be positive definite. Using "var_equal" assumes all variance on the diagonal are equal. This method is the fastest because it is linear time. Using "var_unequal" allows each response to have its own variance term, however this method is quadratic time. Using "none" does not apply shrinkge, but is only valid when there are very few responses |
nparamsMethod |
"edf": effective degrees of freedom. "countLevels" count number of levels in each random effect. "lme4" number of variance compinents, as used by lme4. See description in |
pca |
use PCA to transform variables |
verbose |
Default TRUE. Print messages |
... |
additional arguements passed to logDet |
Evaluate multivariate BIC on matrix of response variables. Smaller is better.
multivariate BIC value
pauler1998schwarzmvIC
\insertRefbedrick1994modelmvIC
\insertRefwu2013weightedmvIC
# create matrix of responses Y = with(iris, rbind(Sepal.Width, Sepal.Length)) # Evaluate model 1 mvIC_fit( Y, ~ Species, data=iris) # Evaluate model 2 # smaller mvIC means better model mvIC_fit( Y, ~ Petal.Width + Petal.Length + Species, data=iris)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.