EPPlabAgg | R Documentation |
Function that automatically aggregates the projection directions from one or more epplab
objects.
Three options are available on how to choose the final projection which can have a rank larger than one.
The parameter x
can either be a single object or a list of epplab objects.
Options for method
are inverse
, sq.inverse
and cumulative
.
EPPlabAgg(x, method = "cumulative", percentage = 0.85)
x |
An object of class |
method |
The type of method, see details. Options are |
percentage |
Threshold for the relative eigenvalue sum to retain, see details. |
Denote p_i, i=1,...,m
, the projection vectors contained in the list of epplab
objects
and P_i, i=1,..,m
, the corresponding orthogonal projection matrices (each having rank one).
The method cumulative
is based on the eigenvalue decomposition of
P_w=\frac 1m \sum_{i=1}^m P_i
and transforms as O
the eigenvectors such that the corresponding
relative eigenvalues sum is at least percentage
.
The number of eigenvectors retained corresponds to the rank k
and
P
is the corresponding orthogonal projection matrix.
The methods inverse
and sq.inverse
are automatic rules to
choose the number of eigenvectors to retain as implemented by the function
AOP
.
A list with class 'epplabagg' containing the following components:
P |
The estimated average orthogonal projection matrix. |
O |
An orthogonal matrix on which P is based upon. |
k |
The rank of the average orthogonal projection matrix. |
eigenvalues |
The relevant eigenvalues, see details. Only given if |
Daniel Fischer, Klaus Nordhausen, Anne Ruiz-Gazen
Liski, E., Nordhausen, K., Oja, H. and Ruiz-Gazen, A. (201?), Combining Linear Dimension Reduction Estimates, to appear in the Proceedings of ICORS 2015, pp. ??-??.
EPPlab
, AOP
library(tourr)
data(olive)
# To keep the runtime short, maxiter and n.simu were chosen very
# small for demonstration purposes, real life applications would
# rather choose larger values, e.g. n.simu=100, maxiter=200
olivePP.kurt.max <-
EPPlab(olive[,3:10],PPalg="PSO",PPindex="KurtosisMax",n.simu=10, maxiter=20)
olivePP.fried <-
EPPlab(olive[,3:10],PPalg="PSO",PPindex="Friedman",n.simu=10, maxiter=20)
olivePPs <- list(olivePP.kurt.max, olivePP.fried)
EPPlabAgg(olivePP.kurt.max)$k
EPPlabAgg(olivePPs, "cum", 0.99)$k
pairs(olivePP.kurt.max$x %*% EPPlabAgg(olivePPs, "cum", 0.99)$O,
col=olive[,2], pch=olive[,1])
olivAOP.sq <- EPPlabAgg(olivePPs, "inv")
oliveProj <- olivePP.kurt.max$x %*% olivAOP.sq$O
plot(density(oliveProj))
rug(oliveProj[olive$region==1],col=1)
rug(oliveProj[olive$region==2],col=2)
rug(oliveProj[olive$region==3],col=3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.