sfa2 {rSFA} | R Documentation |
Y = sfa2(X) performs expanded Slow Feature Analysis on the input data X and returns the output signals Y ordered by increasing temporal variation, i.e. the first signal Y[,1] is the slowest varying one, Y[,2] the next slowest varying one and so on. The input data have to be organized with each variable in a column and each data (time) point in a row, i.e. X(t,i) is the value of variable i at time t. By default an expansion to the space of 2nd degree polynomials is done, this can be changed by using different functions for xpDimFun and sfaExpandFun.
sfa2(
x,
method = "SVDSFA",
ppType = "PCA",
xpDimFun = xpDim,
sfaExpandFun = sfaExpand
)
x |
input data |
method |
eigenvector calculation method: ="SVDSFA" for singular value decomposition (recommended) or ="GENEIG" for generalized eigenvalues (unstable!). GENEIG is not implemented in the current version, since R lacks an easy option to calculate generalized eigenvalues. |
ppType |
preprocessing type: ="PCA" (principal component analysis) or ="SFA1" (linear sfa) |
xpDimFun |
function to calculate dimension of expanded data |
sfaExpandFun |
function to expand data |
list sfaList
with all SFA information, among them are
y |
a matrix containing the output Y (as described above) |
- |
all input parameters to |
- |
all elements of |
sfa2Step
sfa2Create
sfaExecute
sfa1
## prepare input data for simple demo
t=seq.int(from=0,by=0.011,to=2*pi)
x1=sin(t)+cos(11*t)^2
x2=cos(11*t)
x=data.frame(x1,x2)
## perform sfa2 algorithm with data
res = sfa2(x)
## plot slowest varying function of result
plot(t, res$y[,1],type="l",main="output of the slowest varying function")
## see http://www.scholarpedia.org/article/Slow_feature_analysis#The_algorithm
## for detailed description of this example