[Eeglablist] Binica PCA error and PCA question

周云晖 yhzhou17 at fudan.edu.cn
Sat Mar 30 18:29:46 PDT 2019


Hello Ugo Bruzadin Nunes,


By "Delorme et al., 2018" do you mean the paper "Applying dimension reduction to EEG data by principal component analysis reduces the quality of its subsequent independent component decomposition" published on NeuroImage?


In that paper, to achieve removing PCs accounting for 1% variance of the data, one needs to remove about 50 PCs out of the 71 EEG channels (see Figure 1C). If you are just removing 1 PC before ICA to make the data full-rank after re-referencing to average reference, I guess the negative effect of PCA will be much much smaller.


Best,


Yunhui



-----Original Messages-----
From:"Ugo Bruzadin Nunes" <ugob at siu.edu>
Sent Time:2019-03-30 13:46:35 (Saturday)
To: "eeglablist at sccn.ucsd.edu" <eeglablist at sccn.ucsd.edu>
Cc:
Subject: [Eeglablist] Binica PCA error and PCA question


Dear SCCN team,


1. Me and the team at the INL in SIU-C have been trying to run a PCA using BINICA and have been getting the same error, no matter what computer, MATLAB, or EEGLAB version we run it. We're running it on windows using the binica from the wiki page.


Binica's ICA runs ICA normally, and CUDAICA and RUNICA runs both ICA and PCA just fine.  The binica I downloaded from the wiki, the CUDAICA for windows (in case you're curious, I found it in the comments of the original CUDAICA https://github.com/yhz-1995/cudaica_win and it works wonderfully).


The code is this (or similar):" EEG = pop_runica(EEG,'icatype', 'binica', 'extended', 1, 'PCA', 25).
error print:


step 335 - lrate 0.000001, wchange 0.000000, angledelta 89.7 deg, 0 subgauss

Sorting components in descending order of mean projected variance ...

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128  

Permuting the activation wave forms ...

Storing weights in C:\MG/binica5727.wts

Storing sphering matrix in C:\MG/binica5727.sph

 

ICA Version 1.3  (September 20, 1999)

Error using reshape

Size arguments must be real integers.



Error in floatread (line 158)

A = reshape(A,[Asize length(A)/prod(Asize)]);



Error in binica (line 326)

    wts = floatread(weightsfile,[ncomps Inf],[],0);



Error in pop_runica (line 430)

            [EEG.icaweights,EEG.icasphere] = binica( tmpdata, 'lrate', 0.001, g.options{:} );


How can I fix this error?


2. I have read the many warnings from the SCCN team against running PCA on data to clean the data (Delorme et al., 2018), and I'm quite confused. Are we not supposed to run a "real PCA"  or we're not supposed to run the "runica pca"? What alternatives do you suggest to process the data? Should we run an n-1 ICA manual reduction to remove components but keep all the other ICs produced? Wouldn't an ICA of 128 on a 128 channels (in for example, a 10 minutes lenght file) be under-powered?


If my questions are repeated I apologize.


Thanks a lot in advance,


Ugo Bruzadin Nunes, M.A.
PSYC 312 Instructor - Sensation and Perception

Brain and Cognitive Sciences Ph.D Program || Department of Psychology


Southern Illinois University - Carbondale




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20190331/44191155/attachment.html>


More information about the eeglablist mailing list