Library: | stats |
See also: | pca CPC Jacobirot CPCFGalg |
Quantlet: | ICAjadeR | |
Description: | performs an Independent Component Analysis on X and extracts m components. It uses the so called JADE algorithm for real valued signals. |
Usage: | B = ICAjadeR(X,m) | |
Input: | ||
X | T x n data matrix; n columns for n signals are measured over T periods, each column records one signal. | |
m | scalar, number of independent signals to be extracted by ICA; it has to be smaller than n, if it is not, it is set automatically equal to n. | |
Output: | ||
B | n x m separating matrix such that S = X*B is a T x m matrix of estimated independent source signals ordered with respect to the power of the signals. |
library("stats") X=read("implvola") B=ICAjadeR(X,3) S=X*B ; get the estimated ICs e=createdisplay(3,1) ;plot them e1=setmask(1:rows(X)~(S[,1]),"line") e2=setmask(1:rows(X)~(S[,2]),"line") e3=setmask(1:rows(X)~(S[,3]),"line") show(e,1,1,e1) show(e,2,1,e2) show(e,3,1,e3) setgopt(e,1,1,"xvalue",0|1,"yvalue",0|1,"xlabel","time","ylabel","1st IC","border",0) setgopt(e,2,1,"xvalue",0|1,"yvalue",0|1,"xlabel","time","ylabel","2nd IC","border",0) setgopt(e,3,1,"xvalue",0|1,"yvalue",0|1,"xlabel","time","ylabel","3rd IC","border",0) setsize(500,500) col = #(1,2,3) bp = grpcp(B',col) dim(B) d = createdisplay(1,1) show(d, 1, 1, bp) setgopt(d,1,1,"title","Mixing Vectors, ICA","border",0,"ylabel","Factor loadings","xlabel","Number of signal vectors")
An ICA (3 components) is performed on implied volatility data. The transformation vectors and the time series of ICs are plotted. Contents of dim [1,] 8 [2,] 3