<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Neurosci.</journal-id>
<journal-title>Frontiers in Neuroscience</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Neurosci.</abbrev-journal-title>
<issn pub-type="epub">1662-453X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fnins.2021.750290</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Technology and Code</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Stepwise Covariance-Free Common Principal Components (CF-CPC) With an Application to Neuroscience</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Riaz</surname> <given-names>Usama</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="corresp" rid="c002"><sup>&#x002A;</sup></xref>
<xref ref-type="author-notes" rid="fn002"><sup>&#x2020;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1474035/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Razzaq</surname> <given-names>Fuleah A.</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="author-notes" rid="fn002"><sup>&#x2020;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/827858/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Hu</surname> <given-names>Shiang</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/436799/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Vald&#x00E9;s-Sosa</surname> <given-names>Pedro A.</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/54366/overview"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>The Clinical Hospital of Chengdu Brain Sciences, University of Electronic Science and Technology of China</institution>, <addr-line>Chengdu</addr-line>, <country>China</country></aff>
<aff id="aff2"><sup>2</sup><institution>Anhui Provincial Key Laboratory of Multimodal Cognitive Computation, Key Laboratory of Intelligent Computing and Signal Processing of Ministry of Education, School of Computer Science and Technology</institution>, <addr-line>Hefei</addr-line>, <country>China</country></aff>
<aff id="aff3"><sup>3</sup><institution>Cuban Neuroscience Center</institution>, <addr-line>Havana</addr-line>, <country>Cuba</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Adeel Razi, Monash University, Australia</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Stavros I. Dimitriadis, Greek Association of Alzheimer&#x2019;s Disease and Related Disorders, Greece; Guido Nolte, University Medical Center Hamburg-Eppendorf, Germany</p></fn>
<corresp id="c001">&#x002A;Correspondence: Pedro A. Vald&#x00E9;s-Sosa, <email>pedro.valdes@neuroinformatics-collaboratory.org</email></corresp>
<corresp id="c002">Usama Riaz, <email>usama.riazahmad@outlook.com</email></corresp>
<fn fn-type="equal" id="fn002"><p><sup>&#x2020;</sup>These authors have contributed equally to this work and share first authorship</p></fn>
<fn fn-type="other" id="fn004"><p>This article was submitted to Brain Imaging Methods, a section of the journal Frontiers in Neuroscience</p></fn>
</author-notes>
<pub-date pub-type="epub">
<day>11</day>
<month>11</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>15</volume>
<elocation-id>750290</elocation-id>
<history>
<date date-type="received">
<day>30</day>
<month>07</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>15</day>
<month>10</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x00A9; 2021 Riaz, Razzaq, Hu and Vald&#x00E9;s-Sosa.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Riaz, Razzaq, Hu and Vald&#x00E9;s-Sosa</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract>
<p>Finding the common principal component (CPC) for ultra-high dimensional data is a multivariate technique used to discover the latent structure of covariance matrices of shared variables measured in two or more <italic>k</italic> conditions. Common eigenvectors are assumed for the covariance matrix of all conditions, only the eigenvalues being specific to each condition. Stepwise CPC computes a limited number of these CPCs, as the name indicates, sequentially and is, therefore, less time-consuming. This method becomes unfeasible when the number of variables <italic>p</italic> is ultra-high since storing <italic>k</italic> covariance matrices requires <italic>O</italic>(<italic>k</italic><italic>p</italic><sup>2</sup>) memory. Many dimensionality reduction algorithms have been improved to avoid explicit covariance calculation and storage (covariance-free). Here we propose a covariance-free stepwise CPC, which only requires <italic>O</italic>(<italic>k</italic><italic>n</italic>) memory, where <italic>n</italic> is the total number of examples. Thus for <italic>n</italic> &#x003C; &#x003C; <italic>p</italic>, the new algorithm shows apparent advantages. It computes components quickly, with low consumption of machine resources. We validate our method CFCPC with the classical Iris data. We then show that CFCPC allows extracting the shared anatomical structure of EEG and MEG source spectra across a frequency range of 0.01&#x2013;40 Hz.</p>
</abstract>
<kwd-group>
<kwd>Ultra-high Dimensional Data</kwd>
<kwd>Covariance-free</kwd>
<kwd>Neuroimaging</kwd>
<kwd>EEG</kwd>
<kwd>MEG</kwd>
<kwd>common principal component (CPC)</kwd>
</kwd-group>
<counts>
<fig-count count="3"/>
<table-count count="2"/>
<equation-count count="25"/>
<ref-count count="50"/>
<page-count count="11"/>
<word-count count="8217"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="S1">
<title>Introduction</title>
<p>With exceptional advancements in data acquisition capabilities in recent years, there has been a rise in conducting large-scale neuroscience studies. Increased processing power with the availability of High-Power Computing (HPC) setups gives the neuroscience community ability to compute high-resolution spatial and temporal source imaging and source activity localization, especially in EEG and MEG data. These datasets are gathered with lots of different parameters. These parameters can be different due to age, gender, ethnicity, geographical location, capturing modality, and machine parameters.</p>
<p>Analyzing ultra-high-dimensional neuroimaging data has been time-consuming and challenging. There are many solutions, e.g., Principal Component Analysis (PCA), Independent Component Analysis (ICA), Incremental Principal Component Analysis (IPCA), and sparse incremental Principal Component Analysis (sIPCA) (<xref ref-type="bibr" rid="B47">Yao et al., 2012</xref>; <xref ref-type="bibr" rid="B7">Balsubramani et al., 2013</xref>; <xref ref-type="bibr" rid="B39">Tang and Allen, 2018</xref>; <xref ref-type="bibr" rid="B38">Tabachnick and Fidell, n.d.</xref>) developed to overcome high dimensionality. However, only a small number of principal components can explain almost all the variance of a multivariate data and that is where stepwise computation of Principal Components comes. Stepwise PC only a compute a limited number of PCs sequentially. Power method is used to first compute the most dominant PC and then deflation parameter extracts the estimated variance from data (<xref ref-type="bibr" rid="B27">MacKey, 2009</xref>; <xref ref-type="bibr" rid="B17">Golub and Van Loan, 1996</xref>). Later, the dominant PC is again computed from the remaining data using same procedure, details are in methodology.</p>
<p>However, there are some scenarios when <italic>k</italic> different populations or groups, also known as conditions, are being compared or cross analyzed, and a common latent covariance structure is required. This phenomenon is also known as obtaining common principal components (CPCs). The conventional CPC algorithm was first introduced and studied by <xref ref-type="bibr" rid="B15">Flury (1984)</xref>. CPC is one of many possible generalizations of standard PCA of several covariance matrices (<xref ref-type="bibr" rid="B21">Jolliffe, 2005</xref>). The initial motivation for introducing CPC was to study discrimination problems, where the covariance matrices for different conditions are not equal as required by linear discriminant analysis but more generally share a latent joint principal axis (<xref ref-type="bibr" rid="B15">Flury, 1984</xref>; <xref ref-type="bibr" rid="B24">Krzanowski, 1984</xref>). The CPC model was mainly criticized because it is essentially a method for simultaneous diagonalization of several positive definite matrices. Rather than a dimensionality reduction method, which is usually the main goal in data analysis (<xref ref-type="bibr" rid="B35">Schott, 1989</xref>).</p>
<p>To remedy this (<xref ref-type="bibr" rid="B24">Krzanowski, 1984</xref>), proposed a simple, intuitive procedure to estimate an approximation of the CPCs based on the PCA of the pooled sample covariance matrix and the total sample covariance matrix, followed by the comparison of their eigenvectors (<xref ref-type="bibr" rid="B35">Schott, 1989</xref>, <xref ref-type="bibr" rid="B36">1999</xref>) proposed an improvement where the latent covariance structure spanned by the first <italic>m</italic> principal components (PC) and their sum is identical for any <italic>k</italic> conditions. This is called Common Subspace Analysis (CSA). These improvements try to achieve the aim of dimensionality reduction. However, CSA still used the inherited concept of finding a common subspace of all groups simultaneously, making it time-consuming and computationally expensive. To remedy this, stepwise CPC was proposed by <xref ref-type="bibr" rid="B41">Trendafilov (2010)</xref>, which sequentially performs the CPCs functionalities. Stepwise CPC computes fewer latent components, making it computationally less expensive and achieving dimensionality reduction.</p>
<p>The motivation of this study comes from a problem we faced while conducting a previous study where we were trying to decompose the source spectra of EEG and MEG. This decomposition aims to remove pre-identified differences between the two spectra and to develop a transfer function. Estimating common topography between EEG and MEG spectra is one of the elements required for this decomposition process. However, both spectra are ultra-high dimensional, i.e., the number of variables <italic>p</italic> is much larger than the number of observations <italic>n</italic> (<xref ref-type="bibr" rid="B20">Hu, 2020</xref>; <xref ref-type="bibr" rid="B33">Riaz, 2021a</xref>). To compute a common latent subspace via stepwise CPC, we need the covariance matrix for all <italic>k</italic> conditions, i.e., covariances for EEG and MEG. Since computing covariance requires <italic>O</italic>(<italic>p</italic><sup>2</sup>) memory which can be time-consuming and even impossible when <italic>p</italic> is large. Thus, conventional stepwise CPC cannot be applied here, as it will require <italic>O</italic>(<italic>k</italic><italic>p</italic><sup>2</sup>) memory space. A covariance-free CPC is required to compute a common latent subspace for ultra-high-dimensional data, which do not compute and save covariance matrix. Some covariance-free methods have been previously proposed to improve other dimensionality reduction methods. For example, IPCA was proposed by <xref ref-type="bibr" rid="B45">Weng et al. (2003)</xref> and <xref ref-type="bibr" rid="B48">Yousefi et al. (2017)</xref>, iterative Kernal PCA proposed by <xref ref-type="bibr" rid="B26">Liao et al. (2010)</xref>, incremental PCALDA by <xref ref-type="bibr" rid="B11">Dagher (2010)</xref>, covariance free partial least squares by <xref ref-type="bibr" rid="B22">Jordao et al. (2021)</xref>. Instead of working with covariance matrices, all these methods achieve dimensionality reduction without computing and saving covariance matrix, which decreases required memory to <italic>O</italic>(<italic>n</italic>).</p>
<p>This article proposes a novel method we call stepwise Covariance-Free CPC (stepwise CFCPC) by merging &#x201C;covariance free&#x201D; and common latent subspace concepts. The following sections of the article are a methodology for CFCP then the description of the datasets we are using to test and validate our method. Later we present the results and compare stepwise CPC and stepwise CFCPC for accuracy, computation time, and memory consumption. Furthermore, we lay down the concluding remarks and suggest applications of this improvement.</p>
</sec>
<sec id="S2">
<title>Methodology and Materials</title>
<sec id="S2.SS1">
<title>Principal Components Principal Components</title>
<p>PCA is a dimensionality reduction technique that computes Principal Components (PCs) to represent data by linear combination of a significantly less number of vectors. These vectors represent the maximum variance of data that a single vector can represent in a given direction. Other PCs that are orthogonal to their previous PC are computed, and every next PC represents a lesser amount of variance from the previous. Principal components are obtained from the covariance matrix of the data, then eigenvalues and eigenvectors of that covariance matrix are computed for dimensionality reduction (<xref ref-type="bibr" rid="B38">Tabachnick and Fidell, n.d.</xref>). For a given data generally, the PCs equal to the number of variables is computed. However, only a small number of PCs represent almost all the data variance, which is why only a few PCs are required. This phenomenon gives birth to the idea of stepwise Principal Components.</p>
</sec>
<sec id="S2.SS2">
<title>Stepwise Principal Component</title>
<p>Stepwise principal components compute a limited number of PCs and compute them sequentially, which is explicitly required when matrices are of larger sizes. The stepwise PC is obtained by first using the power method to compute the most dominant eigenvalue by normalizing the given matrix, computing the most dominant eigen value, and applying the deflation to extract the variance that has been estimated by &#x03BB;. It works on a diagonalizable square matrix, which in our case is a covariance matrix <italic>S</italic><sub><italic>i</italic></sub>. The power method iteration algorithm for a given covariance matrix <italic>S</italic><sub><italic>i</italic></sub> works as shown below. Here &#x03BC; is the normalized covariance matrix <italic>S</italic><sub><italic>i</italic></sub>, &#x03BB; is the estimated eigenvector, and <italic>l</italic><sub><italic>max</italic></sub> are the total number of iteration for convergence. The Power Method Iteration Algorithm defined above gives the largest eigenvalue. The deflation method (<xref ref-type="bibr" rid="B27">MacKey, 2009</xref>) omits the estimated covariance to obtain new <italic>S</italic><sub><italic>i</italic></sub> which is eventually used to compute the next &#x03BB;. Stepwise-PC repeats this process iteratively for the given number of eigenvalues.</p>
<disp-formula id="S2.Ex1">
<mml:math id="M1">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mpadded width="+5pt">
<mml:mi>r</mml:mi>
</mml:mpadded>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mpadded width="+5pt">
<mml:mi>d</mml:mi>
</mml:mpadded>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>I</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.Ex2">
<mml:math id="M2">
<mml:mrow>
<mml:mrow>
<mml:mpadded width="+5pt">
<mml:mi>for</mml:mi>
</mml:mpadded>
<mml:mo>&#x2062;</mml:mo>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x2026;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.Ex3">
<mml:math id="M3">
<mml:mrow>
<mml:mrow>
<mml:mi>&#x2003;&#x2003;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi mathvariant="normal">&#x03BC;</mml:mi>
</mml:mrow>
<mml:mo>&#x2190;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>&#x03BC;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.Ex4">
<mml:math id="M4">
<mml:mrow>
<mml:mrow>
<mml:mi>&#x2003;&#x2003;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi mathvariant="normal">&#x03BB;</mml:mi>
</mml:mrow>
<mml:mo>&#x2190;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x03BC;</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mi mathvariant="normal">&#x03BC;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.Ex5">
<mml:math id="M5">
<mml:mrow>
<mml:mrow>
<mml:mi>&#x2003;&#x2003;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi mathvariant="normal">&#x03BC;</mml:mi>
</mml:mrow>
<mml:mo>&#x2190;</mml:mo>
<mml:mrow>
<mml:mi>&#x03BC;</mml:mi>
<mml:mo stretchy="true">/</mml:mo>
<mml:msqrt>
<mml:mi>&#x03BB;</mml:mi>
</mml:msqrt>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.Ex6">
<mml:math id="M6">
<mml:mrow>
<mml:mtext>end</mml:mtext>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.Ex7">
<mml:math id="M7">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.Ex8">
<mml:math id="M8">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2190;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>&#x03BB;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>&#x03BC;</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>&#x03BC;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</sec>
<sec id="S2.SS3">
<title>Conventional Common Principal Component</title>
<p>Conventional CPC is one of the generalizations of PCA for <italic>k</italic> conditions and their covariance matrices, as mentioned in <xref ref-type="bibr" rid="B15">Flury (1984)</xref>. In CPC, it is assumed that all <italic>k</italic> conditions have the same mean, and their covariance matrices <italic>S</italic><sub><italic>i</italic></sub> are all positive definite and diagonalizable.</p>
<disp-formula id="S2.E1">
<label>(1)</label>
<mml:math id="M9">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mtext> </mml:mtext>
</mml:mrow>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mtext> </mml:mtext>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mtext mathvariant="bold">Q</mml:mtext>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">D</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo rspace="10.8pt">,</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x2026;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here <bold>Q</bold> is the common orthogonal matrix for all conditions and <inline-formula><mml:math id="INEQ25"><mml:msubsup><mml:mtext mathvariant="bold">D</mml:mtext><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula> is the positive orthogonal matrix for each condition. CPC estimations find the common eigenvectors and eigenvalues for covariance matrices <bold>S</bold><sub><italic>i</italic></sub> for all <italic>k</italic> conditions and <italic>n</italic><sub><italic>i</italic></sub>(&#x003E; <italic>p</italic>) degrees of freedom or number of observations such that:</p>
<disp-formula id="S2.E2">
<label>(2)</label>
<mml:math id="M10">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2248;</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">QD</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>CPC computes the latent components all at once by computing maximum likelihood components of parameters <bold>Q</bold> and <inline-formula><mml:math id="INEQ30"><mml:mrow><mml:mrow><mml:mrow><mml:msubsup><mml:mtext mathvariant="bold">D</mml:mtext><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2026;</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> using the following optimization problem of minimizing negative log-likelihood as mentioned in <xref ref-type="bibr" rid="B15">Flury (1984)</xref>.</p>
<disp-formula id="S2.Ex9">
<mml:math id="M11">
<mml:mrow>
<mml:mpadded width="+5.6pt">
<mml:mi>Minimize</mml:mi>
</mml:mpadded>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo movablelimits="false">det</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">QD</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">QD</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.E3">
<label>(3)</label>
<mml:math id="M12">
<mml:mrow>
<mml:mpadded width="+2.8pt">
<mml:mi mathvariant="normal">&#x2004;</mml:mi>
</mml:mpadded>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo movablelimits="false">det</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msubsup>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">D</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2299;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mtext mathvariant="bold">Q</mml:mtext>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.E4">
<label>(4)</label>
<mml:math id="M13">
<mml:mrow>
<mml:mpadded width="+2.8pt">
<mml:mi>Subject</mml:mi>
</mml:mpadded>
<mml:mi>to</mml:mi>
<mml:mo mathvariant="italic" separator="true">&#x2003;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">D</mml:mtext>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">D</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mi mathvariant="normal">&#x2026;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">D</mml:mtext>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x03D1;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x00D7;</mml:mo>
<mml:mi>D</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where &#x2299; is the Hadmard product, the Lie group of all <italic>p</italic>&#x00D7;<italic>p</italic> orthogonal matrices is denoted by &#x03D1;(<italic>p</italic>) and <inline-formula><mml:math id="INEQ33"><mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mo>&#x2062;</mml:mo><mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>k</mml:mi></mml:msup></mml:mrow><mml:mo>=</mml:mo><mml:munder><mml:munder accentunder="true"><mml:mrow><mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mo movablelimits="false">&#x2062;</mml:mo><mml:mrow><mml:mo movablelimits="false" stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo movablelimits="false" stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo movablelimits="false">&#x00D7;</mml:mo><mml:mi mathvariant="normal">&#x2026;</mml:mi><mml:mo movablelimits="false">&#x00D7;</mml:mo><mml:mi>D</mml:mi></mml:mrow><mml:mo movablelimits="false">&#x2062;</mml:mo><mml:mrow><mml:mo movablelimits="false" stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo movablelimits="false" stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo movablelimits="false">&#x23DF;</mml:mo></mml:munder><mml:mi>k</mml:mi></mml:munder></mml:mrow></mml:math></inline-formula>. Here D(<italic>p</italic>) is the linear subspace of all <italic>p</italic>&#x00D7;<italic>p</italic> diagonal matrices. However, to satisfy the first-order optimality condition for a stationary point of CPC objective function, <inline-formula><mml:math id="INEQ36"><mml:mrow><mml:msubsup><mml:mo largeop="true" symmetric="true">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>k</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msup><mml:mtext mathvariant="bold">Q</mml:mtext><mml:mi>T</mml:mi></mml:msup><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mtext mathvariant="bold">S</mml:mtext><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msubsup><mml:mtext mathvariant="bold">QD</mml:mtext><mml:mi>i</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:mtext> </mml:mtext><mml:mo>&#x2062;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>s</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mtext> </mml:mtext><mml:mo>&#x2062;</mml:mo><mml:mi>s</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>e</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>r</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>c</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="INEQ37"><mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>a</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>g</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mtext mathvariant="bold">Q</mml:mtext><mml:mi>T</mml:mi></mml:msup><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mtext mathvariant="bold">S</mml:mtext><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:mtext mathvariant="bold">Q</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>=</mml:mo><mml:msubsup><mml:mtext mathvariant="bold">D</mml:mtext><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> for all <italic>k</italic> + 1 conditions simultaneously. After submitting these values in Equation (3), we can define CPC estimation as the following likelihood problem.</p>
<disp-formula id="S2.E5">
<label>(5)</label>
<mml:math id="M14">
<mml:mrow>
<mml:mi>Minimize</mml:mi>
<mml:mo mathvariant="italic" separator="true">&#x2003;</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo movablelimits="false">det</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mtext mathvariant="bold">Q</mml:mtext>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.E6">
<label>(6)</label>
<mml:math id="M15">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mpadded width="+2.8pt">
<mml:mi>Subject</mml:mi>
</mml:mpadded>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>to</mml:mi>
</mml:mrow>
<mml:mo mathvariant="italic" separator="true">&#x2003;</mml:mo>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">&#x03D1;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here <bold>Q</bold> is the set of all orthogonal matrices that contain all the CPCs, which are computed simultaneously. This is a basically FG diagonalization solution replacing the original problem mentioned in Equations (3) and (4). CPC works efficiently for covariance matrices <bold>S</bold><sub><italic>i</italic></sub> that are positive definite and positive semi-definite as well.</p>
</sec>
<sec id="S2.SS4">
<title>Stepwise Common Principal Component</title>
<p>Stepwise CPC is performed by imitating the standard PCA to achieve dimensionality reduction, i.e., finding the latent components one after another (<xref ref-type="bibr" rid="B41">Trendafilov, 2010</xref>). It does not compute all the CPCs at once, and instead, it computes only a desired number of CPCs sequentially. First, it transforms the CPC problem into a vectorize form and then solves the <italic>p</italic> identical problems expressed in Equations (7) and (8) sequentially.</p>
<disp-formula id="S2.E7">
<label>(7)</label>
<mml:math id="M16">
<mml:mrow>
<mml:mi>Minimize</mml:mi>
<mml:mo mathvariant="italic" separator="true">&#x2003;</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.E8">
<label>(8)</label>
<mml:math id="M17">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mpadded width="+2.8pt">
<mml:mi>Subject</mml:mi>
</mml:mpadded>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>to</mml:mi>
</mml:mrow>
<mml:mo mathvariant="italic" separator="true">&#x2003;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here <italic>q</italic> are the common PCs computed sequentially. Stepwise CPC is done by finding the first CPC which will be <italic>q</italic><sub><italic>p</italic></sub> which will give a minimum of Equation (7) in the unit sphere in <italic>&#x211D;<sup>p</sup></italic>, then the next CPC is found that will be <italic>q</italic><sub><italic>p</italic>&#x2212;1</sub> which will give a minimum of Equation (7) in the unit sphere in <italic>&#x211D;<sup>p</sup></italic> and it will be orthogonal to <italic>q</italic><sub><italic>p</italic></sub>. So, each minimum found using this idea will be greater than the previous one as it is found in the orthogonal domain of the previous minimization domain. Since the quantities <italic>q</italic><sup>T</sup><italic>S</italic><sub><italic>i</italic></sub><italic>q</italic> are bounded by the smallest and largest eigenvalues of <bold>S</bold><sub><italic>i</italic></sub>, the objective function in Equation (7) will be bounded on a unit sphere <italic>&#x211D;<sup>p</sup></italic>. However, for the purpose of dimensionality reduction, it is more feasible to obtain the CPCs in reverse order, i.e., representing all CPCs by a variational eigenvalues definition represented in <xref ref-type="bibr" rid="B19">Hord and Johnson (2012)</xref> as <bold>Q</bold><sub><italic>p</italic></sub> = [<italic>q</italic><sub>1</sub>,<italic>q</italic><sub>2</sub>,&#x2026;,<italic>q</italic><sub><italic>p</italic></sub>] which <italic>p</italic>&#x00D7;<italic>p</italic> orthogonal matrix containing the CPCs obtained from Equation (7) and (8). So the <italic>j</italic><italic>t</italic><italic>h</italic> CPC can be shown by the optimization problem shown in Equations (9) and (10).</p>
<disp-formula id="S2.E9">
<label>(9)</label>
<mml:math id="M18">
<mml:mrow>
<mml:mi>Minimize</mml:mi>
<mml:mo mathvariant="italic" separator="true">&#x2003;</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="S2.E10">
<label>(10)</label>
<mml:math id="M19">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mpadded width="+2.8pt">
<mml:mi>Subject</mml:mi>
</mml:mpadded>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>to</mml:mi>
</mml:mrow>
<mml:mo mathvariant="italic" separator="true">&#x2003;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mpadded width="+5.6pt">
<mml:mn>1</mml:mn>
</mml:mpadded>
<mml:mo>&#x2062;</mml:mo>
<mml:mpadded width="+5.6pt">
<mml:mi>and</mml:mi>
</mml:mpadded>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where <bold>Q</bold><sub><italic>j</italic>&#x2212;1</sub> = [<italic>q</italic><sub>1</sub>,<italic>q</italic><sub>1</sub>,&#x2026;,<italic>q</italic><sub><italic>j</italic>&#x2212;1</sub>] and the <italic>j</italic><italic>t</italic><italic>h</italic> CPC can be obtained by solving <italic>j</italic> problems similar to the ones shown in Equations (9) and (10). This eventual solution will be similar to the one computed in the original CPC shown in Equations (5) and (6) but has the feature that it can be stopped at any point that is 1 &#x2264; <italic>j</italic> &#x2264; <italic>p</italic>. To compute the next eigenvector, one can use an already computed <bold>Q</bold><sub><italic>j</italic></sub> and do not need to compute all the eigenvectors from the start. The first-order optimality conditions for Equations (9) and (10) can be resolved by Theorem 3.1 in <xref ref-type="bibr" rid="B41">Trendafilov (2010)</xref> study. The equation resolves to obtain the first-order optimality condition is shown in Equation (11).</p>
<disp-formula id="S2.E11">
<label>(11)</label>
<mml:math id="M20">
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">&#x03A0;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x00D7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where <bold>&#x03A0;</bold><italic><sub>j</sub></italic> the deflation parameter or projector <inline-formula><mml:math id="INEQ60"><mml:mrow><mml:msub><mml:mtext mathvariant="bold">I</mml:mtext><mml:mi>p</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mrow><mml:msub><mml:mi>B</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msubsup><mml:mtext mathvariant="bold">Q</mml:mtext><mml:mi>j</mml:mi><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="INEQ61"><mml:mrow><mml:msubsup><mml:mo largeop="true" symmetric="true">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>k</mml:mi></mml:msubsup><mml:mfrac><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi mathvariant="bold">S</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msubsup><mml:mi>q</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi mathvariant="bold">S</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:math></inline-formula> is the gradient of CPC objective function from Equation (9). The theorem solves the first-order optimality condition and gives a general case as shown in Equation (13) and for <italic>j</italic> = 1 as shown in Equation (12).</p>
<disp-formula id="S2.E12">
<label>(12)</label>
<mml:math id="M21">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="normal">&#x22EF;</mml:mi>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">I</mml:mtext>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x00D7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>For <italic>j</italic> = 2,&#x2026;,<italic>p</italic></p>
<disp-formula id="S2.Ex10">
<label>(13)</label>
<mml:math id="M22">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">I</mml:mtext>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="normal">&#x22EF;</mml:mi>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mrow>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">I</mml:mtext>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi></mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x00D7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Equations (12) and (13) show that the CPCs can be computed by solving <italic>p</italic> symmetric eigenvalues problems. <xref ref-type="bibr" rid="B41">Trendafilov (2010)</xref> solves this problem by using a modified version of the standard power method to solve the eigenvectors and eigenvalues problem to compute the CPCs defined by Equations (12) and (13). The <italic>Power Method Iteration</italic> algorithm in section &#x201C;Stepwise Principal Components&#x201D; is used to compute the CPCs iteratively. The modification is that this algorithm updates the covariance matrix at each step. In particular, this is an algorithm of gradient ascend category&#x2014;Algorithm 1 in Appendix where the indices of the power iteration are given in the parenthesis. The resultant vector <italic>q</italic><sub><italic>j</italic></sub>,<italic>j</italic> = 1,2,&#x2026;<italic>p</italic> from Algorithm 1 is the CPCs. A small number of iterations (even less than 3) are required if the eigenvectors are well separated.</p>
<sec id="S2.SS4.SSS1">
<title>Stepwise Common Principal Component Implementation</title>
<p>Stepwise, CPC implements (Equations 4&#x2013;7) by taking the covariance matrices <italic>S</italic><sub><italic>i</italic></sub> for <italic>k</italic> conditions, the number of common latent PCs to be computed is <italic>p</italic><sub><italic>max</italic></sub>, and <italic>l</italic><sub><italic>max</italic></sub> is the number of iterations required for convergence. Refer to the Algorithm 1 in Appendix. The stepwise CPC algorithm computes only a specific number of CPCs. As output, it gives eigenvectors <bold>Q</bold><italic><sub>pmax</sub></italic> for common latent sub-space under all <italic>k</italic> conditions along with &#x03BB;<italic><sub>pmax</sub></italic> the eigenvalues for each particular condition. However, the problem with stepwise CPC arises when the number of variables <italic>p</italic> becomes too large.</p>
</sec>
</sec>
<sec id="S2.SS5">
<title>Stepwise CF-CPC</title>
<p>The idea behind covariance free stepwise CPC is to not compute the covariance at any step of the algorithm. To achieve this purpose, we propose that instead of calculating the covariance, replace it with its mathematical definition of covariance and apply this concept in the basic Algorithm 1 of stepwise CPC. This can be done by expanding the covariance formula, as shown in Equation (14).</p>
<disp-formula id="S2.E14">
<label>(14)</label>
<mml:math id="M23">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">X</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">X</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here <bold>H</bold> is the average reference when applied to the will replicate the subtraction of mean from the data that is used conventionally to compute covariance, which is by definition <inline-formula><mml:math id="INEQ75"><mml:mrow><mml:mpadded width="+2.8pt"><mml:msub><mml:mtext mathvariant="bold">H</mml:mtext><mml:mi>i</mml:mi></mml:msub></mml:mpadded><mml:mo rspace="5.3pt">=</mml:mo><mml:mrow><mml:msub><mml:mtext mathvariant="bold">I</mml:mtext><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mrow><mml:mtext> </mml:mtext><mml:mo>&#x2062;</mml:mo><mml:mfrac><mml:mrow><mml:msubsup><mml:mn>1</mml:mn><mml:mi>i</mml:mi><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mn>1</mml:mn><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mfrac></mml:mrow></mml:mrow></mml:mrow></mml:math></inline-formula> and <bold>X</bold><sub><italic>i</italic></sub> is actual data for which the covariance was computed for stepwise CPC. Equation (14) can also be written as Equation (15).</p>
<disp-formula id="S2.E15">
<label>(15)</label>
<mml:math id="M24">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">W</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">W</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here <bold>W</bold><sub><italic>i</italic></sub> can be defined as <inline-formula><mml:math id="INEQ78"><mml:mfrac><mml:mrow><mml:msub><mml:mi mathvariant="bold">H</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2062;</mml:mo><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:msqrt><mml:msub><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:msqrt></mml:mfrac></mml:math></inline-formula> making Equation (14), as shown in Equation (15).</p>
<p>Using this technique, we can achieve the same results while simplifying and changing the computations and formulations to make it covariance-free, requiring <italic>O</italic>(<italic>k</italic><italic>n</italic>) memory for <italic>k</italic> conditions where <italic>n</italic> &#x003C; &#x003C; <italic>p</italic>. Stepwise-CFCPC is fast, memory efficient, and will be optimal for ultra-high dimensional data.</p>
<sec id="S2.SS5.SSS1">
<title>Stepwise CF-CPC Implementation</title>
<p>Algorithm 2 (refer to Appendix) explains the flow of how stepwise CF-CPC works. We are trying to achieve this algorithm to make it covariance-free and optimize it in terms of computations and memory usage. The inputs <italic>p</italic><sub><italic>max</italic></sub>,<italic>l</italic><sub><italic>max</italic></sub><italic>and</italic><italic>n</italic> are the same as for the original stepwise-CPC, i.e., the following are the steps we have taken for optimization purposes:</p>
<list list-type="simple">
<list-item>
<label>&#x2022;</label>
<p>Algorithm 2 takes data <bold>X</bold><sub><italic>i</italic></sub> as input instead of the covariances <bold>S</bold><sub><italic>i</italic></sub>, which saves memory and computation power.</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>We perform singular value decomposition (SVD) (<xref ref-type="bibr" rid="B23">Klema and Laub, 1980</xref>) instead of estimating eigenvectors (<xref ref-type="bibr" rid="B2">Andrew, 1973</xref>).</p>
</list-item>
</list>
<disp-formula id="S2.E16">
<label>(16)</label>
<mml:math id="M25">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">&#x03A0;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">I</mml:mtext>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mtext>T</mml:mtext>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>for <sub><italic>j</italic> = 1,&#x2026;,<italic>p</italic><sub><italic>max</italic></sub></sub></p>
<list list-type="simple">
<list-item>
<label>&#x2022;</label>
<p>Furthermore, we replace the deflation parameter <bold>&#x03A0;</bold><italic><sub>j</sub></italic> with its mathematical definition as Equation (9) (<xref ref-type="bibr" rid="B27">MacKey, 2009</xref>).</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>We substitute the sum of covariances with a matrix formed when the definition of covariance is used from Equation (14).</p>
</list-item>
</list>
<p>Initially, the stepwise CPC was implemented for an R-package named &#x201C;cpca&#x201D; (<xref ref-type="bibr" rid="B50">Ziyatdinov et al., 2014</xref>). Since our working environment is MATLAB 2018b (<xref ref-type="bibr" rid="B40">The MathWorks, n.d.</xref>), we implemented and verified the stepwise CPC in MATLAB and the same for stepwise CFCPC.</p>
</sec>
</sec>
<sec id="S2.SS6">
<title>Materials</title>
<p>To test the covariance-free version of stepwise CPC, we used two datasets. The first data we analyzed (for validation purposes) was Fisher&#x2019;s IRIS data (<xref ref-type="bibr" rid="B3">Anderson, 1935</xref>; <xref ref-type="bibr" rid="B14">Fisher, 1936</xref>), and this is the same data that was analyzed in the original stepwise CPC algorithm (<xref ref-type="bibr" rid="B41">Trendafilov, 2010</xref>). Secondly, we have analyzed neuroscience data.</p>
<sec id="S2.SS6.SSS1">
<title>Iris Data</title>
<p>We tested our stepwise CF-CPC algorithm initially on Fisher&#x2019;s IRIS data. The purpose is to validate if the covariance-free stepwise CPC gives the same results as stepwise CPC. Fisher IRIS data has 150 examples/observations and four variables, making it a [150&#x00D7;4] matrix. To transform the data into <italic>k</italic> = 3 conditions, we divided that data into chunks of 50 examples with four variables in each chunk, making three matrices of size [50&#x00D7;4]. Later we tested both stepwise CPC and stepwise CFCPC on this data for validation purposes.</p>
</sec>
<sec id="S2.SS6.SSS2">
<title>MEEG Data</title>
<p>The neuroimaging data we are using comprises source spectra of two modalities, electroencephalography (EEG) and magnetoencephalography (MEG), with 45 subjects in each group. EEG subjects were picked from an extensive database of the Cuban Human Brain Mapping project (CHBM) (<xref ref-type="bibr" rid="B42">Valdes-Sosa et al., 2021</xref>). MEG data of a similar sample size of 45 were picked from Human Connectome Project (HCP) (<xref ref-type="bibr" rid="B46">WU - Minn Consortium Human Connectome Project, 2017</xref>). The EEG data we used was source spectra computed from a novel inverse solution BC-VARETA (<xref ref-type="bibr" rid="B18">Gonzalez-Moreira et al., 2018</xref>; <xref ref-type="bibr" rid="B30">Paz-Linares et al., 2018</xref>). The size of the source spectra [8002&#x00D7;80&#x00D7;45] is [<italic>s</italic><italic>o</italic><italic>u</italic><italic>r</italic><italic>c</italic><italic>e</italic><italic>s</italic>&#x00D7;<italic>f</italic><italic>r</italic><italic>e</italic><italic>q</italic><italic>u</italic><italic>e</italic><italic>n</italic><italic>c</italic><italic>y</italic>&#x00D7;<italic>e</italic><italic>x</italic><italic>a</italic><italic>m</italic><italic>p</italic><italic>l</italic><italic>e</italic><italic>s</italic>]. Here the first dimension representing the number of brain sources/generators. The second dimension is the number of frequency points (in this case, there are 80 frequency points with a step-size of 0.5 Hz, so the total analyzed source spectra was 0&#x2013;40 Hz), and the third dimension represents the number of subjects involved in the study. MEG source spectra were computed using the same inverse solution used of EEG data, and the size of the source spectra matrix was also the same. Before computing the common principal spectral component, we scaled data and log-transformed it for visualization. Since we are analyzing 8002 sources at each of the 80-frequency points, we rearranged the source spectra to convert them into a 2D array of size [45&#x00D7;640160]. There is a total of 640160 variables, with each group of 8002 variables representing one frequency point. So, the inputs go into both algorithms of stepwise CPC are <italic>p</italic> = 8002&#x00D7;80 = 640160, [45&#x2004;45] and k = &#x2004;2 where <italic>p</italic> &#x003E; &#x003E; <italic>n</italic>.</p>
</sec>
</sec>
<sec id="S2.SS7">
<title>Stepwise Common Principal Component and Stepwise CFCPC Computation</title>
<p>We computed the CPC subspace score along with eigenvalues for each modality using both algorithms. The same dataset and machine specifications are used to compare the results in terms of time consumed to compute the CPC. The specifications are explained below:</p>
<list list-type="simple">
<list-item>
<label>&#x2022;</label>
<p>Intel(R) Core (TM) i5-7200U CPU @ 2.50GHz 2.70 GHz</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>16.0 GB DDR3 RAM</p>
<p>Windows 10&#x2013;64-bit operating system, x64-based processor</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>MATLAB 2018b (The MathWorks, Inc, 1994-2021)</p>
</list-item>
</list>
<p>We observed that computing covariance for CPC above a certain number of variables is impossible on this machine because of &#x201C;out of memory&#x201D; issues. Additionally, there is a limit for the number of variables on which computing covariance was successful. However, inside the stepwise CPC algorithm, it returns the error of running out of memory. So, we tested both algorithms for a specific number of variables to check two things:</p>
<list list-type="simple">
<list-item>
<label>&#x2022;</label>
<p>What is the limit of the number of variables for both algorithms?</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>How much time each algorithm takes to compute a certain number of variables.</p>
</list-item>
</list>
<p>Once we have verified the number of variables for which the CPCs are successfully computed, we computed the CPCs for the MEEG data discussed above. These CPCs will be the shared space eigenvectors for the sources spectra captured using two different modalities, i.e., EEG and MEG. Once these CPCs are computed, we applied the eigenvalues on the shared common subspace to visualize the common space generated for EEG and MEG, respectively. In the end, we compared the original EEG and MEG spectra with the respective estimated common subspace for accuracy.</p>
</sec>
</sec>
<sec sec-type="results" id="S3">
<title>Results</title>
<p>As mentioned earlier, we need to compute covariance first and input that to the algorithm for stepwise CPC. For stepwise CF-CPC, pass the iris data as it is. We computed four CPCs <italic>Q</italic> and their scale factor &#x03BB; for both versions of stepwise CPC. The results show that values for all four outcomes of both <italic>Q</italic> and &#x03BB; for Algorithm 1 and Algorithm 2 are the same as shown in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption><p>Stepwise CPC vs. covariance free stepwise CPC.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-15-750290-g001.tif"/>
</fig>
<p>Next, we used neuroscience data as explained in materials sections and applied both algorithms to look for time and memory consumption results. To compute one CPC with both methods, we keep the values for <italic>p</italic><sub><italic>max</italic></sub> = 1,<italic>l</italic><sub><italic>max</italic></sub> = 1&#x0026; <italic>n</italic> = [45 45] for both algorithms. We recorded computation time and looked for &#x201C;out of memory&#x201D; errors for a series of variables selected from the EEG and MEG datasets and recorded the results in the form of <xref ref-type="table" rid="T1">Table 1</xref>. It is evident in the table that stepwise CFCPC works smoothly on all different sets of variables from 100 till 640160, not giving any memory errors, and the execution time is very nominal. However, stepwise CPC observes an exponential rise in the execution time when the number of variables is increased. Additionally, stepwise CPC could not compute a single CPC beyond 15,000 variables, and covariance computation was not successful beyond 25,000 variables on the defined system specifications.</p>
<table-wrap position="float" id="T1">
<label>TABLE 1</label>
<caption><p>Comparison of stepwise CPC and stepwise CFCPC (execution time and memory consumption comparison). Successful computation of covariance for a different number of variables. Success or failure in execution of Algorithm 1 and 2 with execution time for the different number of variables.</p></caption>
<table cellspacing="5" cellpadding="5" frame="hsides" rules="groups">
<thead>
<tr>
<td valign="top" align="left"><bold>Method</bold></td>
<td valign="top" align="center"><bold>Variables</bold></td>
<td valign="top" align="center"><bold>Covariance computation</bold></td>
<td valign="top" align="center"><bold>Algorithm execution</bold></td>
<td valign="top" align="center"><bold>Time consumed</bold></td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Stepwise CPC</td>
<td valign="top" align="center">100</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">0.104310s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">500</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">0.588175s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">1,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">3.158705s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">5,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">441.268313s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">8,002</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">2000.196520s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">15,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">6607.873001s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">25,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">NA</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">50,000</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">NA</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">100,000</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">NA</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">200,000</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">NA</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">400,000</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">NA</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">640,160</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">Failed</td>
<td valign="top" align="center">NA</td>
</tr>
<tr>
<td valign="top" align="left">Stepwise CFCPC</td>
<td valign="top" align="center">100</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">0.011920s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">500</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">0.035195s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">1,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">0.056952s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">5,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">0.507487s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">8,002</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">0.746992s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">15,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">1.378456s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">25,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">2.206656s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">50,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">4.378850s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">100,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">8.402318s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">200,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">16.705613s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">400,000</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">34.466983s</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">640,160</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">Success</td>
<td valign="top" align="center">65.797402</td>
</tr>
</tbody>
</table></table-wrap>
<p>The trend of execution time for both algorithms can be visualized as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. Stepwise CFCPC consumes less time than stepwise CPC even when the number of variables is low. This execution time remains stable when the number of variables is increased from 100s to 1,000s for stepwise CFCPC. However, stepwise CPC resulted in an exponential increase in computation time as variables are increased. It took almost 5,000-folds more time for the maximum number of variables it could compute CPC successfully. We visualized the computation of CPC for EEG and MEG data for its accuracy and interpreting the source spectra of both modalities. The purpose of computing CPC for these source spectra is to compute a common source topography captured by both modalities in different conditions and find a scale factor or eigenvalue assigned to each modality&#x2019;s source spectra to compute its respective common topography. These common topography and scale factors will be used as an ingredient in another study to identify and remove the differences between the source spectra of EEG and MEG (<xref ref-type="bibr" rid="B32">Riaz, 2020</xref>). A visualization of how this common topography is acquired is shown in <xref ref-type="fig" rid="F3">Figure 3A</xref>. The common source topography represents common topographical features of spectra when visualized in the frequency domain. One of the clear components is the alpha peak visible in the alpha band (7-12 Hz). The computed CPC for common topography has the common subspace eigenvectors and eigenvalues for EEG and MEG spectra. These eigenvalues applied on the computed common subspace estimate the common topography scores for EEG and MEG, as shown in <xref ref-type="fig" rid="F3">Figure 3B</xref>. The solid lines are the original EEG and MEG spectra, whereas the dotted lines show the latent estimated common topography for each modality. This estimated common topography is obtained by applying the scale factor or eigenvalue &#x03BB; to the common topography <italic>Q</italic> shown in <xref ref-type="fig" rid="F3">Figure 3A</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption><p>Execution time comparison between stepwise CPC and stepwise CFCPC. Blue bars represent stepwise CPC, and orange representing stepwise CFCPC. Execution time is shown on the y-axis and x-axis, representing the number of variables.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-15-750290-g002.tif"/>
</fig>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption><p><bold>(A)</bold> Curve representing common source topography Q computed via stepwise-CFCPC with scale value (&#x03BB;) 0.0072735 for MEG and 0.19906 for EEG. Frequency is on the x-axis, and the y-axis represents the power scale. <bold>(B)</bold> Comparison of actual MEG and EEG source spectra with their CPC-scored versions.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-15-750290-g003.tif"/>
</fig>
<p>The estimated common topographies shown in dotted lines depict that CPC has successfully computed the desired common latent subspace of common topography for each modality. The difference in the original spectra and estimated common topography can be explained because we are only estimating one of the few elements from which the complete source spectra is composed. This common latent subspace computed for common topography between EEG and MEG source spectra is the baseline for the transferal of source spectra between EEG and MEG, as discussed in <xref ref-type="bibr" rid="B32">Riaz (2020)</xref> and <xref ref-type="bibr" rid="B34">Riaz (2021b)</xref>. In the mentioned studies, we are trying to create a transfer function from EEG to MEG source spectra and vice versa. We decompose each spectra into three components, i.e., Common Topography with scale values (computed using the algorithm of this study), Xi-process, and individual differences. These elements are used to synthetic MEG source spectra from EEG and vice versa.</p>
</sec>
<sec sec-type="discussion" id="S4">
<title>Discussion</title>
<p>In this study, we developed stepwise CFCPC for computing common stepwise subspace in ultra-high dimensional data. First, we validated results stepwise CPC and CFCPC and found that the computation of <italic>Q</italic> and &#x03BB; with this new method is similar to stepwise CPC. Once our proposed improvement is validated, we tested the neuroimaging dataset (source spectra from two popular databases, i.e., EEG from CHBM and MEG from HCP) for a single CPC to compare the efficiency of both algorithms. The common topographical subspace obtained for EEG and MEG source spectra can be used as a baseline to analyze the phenomenon that the captured source spectra with EEG and MEG pose the same information gathered in different scenarios, conditions, or settings. However, when we try to compute a single CPC with conventional stepwise CPC, it turns out to be highly computationally expensive. The computationally expensive nature of stepwise CPC is evident in <xref ref-type="table" rid="T1">Table 1</xref> as well that as the number of variables is increased from 100s to 1,000s, the execution time is increased a lot. However, this is not the case when we used our proposed CFCPC to compute a single CPC. An increase in the number of variables did not affect the computation time too much. In fact, for the maximum number of variables, 640160 CFCPC took just beyond a minute to compute a single CPC, which is not the case for stepwise CPC, which failed to compute CPC beyond 15,000 variables. These results prove our initial assumption that computing covariance for ultra-high dimensional data can be computationally expensive and takes a substantial amount of memory. It is also evident from <xref ref-type="table" rid="T1">Table 1</xref> that beyond 15,000 variables, computing covariance took the system to out of memory error. In stewpsie CFCPC, we did not encounter any out-of-memory error, which we are trying to achieve using this algorithm.</p>
<p>There is a rise in the processing and dimensionality reduction in high dimensional datasets with exponential data gathering capabilities. Stepwise CFCPC can be a global solution when computing one or multiple CPCs, and computing covariance can be an issue. The issue of computing covariance for ultra-high dimensional data can occur in other areas of neuroscience (raw EEG, MEG data, neurogenetics Data (Genome-Wide Association Study of Parkinson&#x2019;s Disease: Genes and Environment, n.d.) and many other fields like microarrays in genetics, data from an array of sensors to capture geological or astronomical data, etc. (<xref ref-type="bibr" rid="B8">Bonham-Carter et al., 1990</xref>; <xref ref-type="bibr" rid="B31">Pesenson et al., 2010</xref>; <xref ref-type="bibr" rid="B1">Alonso-Betanzos et al., 2019</xref>). In repetitive resampling like bootstrap, where multiple CPCs are required, we can use stepwise CF-CPC. In this study, we have analyzed 640160 variables which is ultra-high dimensional data. Even most variables in genetics are less than the number of variables handled in this study which tells us that the application of this covariance-free stepwise CPC is valid even in genetics and another ultra-high dimensional datasets.</p>
<p>This version of stepwise CFCPC has its applications in neuroimaging, where CPCs are used to extract common features or principal components of multivariate data. <xref ref-type="bibr" rid="B25">Li (2016)</xref> in his study used CPC to perform classification on a multivariate time series EEG data for different clusters obtained from the original time series. Similarly, extracting common spatial patterns (CSP) from multivariate EEG data using CPC is achieved in many studies involving Brain-Computer Interface (BCI) (<xref ref-type="bibr" rid="B44">Wei et al., 2005</xref>; <xref ref-type="bibr" rid="B43">Wang and Wu, 2008</xref>; <xref ref-type="bibr" rid="B28">Meisheri et al., 2018</xref>). Similarly, another study conducted interpretable principal components analysis on multilevel multivariate functional data to decompose total variation into subject-level and replicate-within-subject level (i.e., electrode-level) variation. This decomposition provides interpretable components that can be sparse among variates (e.g., frequency bands) and have localized support over time within each frequency band (<xref ref-type="bibr" rid="B49">Zhang et al., 2019</xref>). All these studies use CPC to compute their PCs; CSPs from multivariate data with high dimensions and stepwise CFCPC can help resolve these multivariate problems in a lesser amount of time which is especially essential in the case of BCI.</p>
<p>Similarly, in the domain of genetics, where the data is also multivariate and high dimensional, principal components are often required for dimensionality reduction in data analysis. Many studies estimate the time-scale for the evolution of additive genetic variance-covariance matrices (G-matrices), which is a crucial issue in evolutionary biology and genetics (<xref ref-type="bibr" rid="B5">Arnold and Phillips, 1999</xref>; <xref ref-type="bibr" rid="B37">Steppan et al., 2002</xref>; <xref ref-type="bibr" rid="B10">Conner et al., 2003</xref>; <xref ref-type="bibr" rid="B29">Mezey and Houle, 2003</xref>; <xref ref-type="bibr" rid="B9">Cheverud and Marroig, 2007</xref>). This comparison is also essential to see if different populations have the same genetic structure. This comparison of variances-covariance, i.e., G-matrices, is a high-dimensional problem and is often done using CPCs. Stepwise, CFCPC can help optimize these problems in terms of time and resources.</p>
</sec>
<sec sec-type="conclusion" id="S5">
<title>Conclusion</title>
<p>We propose a covariance free improved version of Stepwise CPC initially proposed by <xref ref-type="bibr" rid="B41">Trendafilov (2010)</xref>. Computing covariance in ultra-high dimensional data causes the failure of the original algorithm as it consumes too much time and goes out of memory error for a large number of variables. The motivation for this study was an analysis of MEEG data where the traditional approaches fail. In contrast, our proposed stepwise CFCPC can work efficiently for ultra-high dimensional data while consuming very minimal memory and taking a small amount of time. Stepwise-CFCPC can be a global solution for computing CPCs for datasets in neuroscience (<xref ref-type="bibr" rid="B4">Areshenkoff et al., 2021</xref>), bioinformatics (<xref ref-type="bibr" rid="B16">Foo et al., 2017</xref>), gene microarray (<xref ref-type="bibr" rid="B1">Alonso-Betanzos et al., 2019</xref>), and multisensory node systems (<xref ref-type="bibr" rid="B8">Bonham-Carter et al., 1990</xref>; <xref ref-type="bibr" rid="B31">Pesenson et al., 2010</xref>). The improvements in the current algorithm can be finding the optimal number of CPCs to be computed. Currently, we are giving required CPCs to be computed as per data requirements. Further improvements can be made by applying the improvements for CPC analysis suggested in <xref ref-type="bibr" rid="B13">Fern&#x00E1;ndez-Albert et al. (2014)</xref>, <xref ref-type="bibr" rid="B12">Duras (2020)</xref>, and <xref ref-type="bibr" rid="B6">Bagnato and Punzo (2021)</xref>. Another direction for future analysis can be implementing stepwise CFCPC with sparsity conditions.</p>
</sec>
<sec sec-type="data-availability" id="S6">
<title>Data Availability Statement</title>
<p>Publicly available datasets were analyzed in this study. This data can be found here: CHBM, <ext-link ext-link-type="uri" xlink:href="https://www.nature.com/articles/s41597-021-00829-7">https://www.nature.com/articles/s41597-021-00829-7</ext-link>; HCP, <ext-link ext-link-type="uri" xlink:href="https://www.humanconnectome.org/storage/app/media/documentation/s1200/HCP_S1200_Release_Reference_Manual.pdf">https://www.humanconnectome.org/storage/app/media/documentation/s1200/HCP_S1200_Release_Reference_Manual.pdf</ext-link>.</p>
</sec>
<sec id="S7">
<title>Ethics Statement</title>
<p>The studies involving human participants were reviewed and approved by CNEURO, Cuba for CHBM and NIH, United States for HCP data. The patients/participants provided their written informed consent to participate in this study.</p>
</sec>
<sec id="S8">
<title>Author Contributions</title>
<p>PV-S gave the conception and design of the study, supervised the development, experimentation, and writing of the manuscript. UR and FR developed and implemented stepwise-CFCPC algorithm, performed the experiments, wrote the manuscript from first to final draft. SH changed the CPCA R-package to MATLAB script. All authors contributed to manuscript revision, read, and approved the submitted version.</p>
</sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="S9">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
</body>
<back>
<sec sec-type="funding-information" id="S11">
<title>Funding</title>
<p>The authors were funded from the University of Electronic Sciences and Technology grant Y03111023901014005 and the National Science Foundation of China (NSFC) with the grants 61871105 81861128001 and 62101003.</p>
</sec>
<sec id="S10">
<title>Appendix</title>
<table-wrap position="float" id="T2">
<label>Appendix A1</label>
<caption><p>Table explaining symbols used in paper and their description.</p></caption>
<table cellspacing="5" cellpadding="5" frame="hsides" rules="groups">
<thead>
<tr>
<td valign="top" align="left"><bold>Symbol</bold></td>
<td valign="top" align="left"><bold>Description</bold></td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><italic>Q</italic></td>
<td valign="top" align="left">Set of computed for CPCs</td>
</tr>
<tr>
<td valign="top" align="left"><italic>k</italic></td>
<td valign="top" align="left">Number of conditions or groups</td>
</tr>
<tr>
<td valign="top" align="left"><italic>S</italic><sub><italic>i</italic></sub></td>
<td valign="top" align="left">Covariance matrix</td>
</tr>
<tr>
<td valign="top" align="left"><inline-formula><mml:math id="INEQ106"><mml:msubsup><mml:mi>D</mml:mi><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="left">Diagnosable Orthogonal matrices</td>
</tr>
<tr>
<td valign="top" align="left"><italic>p</italic></td>
<td valign="top" align="left">Total number of variables</td>
</tr>
<tr>
<td valign="top" align="left"><italic>n</italic></td>
<td valign="top" align="left">Total number of observations</td>
</tr>
<tr>
<td valign="top" align="left"><italic>I</italic><sub><italic>p</italic></sub></td>
<td valign="top" align="left">Identity matrix for deflation</td>
</tr>
<tr>
<td valign="top" align="left">&#x03BB;</td>
<td valign="top" align="left">Number of eigenvalues</td>
</tr>
<tr>
<td valign="top" align="left"><italic>p</italic><sub><italic>max</italic></sub></td>
<td valign="top" align="left">Limited number of CPCs computed</td>
</tr>
<tr>
<td valign="top" align="left"><italic>l</italic><sub><italic>max</italic></sub></td>
<td valign="top" align="left">Maximum number of iterations for convergence</td>
</tr>
<tr>
<td valign="top" align="left"><bold>&#x03A0;</bold></td>
<td valign="top" align="left">Deflation parameter</td>
</tr>
<tr>
<td valign="top" align="left"><italic>q</italic></td>
<td valign="top" align="left">Single common CPC</td>
</tr>
<tr>
<td valign="top" align="left"><italic>X</italic><sub><italic>i</italic></sub></td>
<td valign="top" align="left">Dataset captured in k different conditions</td>
</tr>
</tbody>
</table></table-wrap>
<p><bold>Algorithm 1</bold></p>
<p><inline-graphic xlink:href="fnins-15-750290-a001.jpg"/></p>
<p><bold>Algorithm 2</bold></p>
<p><inline-graphic xlink:href="fnins-15-750290-a002.jpg"/></p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Alonso-Betanzos</surname> <given-names>A.</given-names></name> <name><surname>Bol&#x00F3;n-Canedo</surname> <given-names>V.</given-names></name> <name><surname>Mor&#x00E1;n-Fern&#x00E1;ndez</surname> <given-names>L.</given-names></name> <name><surname>S&#x00E1;nchez-Maro&#x00F1;o</surname> <given-names>N.</given-names></name></person-group> (<year>2019</year>). &#x201C;<article-title>A review of microarray datasets: where to find them and specific characteristics</article-title>,&#x201D; in <source><italic>Microarray Bioinformatics</italic></source>, <volume>Vol. 1986</volume>, <role>eds</role> <person-group person-group-type="editor"><name><surname>Bol&#x00F3;n-Canedo</surname> <given-names>V.</given-names></name> <name><surname>Alonso-Betanzos</surname> <given-names>A.</given-names></name></person-group> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>Humana</publisher-name>), <fpage>65</fpage>&#x2013;<lpage>85</lpage>. <pub-id pub-id-type="doi">10.1007/978-1-4939-9442-7_4</pub-id></citation></ref>
<ref id="B2"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Andrew</surname> <given-names>A. L.</given-names></name></person-group> (<year>1973</year>). <article-title>Eigenvectors of certain matrices.</article-title> <source><italic>Linear Algebra Appl.</italic></source> <volume>7</volume> <fpage>151</fpage>&#x2013;<lpage>162</lpage>. <pub-id pub-id-type="doi">10.1016/0024-3795(73)90049-9</pub-id></citation></ref>
<ref id="B3"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Anderson</surname> <given-names>E.</given-names></name></person-group> (<year>1935</year>). <article-title>The IRISes of the Gaspe peninsula.</article-title> <source><italic>Bull. Am. IRIS Soc.</italic></source> <volume>39</volume>, <fpage>2</fpage>&#x2013;<lpage>15</lpage>.</citation></ref>
<ref id="B4"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Areshenkoff</surname> <given-names>C. N.</given-names></name> <name><surname>Nashed</surname> <given-names>J. Y.</given-names></name> <name><surname>Hutchison</surname> <given-names>R. M.</given-names></name> <name><surname>Hutchison</surname> <given-names>M.</given-names></name> <name><surname>Levy</surname> <given-names>R.</given-names></name> <name><surname>Cook</surname> <given-names>D. J.</given-names></name><etal/></person-group> (<year>2021</year>). <article-title>Muting, not fragmentation, of functional brain networks under general anesthesia.</article-title> <source><italic>NeuroImage</italic></source> <volume>231</volume>:<issue>117830</issue>. <pub-id pub-id-type="doi">10.1016/j.neuroimage.2021.117830</pub-id> <pub-id pub-id-type="pmid">33549746</pub-id></citation></ref>
<ref id="B5"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arnold</surname> <given-names>S. J.</given-names></name> <name><surname>Phillips</surname> <given-names>P. C.</given-names></name></person-group> (<year>1999</year>). <article-title>Hierarchical comparison of genetic variance-covariance matrices. II. coastal-inland divergence in the garter snake, Thamnophis elegans.</article-title> <source><italic>Evolution</italic></source> <volume>53</volume> <fpage>1516</fpage>&#x2013;<lpage>1527</lpage>. <pub-id pub-id-type="doi">10.2307/2640897</pub-id></citation></ref>
<ref id="B6"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bagnato</surname> <given-names>L.</given-names></name> <name><surname>Punzo</surname> <given-names>A.</given-names></name></person-group> (<year>2021</year>). <article-title>Unconstrained representation of orthogonal matrices with application to common principal components.</article-title> <source><italic>Comput. Stat.</italic></source> <volume>36</volume> <fpage>1177</fpage>&#x2013;<lpage>1195</lpage>. <pub-id pub-id-type="doi">10.1007/s00180-020-01041-8</pub-id></citation></ref>
<ref id="B7"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Balsubramani</surname> <given-names>A.</given-names></name> <name><surname>Dasgupta</surname> <given-names>S.</given-names></name> <name><surname>Freund</surname> <given-names>Y.</given-names></name></person-group> (<year>2013</year>). &#x201C;<article-title>The fast convergence of incremental PCA</article-title>,&#x201D; in <source><italic>Proceedings of the Advances in Neural Information Processing Systems</italic></source>, (<publisher-loc>Noida</publisher-loc>: <publisher-name>NIPS</publisher-name>). <pub-id pub-id-type="doi">10.1016/j.compbiomed.2021.104502</pub-id> <pub-id pub-id-type="pmid">34130220</pub-id></citation></ref>
<ref id="B8"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bonham-Carter</surname> <given-names>G. F.</given-names></name> <name><surname>Agterberg</surname> <given-names>F. P.</given-names></name> <name><surname>Wright</surname> <given-names>D. F.</given-names></name></person-group> (<year>1990</year>). &#x201C;<article-title>Integration of geological datasets for gold exploration in Nova Scotia</article-title>,&#x201D; in <source><italic>Introductory Readings in Geographic Information Systems</italic>, <italic>c</italic></source> <role>eds</role> <person-group person-group-type="editor"><name><surname>Peuquet</surname> <given-names>D. J.</given-names></name> <name><surname>Marble</surname> <given-names>D. F.</given-names></name></person-group>. (<publisher-loc>Boca Raton, FL</publisher-loc>: <publisher-name>CRC Press</publisher-name>), <fpage>170</fpage>&#x2013;<lpage>182</lpage>.</citation></ref>
<ref id="B9"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cheverud</surname> <given-names>J. M.</given-names></name> <name><surname>Marroig</surname> <given-names>G.</given-names></name></person-group> (<year>2007</year>). <article-title>Comparing covariance matrices: random skewers method compared to the common principal components model.</article-title> <source><italic>Genet. Mol. Biol.</italic></source> <volume>30</volume> <fpage>461</fpage>&#x2013;<lpage>469</lpage>. <pub-id pub-id-type="doi">10.1590/S1415-47572007000300027</pub-id></citation></ref>
<ref id="B10"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Conner</surname> <given-names>J. K.</given-names></name> <name><surname>Franks</surname> <given-names>R.</given-names></name> <name><surname>Stewart</surname> <given-names>C.</given-names></name></person-group> (<year>2003</year>). <article-title>Expression of additive genetic variances and covariances for wild radish floral traits: comparison between field and greenhouse environments.</article-title> <source><italic>Evolution</italic></source> <volume>57</volume> <fpage>487</fpage>&#x2013;<lpage>495</lpage>. <pub-id pub-id-type="doi">10.1111/j.0014-3820.2003.tb01540.x</pub-id> <pub-id pub-id-type="pmid">12703938</pub-id></citation></ref>
<ref id="B11"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dagher</surname> <given-names>I.</given-names></name></person-group> (<year>2010</year>). <article-title>Incremental PCA-LDA Algorithm.</article-title> <source><italic>Int. J. Biom. Bioinformatics</italic></source>, <volume>4</volume> <fpage>86</fpage>&#x2013;<lpage>99</lpage>.</citation></ref>
<ref id="B12"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Duras</surname> <given-names>T.</given-names></name></person-group> (<year>2020</year>). <article-title>The fixed effects PCA model in a common principal component environment.</article-title> <source><italic>Commun. Stat. Theory Methods</italic></source> <comment>[Epub ahead of print]</comment>. <pub-id pub-id-type="doi">10.1080/03610926.2020.1765255</pub-id></citation></ref>
<ref id="B13"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fern&#x00E1;ndez-Albert</surname> <given-names>F.</given-names></name> <name><surname>Llorach</surname> <given-names>R.</given-names></name> <name><surname>Garcia-Aloy</surname> <given-names>M.</given-names></name> <name><surname>Ziyatdinov</surname> <given-names>A.</given-names></name> <name><surname>Andres-Lacueva</surname> <given-names>C.</given-names></name> <name><surname>Perera</surname> <given-names>A.</given-names></name></person-group> (<year>2014</year>). <article-title>Intensity drift removal in LC/MS metabolomics by common variance compensation.</article-title> <source><italic>Bioinformatics</italic></source> <volume>30</volume> <fpage>2899</fpage>&#x2013;<lpage>2905</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/btu423</pub-id> <pub-id pub-id-type="pmid">24990606</pub-id></citation></ref>
<ref id="B14"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fisher</surname> <given-names>R. A.</given-names></name></person-group> (<year>1936</year>). <article-title>The use of multiple measurements in taxonomic problems.</article-title> <source><italic>Ann. Eugen.</italic></source> <volume>7</volume> <fpage>179</fpage>&#x2013;<lpage>188</lpage>. <pub-id pub-id-type="doi">10.1111/j.1469-1809.1936.tb02137.x</pub-id></citation></ref>
<ref id="B15"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Flury</surname> <given-names>B. N.</given-names></name></person-group> (<year>1984</year>). <article-title>Common principal components in K groups.</article-title> <source><italic>J. Am. Stat. Assoc.</italic></source> <volume>79</volume> <fpage>892</fpage>&#x2013;<lpage>898</lpage>.</citation></ref>
<ref id="B16"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Foo</surname> <given-names>J. N.</given-names></name> <name><surname>Tan</surname> <given-names>L. C.</given-names></name> <name><surname>Irwan</surname> <given-names>I. D.</given-names></name> <name><surname>Au</surname> <given-names>W. L.</given-names></name> <name><surname>Low</surname> <given-names>H. Q.</given-names></name> <name><surname>Prakash</surname> <given-names>K. M.</given-names></name><etal/></person-group> (<year>2017</year>). <article-title>Genome-wide association study of Parkinson&#x2019;s disease in East Asians.</article-title> <source><italic>Hum. Mol. Genet.</italic></source> <volume>26</volume>, <fpage>226</fpage>&#x2013;<lpage>232</lpage>. <pub-id pub-id-type="doi">10.1093/hmg/ddw379</pub-id> <pub-id pub-id-type="pmid">28011712</pub-id></citation></ref>
<ref id="B17"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Golub</surname> <given-names>G. H.</given-names></name> <name><surname>Van Loan</surname> <given-names>F. C.</given-names></name></person-group> (<year>1996</year>). <source><italic>Matrix Computations.</italic></source> <edition>3rd Edn.</edition> <publisher-loc>Baltimore</publisher-loc>: <publisher-name>The Johns Hopkins University Press</publisher-name> <fpage>1</fpage>&#x2014;<lpage>308</lpage>.</citation></ref>
<ref id="B18"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gonzalez-Moreira</surname> <given-names>E.</given-names></name> <name><surname>Paz-Linares</surname> <given-names>D.</given-names></name> <name><surname>Martinez-Montes</surname> <given-names>E.</given-names></name> <name><surname>Valdes-Sosa</surname> <given-names>P. A.</given-names></name></person-group> (<year>2018</year>). <article-title>Third Generation MEEG source connectivity analysis toolbox (BC-VARETA 1.0) and validation benchmark.</article-title> <source><italic>Arvix</italic></source> <comment>[Preprint]</comment>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://arXiv:org/abs/1810.11212v2">https://arXiv:org/abs/1810.11212v2</ext-link> <comment>(accessed July 8, 2021)</comment>.</citation></ref>
<ref id="B19"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Horn</surname> <given-names>R. A.</given-names></name> <name><surname>Johnson</surname> <given-names>C. R.</given-names></name></person-group> (<year>2012</year>). <source><italic>Matrix Analysis.</italic></source> <publisher-loc>Cambridge</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>.</citation></ref>
<ref id="B20"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hu</surname> <given-names>S.</given-names></name></person-group> (<year>2020</year>). &#x201C;<article-title>PaLOS index: a metric to detect removal of brain signals with artifact correction</article-title>,&#x201D; in <source><italic>Proceedings of the 26th Organization for Human Brain Mapping Annual Meeting</italic>,</source> <publisher-loc>Montreal</publisher-loc>.</citation></ref>
<ref id="B21"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jolliffe</surname> <given-names>I.</given-names></name></person-group> (<year>2005</year>). &#x201C;<article-title>Principal component analysis</article-title>,&#x201D; <source><italic>Encyclopedia of Statistics in Behavioral Science</italic></source>, <role>eds</role> <person-group person-group-type="editor"><name><surname>Everitt</surname> <given-names>B. S.</given-names></name> <name><surname>Howell</surname> <given-names>D. C.</given-names></name></person-group> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>John Wiley and Sons Ltd</publisher-name>).</citation></ref>
<ref id="B22"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jordao</surname> <given-names>A.</given-names></name> <name><surname>Lie</surname> <given-names>M.</given-names></name> <name><surname>Cunha de Melo</surname> <given-names>V. H.</given-names></name> <name><surname>Robson Schwartz</surname> <given-names>W.</given-names></name></person-group> (<year>2021</year>). <article-title>Covariance-free partial least squares. an incremental dimensionality reduction method.</article-title> <source><italic>Arvix</italic></source> <comment>[Preprint]</comment>. <pub-id pub-id-type="doi">10.1109/wacv48630.2021.00146</pub-id></citation></ref>
<ref id="B23"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Klema</surname> <given-names>V. C.</given-names></name> <name><surname>Laub</surname> <given-names>A. J.</given-names></name></person-group> (<year>1980</year>). <article-title>The singular value decomposition: its computation and some applications.</article-title> <source><italic>IEEE Trans. Automat. Contr.</italic></source> <volume>25</volume> <fpage>164</fpage>&#x2013;<lpage>176</lpage>. <pub-id pub-id-type="doi">10.1109/TAC.1980.1102314</pub-id></citation></ref>
<ref id="B24"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Krzanowski</surname> <given-names>W. J.</given-names></name></person-group> (<year>1984</year>). <article-title>Principal component analysis in the presence of group structure.</article-title> <source><italic>Appl. Stat.</italic></source> <volume>33</volume> <fpage>164</fpage>&#x2013;<lpage>168</lpage>. <pub-id pub-id-type="doi">10.2307/2347442</pub-id></citation></ref>
<ref id="B25"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>H.</given-names></name></person-group> (<year>2016</year>). <article-title>Accurate and efficient classification based on common principal components analysis for multivariate time series.</article-title> <source><italic>Neurocomputing</italic></source> <volume>171</volume> <fpage>744</fpage>&#x2013;<lpage>753</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2015.07.010</pub-id></citation></ref>
<ref id="B26"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liao</surname> <given-names>W.</given-names></name> <name><surname>Pizurica</surname> <given-names>A.</given-names></name> <name><surname>Philips</surname> <given-names>W.</given-names></name> <name><surname>Pi</surname> <given-names>Y.</given-names></name></person-group> (<year>2010</year>). &#x201C;<article-title>A fast iterative kernel PCA feature extraction for hyperspectral images</article-title>,&#x201D; in <source><italic>Proceedings of the International Conference on Image Processing, ICIP</italic></source>, (<publisher-loc>Piscataway, NJ</publisher-loc>: <publisher-name>IEEE</publisher-name>). <fpage>1317</fpage>&#x2013;<lpage>1320</lpage></citation></ref>
<ref id="B27"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>MacKey</surname> <given-names>L.</given-names></name></person-group> (<year>2009</year>). &#x201C;<article-title>Deflation methods for sparse PCA</article-title>,&#x201D; in <source><italic>NIPS&#x2019;08: Proceedings of the 21st International Conference on Neural Information Processing Systems</italic></source>, <role>eds</role> <person-group person-group-type="editor"><name><surname>Schuurmans</surname> <given-names>D.</given-names></name> <name><surname>Koller</surname> <given-names>D.</given-names></name> <name><surname>Bengio</surname> <given-names>Y.</given-names></name> <name><surname>Bottou</surname> <given-names>L.</given-names></name></person-group>. (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>Curran Associates Inc</publisher-name>), <fpage>1017</fpage>&#x2013;<lpage>1024</lpage>.</citation></ref>
<ref id="B28"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Meisheri</surname> <given-names>H.</given-names></name> <name><surname>Ramrao</surname> <given-names>N.</given-names></name> <name><surname>Mitra</surname> <given-names>S.</given-names></name></person-group> (<year>2018</year>). <article-title>Multiclass common spatial pattern for EEG based brain computer interface with adaptive learning classifier.</article-title> <source><italic>Arvix</italic></source> <comment>[Preprint]</comment>. <fpage>1</fpage>&#x2013;<lpage>12</lpage>. Available online at: <ext-link ext-link-type="uri" xlink:href="http://arxiv.org/abs/1802.09046">http://arxiv.org/abs/1802.09046</ext-link> <comment>(accessed July 8, 2021)</comment>.</citation></ref>
<ref id="B29"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mezey</surname> <given-names>J. G.</given-names></name> <name><surname>Houle</surname> <given-names>D.</given-names></name></person-group> (<year>2003</year>). <article-title>Comparing G matrices: are common principal components informative?</article-title> <source><italic>Genetics</italic></source> <volume>165</volume> <fpage>411</fpage>&#x2013;<lpage>425</lpage>. <pub-id pub-id-type="doi">10.1093/genetics/165.1.411</pub-id> <pub-id pub-id-type="pmid">14504246</pub-id></citation></ref>
<ref id="B30"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Paz-Linares</surname> <given-names>D.</given-names></name> <name><surname>Gonzalez-Moreira</surname> <given-names>E.</given-names></name> <name><surname>Mart&#x00ED;nez-Montes</surname> <given-names>E.</given-names></name> <name><surname>Vald&#x00E9;s-Hern&#x00E1;ndez</surname> <given-names>P. A.</given-names></name> <name><surname>Bosch-Bayard</surname> <given-names>J.</given-names></name> <name><surname>Bringas-Vega</surname> <given-names>M. L.</given-names></name><etal/></person-group> (<year>2018</year>). <article-title>Caulking the leakage effect in MEEG source connectivity analysis.</article-title> <source><italic>Arvix</italic></source> <comment>[Preprint]</comment>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://arXiv.org/abs/1810.00786v2">https://arXiv.org/abs/1810.00786v2</ext-link> <comment>(accessed July 8, 2021)</comment>.</citation></ref>
<ref id="B31"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pesenson</surname> <given-names>M. Z.</given-names></name> <name><surname>Pesenson</surname> <given-names>I. Z.</given-names></name> <name><surname>McCollum</surname> <given-names>B.</given-names></name></person-group> (<year>2010</year>). <article-title>The data big bang and the expanding digital universe: high-dimensional, complex and massive data sets in an inflationary Epoch.</article-title> <source><italic>Adv. Astron.</italic></source> <volume>2010</volume>:<issue>350891</issue>. <pub-id pub-id-type="doi">10.1155/2010/350891</pub-id></citation></ref>
<ref id="B32"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Riaz</surname> <given-names>U.</given-names></name> <name><surname>Razzaq</surname> <given-names>F. A.</given-names></name> <name><surname>Paz-Linares</surname> <given-names>D.</given-names></name> <name><surname>Areces-Gonzalez</surname> <given-names>A.</given-names></name> <name><surname>Huang</surname> <given-names>S.</given-names></name> <name><surname>Gonzalez-Moreira</surname> <given-names>E.</given-names></name><etal/></person-group> (<year>2020</year>). <article-title>Are sources of EEG and MEG rhythmic activity the same? An analysis based on BC-VARETA.</article-title> <source><italic>bioRxiv</italic></source> <comment>[Preprint]</comment>. <pub-id pub-id-type="doi">10.1101/748996</pub-id></citation></ref>
<ref id="B33"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Riaz</surname> <given-names>U.</given-names></name></person-group> (<year>2021a</year>). <article-title>Identifying and eliminating differences between EEG and MEG source spectra.</article-title> <source><italic>Neuroinform. Assem.</italic></source> <comment>[Epub ahead of print]</comment>.</citation></ref>
<ref id="B34"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Riaz</surname> <given-names>U.</given-names></name></person-group> (<year>2021b</year>). <article-title>Transferal from EEG to MEG.</article-title> <source><italic>Int. J. Psychophysiol.</italic></source> <volume>168</volume>:<issue>S10</issue>. <pub-id pub-id-type="doi">10.1016/j.ijpsycho.2021.07.027</pub-id></citation></ref>
<ref id="B35"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schott</surname> <given-names>J. R.</given-names></name></person-group> (<year>1989</year>). <article-title>Common principal component subapaces in two groups.</article-title> <source><italic>Biometrika</italic></source> <volume>76</volume>:<issue>408</issue>. <pub-id pub-id-type="doi">10.1093/biomet/76.2.408</pub-id></citation></ref>
<ref id="B36"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schott</surname> <given-names>J. R.</given-names></name></person-group> (<year>1999</year>). <article-title>Partial common principal component subspaces.</article-title> <source><italic>Biometrika</italic></source> <volume>86</volume> <fpage>899</fpage>&#x2013;<lpage>908</lpage>. <pub-id pub-id-type="doi">10.1093/biomet/86.4.899</pub-id></citation></ref>
<ref id="B37"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Steppan</surname> <given-names>S. J.</given-names></name> <name><surname>Phillips</surname> <given-names>P. C.</given-names></name> <name><surname>Houle</surname> <given-names>D.</given-names></name></person-group> (<year>2002</year>). <article-title>Comparative quantitative genetics: evolution of the G matrix.</article-title> <source><italic>Trends Ecol. Evol.</italic></source> <volume>17</volume> <fpage>320</fpage>&#x2013;<lpage>327</lpage>. <pub-id pub-id-type="doi">10.1016/S0169-5347(02)02505-3</pub-id></citation></ref>
<ref id="B38"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tabachnick</surname> <given-names>B. G.</given-names></name> <name><surname>Fidell</surname> <given-names>L. S.</given-names></name></person-group> (<year>n.d.</year>). <source><italic>Using Multivariate Statistics.</italic></source> <publisher-loc>Manhattan, NY</publisher-loc>: <publisher-name>Harper &#x0026; Row</publisher-name>.<fpage>1</fpage>&#x2013;<lpage>14</lpage>.</citation></ref>
<ref id="B39"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tang</surname> <given-names>T. M.</given-names></name> <name><surname>Allen</surname> <given-names>G. I.</given-names></name></person-group> (<year>2018</year>). <article-title>Integrated principal components analysis.</article-title> <source><italic>Arvix</italic></source> <comment>[Preprint]</comment>. Available online at: <ext-link ext-link-type="uri" xlink:href="http://arxiv.org/abs/1810.00832">http://arxiv.org/abs/1810.00832</ext-link> <comment>(accessed July 8, 2021)</comment>.</citation></ref>
<ref id="B40"><citation citation-type="journal"><collab>The MathWorks</collab> (<year>n.d.</year>). <source><italic>Mathworks.</italic></source> <publisher-name>MATLAB</publisher-name>.</citation></ref>
<ref id="B41"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Trendafilov</surname> <given-names>N. T.</given-names></name></person-group> (<year>2010</year>). <article-title>Stepwise estimation of common principal components.</article-title> <source><italic>Comput. Stat. Data Anal.</italic></source> <volume>54</volume> <fpage>3446</fpage>&#x2013;<lpage>3457</lpage>. <pub-id pub-id-type="doi">10.1016/j.csda.2010.03.010</pub-id></citation></ref>
<ref id="B42"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Valdes-Sosa</surname> <given-names>P. A.</given-names></name> <name><surname>Galan-Garcia</surname> <given-names>L.</given-names></name> <name><surname>Bosch-Bayard</surname> <given-names>J.</given-names></name> <name><surname>Bringas-Vega</surname> <given-names>M. L.</given-names></name> <name><surname>Aubert-Vazquez</surname> <given-names>E.</given-names></name> <name><surname>Rodriguez-Gil</surname> <given-names>I.</given-names></name><etal/></person-group> (<year>2021</year>). <article-title>The cuban human brain mapping project, a young and middle age population-<italic>based EEG. MRI, and cognition dataset</italic></article-title><source>. <italic>Sci. Data</italic></source> <volume>8</volume>:<issue>45</issue>. <pub-id pub-id-type="doi">10.1038/s41597-021-00829-7</pub-id> <pub-id pub-id-type="pmid">33547313</pub-id></citation></ref>
<ref id="B43"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>L.</given-names></name> <name><surname>Wu</surname> <given-names>X. P.</given-names></name></person-group> (<year>2008</year>). &#x201C;<article-title>Classification of four-class motor imagery EEG data using spatial filtering</article-title>,&#x201D; in <source><italic>Proceedings of the 2nd International Conference on Bioinformatics and Biomedical Engineering. ICBBE 2008</italic></source>, (<publisher-loc>Shanghai</publisher-loc>: <publisher-name>Institute of Electrical and Electronics Engineers IEEE</publisher-name>) <fpage>2153</fpage>&#x2013;<lpage>2156</lpage></citation></ref>
<ref id="B44"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wei</surname> <given-names>W.</given-names></name> <name><surname>Xiaorong</surname> <given-names>G.</given-names></name> <name><surname>Shangkai</surname> <given-names>G.</given-names></name></person-group> (<year>2005</year>). &#x201C;<article-title>One-versus-the-rest (OVR) algorithm: an extension of common spatial patterns (CSP) algorithm to multi-class case</article-title>,&#x201D; in <source><italic>Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology</italic></source>, (<publisher-loc>Piscataway, N.J</publisher-loc>: <publisher-name>IEEE Operations Center</publisher-name>) <fpage>2387</fpage>&#x2013;<lpage>2390</lpage></citation></ref>
<ref id="B45"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Weng</surname> <given-names>J.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Hwang</surname> <given-names>W. S.</given-names></name></person-group> (<year>2003</year>). <article-title>Candid covariance-free incremental principal component analysis.</article-title> <source><italic>IEEE Trans. Pattern Anal. Mach. Intell.</italic></source> <volume>25</volume> <fpage>1034</fpage>&#x2013;<lpage>1040</lpage>. <pub-id pub-id-type="doi">10.1109/TPAMI.2003.1217609</pub-id></citation></ref>
<ref id="B46"><citation citation-type="journal"><collab>WU - Minn Consortium Human Connectome Project</collab> (<year>2017</year>). <source><italic>WU-Minn HCP 1200 Subjects Data Release: Reference Manual.</italic></source> <fpage>1</fpage>&#x2013;<lpage>169</lpage>. <ext-link ext-link-type="uri" xlink:href="http://www.humanconnectome.org/documentation/S1200/HCP_S1200_Release_Reference_Manual.pdf">http://www.humanconnectome.org/documentation/S1200/HCP_S1200_Release_Reference_Manual.pdf</ext-link> <comment>(accessed July 8, 2021)</comment>.</citation></ref>
<ref id="B47"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yao</surname> <given-names>F.</given-names></name> <name><surname>Coquery</surname> <given-names>J.</given-names></name> <name><surname>L&#x00EA; Cao</surname> <given-names>K. A.</given-names></name></person-group> (<year>2012</year>). <article-title>Independent Principal Component Analysis for biologically meaningful dimension reduction of large biological data sets.</article-title> <source><italic>BMC Bioinformatics</italic></source> <volume>13</volume>:<issue>24</issue>. <pub-id pub-id-type="doi">10.1186/1471-2105-13-24</pub-id> <pub-id pub-id-type="pmid">22305354</pub-id></citation></ref>
<ref id="B48"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yousefi</surname> <given-names>B.</given-names></name> <name><surname>Sfarra</surname> <given-names>S.</given-names></name> <name><surname>Ibarra Castanedo</surname> <given-names>C.</given-names></name> <name><surname>Maldague</surname> <given-names>X. P. V.</given-names></name></person-group> (<year>2017</year>). &#x201C;<article-title>Thermal NDT applying candid covariance-free incremental principal component thermography (CCIPCT)</article-title>,&#x201D; in <source><italic>Proceedings of the SPIE 10214, Thermosense: Thermal Infrared Applications</italic></source>, <role>eds</role> <person-group person-group-type="editor"><name><surname>Burleigh</surname> <given-names>P.</given-names></name> <name><surname>Bison</surname> <given-names>D.</given-names></name></person-group>. (<publisher-loc>Bellingham:</publisher-loc> <publisher-name>SPIE</publisher-name>), <fpage>10214</fpage>&#x2013;<lpage>102141I</lpage>.</citation></ref>
<ref id="B49"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>J.</given-names></name> <name><surname>Siegle</surname> <given-names>G. J.</given-names></name> <name><surname>D&#x2019;Andrea</surname> <given-names>W.</given-names></name> <name><surname>Krafty</surname> <given-names>R. T.</given-names></name></person-group> (<year>2019</year>). <article-title>Interpretable principal components analysis for multilevel multivariate functional data, with application to EEG experiments.</article-title> <source><italic>Arvix</italic></source> <comment>[Preprint]</comment>. <volume>15261</volume>. <fpage>1</fpage>&#x2013;<lpage>33</lpage>. Available online at: <ext-link ext-link-type="uri" xlink:href="http://arxiv.org/abs/1909.08024">http://arxiv.org/abs/1909.08024</ext-link> <comment>(accessed July 8, 2021)</comment>.</citation></ref>
<ref id="B50"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ziyatdinov</surname> <given-names>A.</given-names></name> <name><surname>Kanaan-Izquierdo</surname> <given-names>S.</given-names></name> <name><surname>Trendafilov</surname> <given-names>N. T.</given-names></name> <name><surname>Perera-Lluna</surname> <given-names>A.</given-names></name></person-group> (<year>2014</year>). <article-title><italic>Methods to Perform Common Principal Component Analysis (CPCA)</italic>.</article-title></citation></ref>
</ref-list>
</back>
</article>
