simca
is used to make SIMCA (Soft Independent Modelling of Class Analogies) model for
one-class classification.
simca(x, classname, ncomp = 15, center = T, scale = F, cv = NULL,
exclcols = NULL, exclrows = NULL, x.test = NULL, c.test = NULL,
alpha = 0.05, method = "svd", info = "")
a numerical matrix with data values.
short text (up to 20 symbols) with class name.
maximum number of components to calculate.
logical, do mean centering of data or not.
logical, do sdandardization of data or not.
number of segments for random cross-validation (1 for full cross-validation).
columns to be excluded from calculations (numbers, names or vector with logical values)
rows to be excluded from calculations (numbers, names or vector with logical values)
a numerical matrix with test data.
a vector with classes of test data objects (can be text with names of classes or logical).
significance level for calculating limit for T2 and Q residuals.
method to compute principal components.
text with information about the model.
Returns an object of simca
class with following fields:
a short text with class name.
a matrix with modelling power of variables.
an object of class simcares
with classification results for a
calibration data.
an object of class simcares
with classification results for a test
data, if it was provided.
an object of class simcares
with classification results for
cross-validation, if this option was chosen.
Fields, inherited from pca class:
number of components included to the model.
selected (optimal) number of components.
matrix with loading values (nvar x ncomp).
vector with eigenvalues for all existent components.
vector with explained variance for each component (in percent).
vector with cumulative explained variance for each component (in percent).
statistical limit for T2 distance.
statistical limit for Q residuals.
information about the model, provided by user when build the model.
SIMCA is in fact PCA model with additional functionality, so simca
class inherits most
of the functionality of pca
class.
S. Wold, M. Sjostrom. "SIMCA: A method for analyzing chemical data in terms of similarity and analogy" in B.R. Kowalski (ed.), Chemometrics Theory and Application, American Chemical Society Symposium Series 52, Wash., D.C., American Chemical Society, p. 243-282.
Methods for simca
objects:
print.simca |
shows information about the object. |
summary.simca |
shows summary statistics for the model. |
plot.simca |
makes an overview of SIMCA model with four plots. |
predict.simca |
applies SIMCA model to a new data. |
plotModellingPower.simca |
shows plot with modelling power of variables. |
Methods, inherited from classmodel
class:
plotPredictions.classmodel |
shows plot with predicted values. |
plotSensitivity.classmodel |
shows sensitivity plot. |
plotSpecificity.classmodel |
shows specificity plot. |
plotMisclassified.classmodel |
shows misclassified ratio plot. |
Methods, inherited from pca
class:
selectCompNum.pca |
set number of optimal components in the model |
plotScores.pca |
shows scores plot. |
plotLoadings.pca |
shows loadings plot. |
plotVariance.pca |
shows explained variance plot. |
plotCumVariance.pca |
shows cumulative explained variance plot. |
plotResiduals.pca |
shows Q vs. T2 residuals plot. |
# NOT RUN {
## make a SIMCA model for Iris setosa class with full cross-validation
library(mdatools)
data = iris[, 1:4]
class = iris[, 5]
# take first 20 objects of setosa as calibration set
se = data[1:20, ]
# make SIMCA model and apply to test set
model = simca(se, 'setosa', cv = 1)
model = selectCompNum(model, 1)
# show infromation, summary and plot overview
print(model)
summary(model)
plot(model)
# show predictions
par(mfrow = c(2, 1))
plotPredictions(model, show.labels = TRUE)
plotPredictions(model, res = 'calres', ncomp = 2, show.labels = TRUE)
par(mfrow = c(1, 1))
# show performance, modelling power and residuals for ncomp = 2
par(mfrow = c(2, 2))
plotSensitivity(model)
plotMisclassified(model)
plotModellingPower(model, ncomp = 2, show.labels = TRUE)
plotResiduals(model, ncomp = 2)
par(mfrow = c(1, 1))
# }
Run the code above in your browser using DataLab