Análise do componente principal - Principal component analysis

PCA de uma distribuição gaussiana multivariada centrada em (1,3) com um desvio padrão de 3 na direção aproximadamente (0,866, 0,5) e de 1 na direção ortogonal. Os vetores mostrados são os autovetores da matriz de covariância escalonados pela raiz quadrada do autovalor correspondente e deslocados de forma que suas caudas fiquem na média.

Os principais componentes de uma coleção de pontos em um espaço de coordenadas real são uma sequência de vetores unitários , onde o -ésimo vetor é a direção de uma linha que melhor se ajusta aos dados, embora seja ortogonal aos primeiros vetores. Aqui, uma linha de melhor ajuste é definida como aquela que minimiza a distância quadrada média dos pontos à linha . Essas direções constituem uma base ortonormal na qual diferentes dimensões individuais dos dados são linearmente não correlacionadas . A análise de componentes principais ( PCA ) é o processo de calcular os componentes principais e usá-los para realizar uma mudança de base nos dados, às vezes usando apenas os primeiros componentes principais e ignorando o resto.

O PCA é usado na análise exploratória de dados e para fazer modelos preditivos . É comumente usado para redução de dimensionalidade , projetando cada ponto de dados apenas nos primeiros componentes principais para obter dados de dimensão inferior, preservando o máximo possível da variação dos dados. O primeiro componente principal pode ser definido de forma equivalente como uma direção que maximiza a variação dos dados projetados. O -ésimo componente principal pode ser tomado como uma direção ortogonal aos primeiros componentes principais que maximiza a variância dos dados projetados.

A partir de qualquer um dos objetivos, pode-se mostrar que os componentes principais são autovetores da matriz de covariância dos dados . Assim, os componentes principais são frequentemente calculados por decomposição automática da matriz de covariância de dados ou decomposição de valor singular da matriz de dados. PCA é a mais simples das verdadeiras análises multivariadas baseadas em autovetores e está intimamente relacionada à análise fatorial . A análise fatorial normalmente incorpora mais suposições específicas de domínio sobre a estrutura subjacente e resolve autovetores de uma matriz ligeiramente diferente. A PCA também está relacionada à análise de correlação canônica (CCA) . CCA define sistemas de coordenadas que descrevem de forma otimizada a covariância cruzada entre dois conjuntos de dados, enquanto PCA define um novo sistema de coordenadas ortogonais que descreve de forma otimizada a variância em um único conjunto de dados. Variantes robustas e baseadas na norma L1 do PCA padrão também foram propostas.

História

O PCA foi inventado em 1901 por Karl Pearson , como um análogo do teorema do eixo principal em mecânica; mais tarde, foi desenvolvido de forma independente e nomeado por Harold Hotelling na década de 1930. Dependendo do campo de aplicação, também é chamada de transformada discreta de Karhunen-Loève (KLT) no processamento de sinal , a transformada de Hotelling no controle de qualidade multivariado, decomposição ortogonal adequada (POD) em engenharia mecânica, decomposição de valor singular (SVD) de X (inventado no último quarto do século 19), decomposição de autovalor (EVD) de X T X em álgebra linear, análise fatorial (para uma discussão das diferenças entre PCA e análise fatorial, consulte o Capítulo 7 da Análise de Componentes Principais de Jolliffe ), Teorema de Eckart-Young (Harman, 1960) ou funções ortogonais empíricas (EOF) na ciência meteorológica, decomposição de autofunção empírica (Sirovich, 1987), análise de componente empírica (Lorenz, 1956), modos quase-harmônicos (Brooks et al., 1988), decomposição espectral em ruído e vibração e análise modal empírica em dinâmica estrutural.

Intuição

O PCA pode ser pensado como o ajuste de um elipsóide p- dimensional aos dados, onde cada eixo do elipsóide representa um componente principal. Se algum eixo do elipsóide for pequeno, a variância ao longo desse eixo também será pequena.

Para encontrar os eixos do elipsóide, devemos primeiro subtrair a média de cada variável do conjunto de dados para centralizar os dados em torno da origem. Em seguida, calculamos a matriz de covariância dos dados e calculamos os autovalores e os autovetores correspondentes dessa matriz de covariância. Então, devemos normalizar cada um dos autovetores ortogonais para transformá-los em vetores unitários. Feito isso, cada um dos autovetores unitários mutuamente ortogonais pode ser interpretado como um eixo do elipsóide ajustado aos dados. Essa escolha de base transformará nossa matriz de covariância em uma forma diagonalizada com os elementos diagonais representando a variância de cada eixo. A proporção da variância que cada autovetor representa pode ser calculada dividindo o autovalor correspondente a esse autovetor pela soma de todos os autovalores.

Detalhes

PCA é definido como uma transformação linear ortogonal que transforma os dados em um novo sistema de coordenadas de modo que a maior variação por alguma projeção escalar dos dados venha a residir na primeira coordenada (chamada de primeiro componente principal), a segunda maior variação no segunda coordenada e assim por diante.

Considere uma matriz de dados , X , com média empírica de zero por coluna (a média da amostra de cada coluna foi deslocada para zero), onde cada uma das n linhas representa uma repetição diferente do experimento, e cada uma das p colunas fornece um tipo específico de recurso (digamos, os resultados de um sensor específico).

Matematicamente, a transformação é definida por um conjunto de tamanhos de vetores p- dimensionais de pesos ou coeficientes que mapeiam cada vetor linha de X para um novo vetor de pontuações de componentes principais , dado por

de tal forma que as variáveis ​​individuais de t consideradas sobre o conjunto de dados herdam sucessivamente a variância máxima possível de X , com cada vetor de coeficiente w restringido a ser um vetor unitário (onde geralmente é selecionado para ser menor que para reduzir a dimensionalidade).

Primeiro componente

A fim de maximizar a variância, o primeiro vetor de peso w (1), portanto, deve satisfazer

Equivalentemente, escrever isso na forma de matriz dá

Uma vez que w (1) foi definido como um vetor unitário, ele também satisfaz equivalentemente

A quantidade a ser maximizada pode ser reconhecida como um quociente de Rayleigh . Um resultado padrão para uma matriz semidefinida positiva como X T X é que o valor máximo possível do quociente é o maior autovalor da matriz, o que ocorre quando w é o autovetor correspondente .

Com w (1) encontrado, o primeiro componente principal de um vetor de dados x ( i ) pode então ser dado como uma pontuação t 1 ( i ) = x ( i )w (1) nas coordenadas transformadas, ou como o vetor correspondente nas variáveis ​​originais, { x ( i )w (1) } w (1) .

Outros componentes

O k -ésimo componente pode ser encontrado subtraindo os primeiros k  - 1 componentes principais de X :

e então encontrar o vetor de peso que extrai a variação máxima desta nova matriz de dados

Acontece que isso fornece os autovetores restantes de X T X , com os valores máximos para a quantidade entre colchetes dados por seus autovalores correspondentes. Assim, os vectores de ponderação são vectores próprios de X T X .

O k -ésimo componente principal de um vetor de dados x ( i ) pode, portanto, ser dado como uma pontuação t k ( i ) = x ( i )w ( k ) nas coordenadas transformadas, ou como o vetor correspondente no espaço de as variáveis originais, { x ( i )w ( k ) } w ( k ) , onde w ( k ) é o k th vector próprio de X T X .

A decomposição completa dos componentes principais de X pode, portanto, ser dada como

onde W é uma p -by- p matriz de pesos cujas colunas são os vectores próprios de X T X . A transposição de W às vezes é chamada de transformação de clareamento ou esférica . As colunas de W multiplicadas pela raiz quadrada dos autovalores correspondentes, ou seja, autovetores aumentados pelas variâncias, são chamadas de carregamentos na PCA ou na análise de fator.

Covariances

X T X em si pode ser reconhecido como proporcional à amostra empírica matriz de covariância do conjunto de dados X T .

A amostra de covariância Q entre dois dos diferentes componentes principais sobre o conjunto de dados é dada por:

onde a propriedade de valores próprios de w ( k ) foi usado para mover a partir da linha 2 para a linha 3. No entanto vectores próprios w ( j ) e w ( k ) correspondendo a valores próprios de uma matriz simétrica são ortogonais (se os valores próprios são diferentes), ou pode ser ortogonalizado (se os vetores compartilharem um valor repetido igual). O produto na linha final é, portanto, zero; não há covariância de amostra entre os diferentes componentes principais no conjunto de dados.

Outra forma de caracterizar a transformação dos componentes principais é, portanto, como a transformação para coordenadas que diagonalizam a matriz de covariância da amostra empírica.

Na forma de matriz, a matriz de covariância empírica para as variáveis ​​originais pode ser escrita

A matriz de covariância empírica entre os componentes principais torna-se

onde Λ é a matriz diagonal de valores próprios X ( k ) de X T X . λ ( k ) é igual à soma dos quadrados sobre o conjunto de dados associado a cada componente k , ou seja, λ ( k ) = Σ i t k 2 ( i ) = Σ i ( x ( i )w ( k ) ) 2 .

Redução de dimensionalidade

A transformação T = X W mapeia um vetor de dados x ( i ) de um espaço original de p variáveis ​​para um novo espaço de p variáveis ​​que não estão correlacionadas no conjunto de dados. No entanto, nem todos os componentes principais precisam ser mantidos. Manter apenas os primeiros L componentes principais, produzidos usando apenas os primeiros autovetores L , dá a transformação truncada

onde a matriz T L agora tem n linhas, mas apenas L colunas. Em outras palavras, o PCA aprende uma transformação linear onde as colunas da matriz p × L formam uma base ortogonal para os recursos L (os componentes da representação t ) que são decorrelacionados. Por construção, de todas as matrizes de dados transformadas com apenas L colunas, esta matriz de pontuação maximiza a variância nos dados originais que foram preservados, enquanto minimiza o erro de reconstrução total ao quadrado ou .

Um gráfico de dispersão de análise de componentes principais de haplótipos Y-STR calculados a partir de valores de contagem de repetição para 37 marcadores de STR cromossômicos Y de 354 indivíduos. O PCA encontrou com sucesso combinações lineares dos diferentes marcadores, que separam diferentes grupos correspondentes a diferentes linhas de descendência genética do cromossomo Y dos indivíduos.

Essa redução de dimensionalidade pode ser uma etapa muito útil para visualizar e processar conjuntos de dados de alta dimensão, enquanto ainda retém o máximo possível da variação no conjunto de dados. Por exemplo, selecionar L  = 2 e manter apenas os dois primeiros componentes principais encontra o plano bidimensional por meio do conjunto de dados de alta dimensão em que os dados estão mais espalhados, portanto, se os dados contiverem clusters, estes também podem ser mais espalhados, e, portanto, mais visível para ser traçado em um diagrama bidimensional; ao passo que se duas direções através dos dados (ou duas das variáveis ​​originais) forem escolhidas aleatoriamente, os clusters podem ser muito menos espalhados uns dos outros e podem, de fato, ser muito mais propensos a se sobreporem substancialmente, tornando-os indistinguíveis.

Da mesma forma, na análise de regressão , quanto maior o número de variáveis ​​explicativas permitidas, maior a chance de overfitting do modelo, produzindo conclusões que falham em generalizar para outros conjuntos de dados. Uma abordagem, especialmente quando há fortes correlações entre diferentes variáveis ​​explicativas possíveis, é reduzi-las a alguns componentes principais e, em seguida, executar a regressão contra eles, um método chamado regressão de componente principal .

A redução da dimensionalidade também pode ser apropriada quando as variáveis ​​em um conjunto de dados são ruidosas. Se cada coluna do conjunto de dados contiver ruído gaussiano independente distribuído de forma idêntica, então as colunas de T também conterão ruído gaussiano distribuído de forma idêntica (tal distribuição é invariante sob os efeitos da matriz W , que pode ser considerada como um alto-dimensional rotação dos eixos de coordenadas). No entanto, com mais da variância total concentrada nos primeiros componentes principais em comparação com a mesma variância de ruído, o efeito proporcional do ruído é menor - os primeiros componentes alcançam uma relação sinal-ruído mais alta . O PCA, portanto, pode ter o efeito de concentrar muito do sinal nos primeiros componentes principais, que podem ser capturados de forma útil por redução de dimensionalidade; enquanto os últimos componentes principais podem ser dominados pelo ruído e, portanto, eliminados sem grandes perdas. Se o conjunto de dados não for muito grande, a importância dos componentes principais pode ser testada usando bootstrap paramétrico , como um auxílio na determinação de quantos componentes principais reter.

Decomposição de valor singular

A transformação de componentes principais também pode ser associada a outra fatoração de matriz, a decomposição de valor singular (SVD) de X ,

Aqui Σ é uma matriz diagonal retangular n- por- p de números positivos σ ( k ) , chamados de valores singulares de X ; L é um n -by- n matriz, cujas colunas são vectores unitários ortogonais de comprimento n chamado os vectores singulares esquerda de X ; e W é um p -by- p cujas colunas são vectores unitários ortogonais de comprimento p e os chamados vectores singulares direita de X .

Em termos desta fatoração, a matriz X T X pode ser escrita

onde é a matriz diagonal quadrada com os valores singulares de X e os zeros excedentes cortados que satisfazem . A comparação com a fatoração de autovetores de X T X estabelece que os vetores singulares direitos W de X são equivalentes aos autovetores de X T X , enquanto os valores singulares σ ( k ) de são iguais à raiz quadrada dos autovalores λ ( k ) de X T X .

Usando a decomposição de valor singular, a matriz de pontuação T pode ser escrita

assim, cada coluna de T é dada por um dos vetores singulares à esquerda de X multiplicado pelo valor singular correspondente. Esta forma é também a decomposição polar de T .

Existem algoritmos eficientes para calcular o SVD de X sem ter que formar a matriz X T X , portanto, calcular o SVD agora é a maneira padrão de calcular uma análise de componentes principais a partir de uma matriz de dados, a menos que apenas alguns componentes sejam necessários.

Tal como acontece com a decomposição própria, uma matriz de pontuação n × L truncada T L pode ser obtida considerando apenas os primeiros L maiores valores singulares e seus vetores singulares:

O truncamento de uma matriz M ou T usando uma decomposição de valor singular truncado desta forma produz uma matriz truncada que é a matriz mais próxima possível de classificação L da matriz original, no sentido da diferença entre as duas tendo a menor norma de Frobenius possível , um resultado conhecido como teorema de Eckart-Young [1936].

Outras considerações

Dado um conjunto de pontos no espaço euclidiano , o primeiro componente principal corresponde a uma linha que passa pela média multidimensional e minimiza a soma dos quadrados das distâncias dos pontos da linha. O segundo componente principal corresponde ao mesmo conceito depois que toda a correlação com o primeiro componente principal foi subtraída dos pontos. Os valores singulares (em Σ ) são as raízes quadradas dos valores próprios da matriz X T X . Cada autovalor é proporcional à porção da "variância" (mais corretamente, da soma das distâncias quadradas dos pontos de sua média multidimensional) que está associada a cada autovetor. A soma de todos os autovalores é igual à soma das distâncias quadradas dos pontos de sua média multidimensional. O PCA gira essencialmente o conjunto de pontos em torno de sua média, a fim de alinhar com os componentes principais. Isso move o máximo possível da variância (usando uma transformação ortogonal) para as primeiras dimensões. Os valores nas dimensões restantes, portanto, tendem a ser pequenos e podem ser descartados com perda mínima de informação (veja abaixo ). O PCA é frequentemente usado dessa maneira para redução de dimensionalidade . O PCA tem a distinção de ser a transformação ortogonal ótima para manter o subespaço que possui a maior "variância" (conforme definido acima). Esta vantagem, no entanto, tem o preço de maiores requisitos computacionais se comparados, por exemplo, e quando aplicável, à transformada discreta de cosseno e, em particular, ao DCT-II que é simplesmente conhecido como "DCT". As técnicas de redução de dimensionalidade não linear tendem a ser mais exigentes computacionalmente do que o PCA.

O PCA é sensível à escala das variáveis. Se tivermos apenas duas variáveis ​​e elas tiverem a mesma variância da amostra e forem positivamente correlacionadas, o PCA implicará uma rotação de 45 ° e os "pesos" (são os cossenos de rotação) para as duas variáveis ​​em relação ao principal componente será igual. Mas se multiplicarmos todos os valores da primeira variável por 100, então o primeiro componente principal será quase o mesmo que aquela variável, com uma pequena contribuição da outra variável, enquanto o segundo componente estará quase alinhado com a segunda variável original. Isso significa que sempre que as diferentes variáveis ​​têm unidades diferentes (como temperatura e massa), o PCA é um método de análise um tanto arbitrário. (Resultados diferentes seriam obtidos se alguém usasse Fahrenheit em vez de Celsius, por exemplo.) O artigo original de Pearson intitulava-se "Em linhas e planos de ajuste mais próximo a sistemas de pontos no espaço" - "no espaço" implica espaço euclidiano físico onde tais preocupações fazem não surgir. Uma maneira de tornar o PCA menos arbitrário é usar variáveis ​​escalonadas de modo a ter variância unitária, padronizando os dados e, portanto, usar a matriz de autocorrelação em vez da matriz de autocovariância como base para o PCA. No entanto, isso comprime (ou expande) as flutuações em todas as dimensões do espaço do sinal para a variação da unidade.

A subtração média (também conhecida como "centralização média") é necessária para realizar a PCA clássica para garantir que o primeiro componente principal descreva a direção da variação máxima. Se a subtração média não for realizada, o primeiro componente principal pode corresponder mais ou menos à média dos dados. Uma média de zero é necessária para encontrar uma base que minimize o erro quadrático médio da aproximação dos dados.

A centralização média é desnecessária se estiver executando uma análise de componentes principais em uma matriz de correlação, uma vez que os dados já estão centralizados após o cálculo das correlações. As correlações são derivadas do produto cruzado de duas pontuações padrão (pontuações Z) ou momentos estatísticos (daí o nome: Correlação de momento-produto de Pearson ). Veja também o artigo de Kromrey & Foster-Johnson (1998) sobre "Centralização da média na regressão moderada: Muito Barulho por Nada".

PCA é uma técnica primária popular no reconhecimento de padrões . Não é, entretanto, otimizado para separabilidade de classes. No entanto, tem sido usado para quantificar a distância entre duas ou mais classes calculando o centro de massa para cada classe no espaço do componente principal e relatando a distância euclidiana entre o centro de massa de duas ou mais classes. A análise discriminante linear é uma alternativa otimizada para separabilidade de classes.

Tabela de símbolos e abreviações

Símbolo Significado Dimensões Índices
matriz de dados, que consiste no conjunto de todos os vetores de dados, um vetor por linha
o número de vetores de linha no conjunto de dados escalar
o número de elementos em cada vetor linha (dimensão) escalar
o número de dimensões no subespaço dimensionalmente reduzido, escalar
vetor de médias empíricas , uma média para cada coluna j da matriz de dados
vetor de desvios padrão empíricos , um desvio padrão para cada coluna j da matriz de dados
vetor de todos os 1's
desvios da média de cada coluna j da matriz de dados
escores z , calculados usando a média e o desvio padrão para cada linha m da matriz de dados
matriz de covariância
matriz de correlação
matriz que consiste no conjunto de todos os vetores próprios de C , um vetor próprio por coluna
matriz diagonal que consiste no conjunto de todos os valores próprios de C ao longo de sua diagonal principal e 0 para todos os outros elementos
matriz de vetores de base, um vetor por coluna, onde cada vetor de base é um dos autovetores de C , e onde os vetores em W são um subconjunto daqueles em V
matriz que consiste de n vectores de linha, em que cada vector é a projecção do vector de dados correspondente a partir da matriz X para os vectores de base contidos nas colunas de matriz W .

Propriedades e limitações do PCA

Propriedades

Algumas propriedades do PCA incluem:

Propriedade 1 : para qualquer inteiroq, 1 ≤qp, considere atransformação linearortogonal
onde é um vetor de elemento q e é uma matriz ( q × p ), e seja a matriz de variância - covariância para . Então o traço de , denotado , é maximizado tomando , onde consiste nas primeiras q colunas de é a transposição de .
Propriedade 2 : Considere novamente atransformação ortonormal
com e definido como antes. Então é minimizado tomando onde consiste nas últimas q colunas de .

A implicação estatística dessa propriedade é que os últimos PCs não são simplesmente sobras não estruturadas após a remoção dos PCs importantes. Como esses últimos PCs têm variações tão pequenas quanto possível, eles são úteis por si próprios. Eles podem ajudar a detectar relações lineares quase constantes insuspeitadas entre os elementos de x , e também podem ser úteis na regressão , na seleção de um subconjunto de variáveis ​​de xe na detecção de outliers.

Propriedade 3 : (decomposição espectral de Σ )

Antes de olharmos para seu uso, primeiro olhamos para os elementos diagonais ,

Então, talvez a principal implicação estatística do resultado seja que não apenas podemos decompor as variâncias combinadas de todos os elementos de x em contribuições decrescentes devido a cada PC, mas também podemos decompor toda a matriz de covariância em contribuições de cada PC. Embora não seja estritamente decrescente, os elementos de tenderá a tornar-se menor como aumenta, como é não crescente para o aumento , enquanto que os elementos de tendem a permanecer aproximadamente o mesmo tamanho por causa das restrições de normalização: .

Limitações

Conforme observado acima, os resultados do PCA dependem da escala das variáveis. Isso pode ser curado dimensionando cada recurso pelo seu desvio padrão, de modo que se termine com recursos adimensionais com variação unital.

A aplicabilidade do PCA conforme descrito acima é limitada por certas suposições (tácitas) feitas em sua derivação. Em particular, o PCA pode capturar correlações lineares entre os recursos, mas falha quando essa suposição é violada (consulte a Figura 6a na referência). Em alguns casos, as transformações de coordenadas podem restaurar a suposição de linearidade e o PCA pode então ser aplicado (consulte o PCA do kernel ).

Outra limitação é o processo de remoção da média antes de construir a matriz de covariância para PCA. Em campos como a astronomia, todos os sinais são não negativos, e o processo de remoção da média forçará a média de algumas exposições astrofísicas a ser zero, o que consequentemente cria fluxos negativos não físicos e a modelagem direta deve ser realizada para recuperar o verdadeiro magnitude dos sinais. Como método alternativo, a fatoração de matrizes não negativas com foco apenas nos elementos não negativos nas matrizes, o que é adequado para observações astrofísicas. Veja mais em Relação entre PCA e Fatoração de Matrizes Não Negativas .

O PCA é uma desvantagem se os dados não foram padronizados antes da aplicação do PCA. O PCA transforma os dados originais em dados que são relevantes para os componentes principais desses dados, o que significa que as novas variáveis ​​de dados não podem ser interpretadas da mesma forma que os originais. Eles são interpretações lineares das variáveis ​​originais. Além disso, se o PCA não for executado corretamente, há uma grande probabilidade de perda de informações.

O PCA depende de um modelo linear. Se um conjunto de dados tem um padrão oculto dentro dele que é não linear, então o PCA pode realmente direcionar a análise na direção totalmente oposta do progresso. Pesquisadores da Kansas State University descobriram que o erro de amostragem em seus experimentos afetou o viés dos resultados do PCA. “Se o número de sujeitos ou blocos for menor que 30, e / ou o pesquisador estiver interessado em CPs além do primeiro, pode ser melhor primeiro corrigir a correlação serial, antes de realizar a ACP”. Os pesquisadores do Kansas State também descobriram que o PCA poderia ser "seriamente tendencioso se a estrutura de autocorrelação dos dados não fosse tratada corretamente".

PCA e teoria da informação

A redução da dimensionalidade perde informações, em geral. A redução de dimensionalidade baseada em PCA tende a minimizar essa perda de informação, sob certos modelos de sinal e ruído.

Partindo do pressuposto de que

isto é, que o vetor de dados é a soma do sinal portador de informação desejado e um sinal de ruído, pode-se mostrar que o PCA pode ser ótimo para redução de dimensionalidade, de um ponto de vista teórico da informação.

Em particular, Linsker mostrou que se for gaussiano e for ruído gaussiano com uma matriz de covariância proporcional à matriz identidade, o PCA maximiza a informação mútua entre a informação desejada e a saída de dimensionalidade reduzida .

Se o ruído ainda for gaussiano e tiver uma matriz de covariância proporcional à matriz de identidade (ou seja, os componentes do vetor são iid ), mas o sinal portador de informações é não gaussiano (que é um cenário comum), PCA pelo menos minimiza um limite superior na perda de informações , que é definido como

A otimização do PCA também é preservada se o ruído for iid e pelo menos mais gaussiano (em termos da divergência de Kullback-Leibler ) do que o sinal portador de informações . Em geral, mesmo que o modelo de sinal acima se mantenha, o PCA perde sua otimização da teoria da informação assim que o ruído se torna dependente.

Calculando PCA usando o método de covariância

A seguir está uma descrição detalhada do PCA usando o método de covariância (veja também aqui ) em oposição ao método de correlação.

O objectivo é o de transformar um determinado conjunto de dados X da dimensão p para um conjunto de dados alternativos descritos Y de menor dimensão L . Equivalentemente, estamos procurando encontrar a matriz Y , onde Y é a transformada de Karhunen-Loève (KLT) da matriz X :

Organize o conjunto de dados

Suponha que você tenha dados compreendendo um conjunto de observações de p variáveis ​​e deseja reduzir os dados de modo que cada observação possa ser descrita apenas com L variáveis, L < p . Suponha ainda que os dados sejam organizados como um conjunto de n vetores de dados, cada um representando uma única observação agrupada das p variáveis.

  • Escreva como vetores linha, cada um com p elementos.
  • Coloque os vetores de linha em uma única matriz X de dimensões n × p .
Calcule a média empírica
  • Encontre a média empírica ao longo de cada coluna j = 1, ...,  p .
  • Coloque os valores médios calculados em um vetor médio empírico u de dimensões p × 1.
Calcule os desvios da média

A subtração média é parte integrante da solução para encontrar uma base de componente principal que minimiza o erro quadrático médio da aproximação dos dados. Portanto, procedemos centralizando os dados da seguinte forma:

  • Subtrair o vector médio empírico de cada linha da matriz de dados X .
  • Armazene os dados subtraídos da média na matriz B n × p .
    onde h é um vetor de coluna n × 1 de todos os 1s:

Em algumas aplicações, cada variável (coluna de B ) também pode ser escalada para ter uma variância igual a 1 (ver pontuação Z ). Esta etapa afeta os componentes principais calculados, mas os torna independentes das unidades usadas para medir as diferentes variáveis.

Encontre a matriz de covariância
  • Encontre a matriz de covariância empírica C p × p da matriz B :
    onde é o operador de
    transposição conjugado . Se B consiste inteiramente de números reais, o que é o caso em muitas aplicações, a "transposta conjugada" é igual à transposta regular .
  • O raciocínio por trás do uso de n - 1 em vez de n para calcular a covariância é a correção de Bessel .
Encontre os autovetores e autovalores da matriz de covariância
  • Calcule a matriz V de autovetores que diagonaliza a matriz de covariância C :
    onde D é a matriz diagonal de valores próprios de C . Esta etapa envolverá tipicamente o uso de um algoritmo baseado em computador para calcular autovetores e autovalores . Esses algoritmos estão prontamente disponíveis como subcomponentes da maioria dos sistemas de álgebra matricial , como SAS , R , MATLAB , Mathematica , SciPy , IDL ( Interactive Data Language ) ou GNU Octave , bem como OpenCV .
  • Matriz D irá assumir a forma de um p × p matriz diagonal, onde
    é a J th Eigenvalue da matriz covariância C , e
  • Matriz de V , também de dimensão p × p , contém p vectores de coluna, cada um de comprimento P , que representam os p vectores próprios da matriz covariância C .
  • Os autovalores e autovetores são ordenados e emparelhados. O j- ésimo autovalor corresponde ao j- ésimo autovetor.
  • A matriz V denota a matriz dos autovetores direitos (em oposição aos autovetores esquerdos ). Em geral, a matriz de autovetores direitos não precisa ser a transposta (conjugada) da matriz de autovetores esquerdos.
Reorganizar os autovetores e autovalores
  • Classifique as colunas da matriz de autovetores V e da matriz de autovalores D em ordem decrescente de autovalor.
  • Certifique-se de manter os pares corretos entre as colunas em cada matriz.
Calcule o conteúdo de energia cumulativa para cada autovetor
  • Os autovalores representam a distribuição da energia dos dados de origem entre cada um dos autovetores, onde os autovetores formam uma base para os dados. O conteúdo de energia cumulativo g para o j- ésimo vetor próprio é a soma do conteúdo de energia em todos os valores próprios de 1 a j :
Selecione um subconjunto dos vetores próprios como vetores base
  • Salve as primeiras L colunas de V como a matriz p × L W :
    Onde
  • Use o vetor g como um guia na escolha de um valor apropriado para L . O objetivo é escolher um valor de L tão pequeno quanto possível enquanto atinge um valor razoavelmente alto de g em uma base percentual. Por exemplo, você pode escolher L para que a energia cumulativa g esteja acima de um certo limite, como 90 por cento. Neste caso, escolha o menor valor de L de forma que
Projete os dados na nova base
  • Os pontos de dados projetados são as linhas da matriz

Ou seja, a primeira coluna de é a projeção dos pontos de dados no primeiro componente principal, a segunda coluna é a projeção no segundo componente principal, etc.

Derivação de PCA usando o método de covariância

Seja X um vetor aleatório d- dimensional expresso como vetor coluna. Sem perda de generalidade, suponha que X tenha média zero.

Queremos encontrar um d × d ortonormal matriz de transformação P de modo a que PX tem uma diagonal da matriz covariância (isto é, PX é um vector aleatório com todos os seus componentes distintos aos pares não correlacionados).

Um cálculo rápido assumindo rendimentos unitários:

Portanto, é válido se, e somente se, for diagonalizado por .

Isso é muito construtivo, pois cov ( X ) é garantido como uma matriz definida não negativa e, portanto, é garantido que pode ser diagonalizado por alguma matriz unitária.

Cálculo livre de covariância

Em implementações práticas, especialmente com dados dimensionais altos ( p grande ), o método de covariância ingênuo raramente é usado porque não é eficiente devido aos altos custos computacionais e de memória de determinar explicitamente a matriz de covariância. A abordagem livre de covariância evita as operações np 2 de calcular e armazenar explicitamente a matriz de covariância X T X , em vez de utilizar um dos métodos livres de matriz , por exemplo, com base na função que avalia o produto X T (X r) ao custo de 2 operações np .

Computação iterativa

Uma maneira de calcular o primeiro componente principal com eficiência é mostrada no pseudocódigo a seguir, para uma matriz de dados X com média zero, sem nunca computar sua matriz de covariância.

r = a random vector of length p
r = r / norm(r)
do c times:
      s = 0 (a vector of length p)
      for each row x in X
            s = s + (xr) x
      λ = rTs // λ is the eigenvalue
      error = |λ ⋅ rs|
      r = s / norm(s)
      exit if error < tolerance
return λ, r

Este algoritmo de iteração de potência simplesmente calcula o vetor X T (X r) , normaliza e coloca o resultado de volta em r . O valor próprio é aproximada por r t (X T X) R , que é o quociente de Rayleigh no vector unidade r para a matriz de covariância X T X . Se o maior valor singular estiver bem separado do próximo maior, o vetor r se aproxima do primeiro componente principal de X dentro do número de iterações c , que é pequeno em relação ap , ao custo total de 2cnp . A convergência de iteração de energia pode ser acelerada sem sacrificar visivelmente o pequeno custo por iteração usando métodos livres de matriz mais avançados , como o algoritmo Lanczos ou o método Locally Optimal Block Preconditioned Conjugate Gradient ( LOBPCG ).

Os componentes principais subsequentes podem ser calculados um por um por meio de deflação ou simultaneamente como um bloco. Na abordagem anterior, as imprecisões nos componentes principais aproximados já calculados afetam aditivamente a precisão dos componentes principais calculados subsequentemente, aumentando assim o erro a cada novo cálculo. A última abordagem no método da potência de bloco único substitui-vectores de r e s com bloco-vetores, matrizes R e S . Cada coluna de R se aproxima de um dos principais componentes principais, enquanto todas as colunas são iteradas simultaneamente. O cálculo principal é a avaliação do produto X T (XR) . Implementado, por exemplo, em LOBPCG , o bloqueio eficiente elimina o acúmulo de erros, permite o uso de funções de produto matriz-matriz BLAS de alto nível e normalmente leva a uma convergência mais rápida, em comparação com a técnica de vetor único um por um.

O método NIPALS

Mínimos quadrados parciais iterativos não lineares (NIPALS) é uma variante da iteração de potência clássica com deflação de matriz por subtração implementada para calcular os primeiros componentes em um componente principal ou análise de mínimos quadrados parciais . Para conjuntos de dados de dimensões muito altas, como aqueles gerados nas ciências * omics (por exemplo, genômica , metabolômica ), geralmente é necessário apenas computar os primeiros PCs. Os pelo método dos mínimos quadrados parciais não-lineares (NIPALS) algoritmo aproximações atualizações iterativos para os principais pontos e cargas t 1 e r 1 T pelo método das potências multiplicando em cada iteração por X à esquerda e à direita, ou seja, o cálculo de a matriz de covariância é evitada, tal como na execução livre de matriz das iterações de energia para X T X , com base na função de avaliação do produto X T (X r) = ((R X) T X) T .

A deflação da matriz por subtração é realizada subtraindo o produto externo, t 1 r 1 T de X deixando a matriz residual deflacionada usada para calcular os PCs líderes subsequentes. Para grandes matrizes de dados ou matrizes que têm um alto grau de colinearidade de coluna, NIPALS sofre de perda de ortogonalidade de PCs devido a erros de arredondamento de precisão de máquina acumulados em cada iteração e deflação de matriz por subtração. Um algoritmo de re-ortogonalização de Gram-Schmidt é aplicado às pontuações e às cargas em cada etapa de iteração para eliminar essa perda de ortogonalidade. A dependência de NIPALS em multiplicações de vetor único não pode tirar proveito de BLAS de alto nível e resulta em convergência lenta para valores singulares iniciais agrupados - ambas essas deficiências são resolvidas em solucionadores de bloco livres de matriz mais sofisticados, como o Gradiente Conjugado Pré-condicionado de Bloco Localmente Ideal ( Método LOBPCG ).

Estimativa online / sequencial

Em uma situação "online" ou "streaming" com dados chegando peça por peça, em vez de serem armazenados em um único lote, é útil fazer uma estimativa da projeção PCA que pode ser atualizada sequencialmente. Isso pode ser feito de forma eficiente, mas requer algoritmos diferentes.

PCA e variáveis ​​qualitativas

No PCA, é comum que queiramos introduzir variáveis ​​qualitativas como elementos suplementares. Por exemplo, muitas variáveis ​​quantitativas foram medidas em plantas. Para essas plantas, algumas variáveis ​​qualitativas estão disponíveis como, por exemplo, a espécie a que a planta pertence. Esses dados foram submetidos à ACP para variáveis ​​quantitativas. Ao analisar os resultados, é natural conectar os componentes principais às espécies variáveis ​​qualitativas . Para isso, são produzidos os seguintes resultados.

  • Identificação, nos planos fatoriais, das diferentes espécies, por exemplo, utilizando cores diferentes.
  • Representação, nos planos fatoriais, dos centros de gravidade de plantas pertencentes a uma mesma espécie.
  • Para cada centro de gravidade e cada eixo, valor p para julgar a significância da diferença entre o centro de gravidade e a origem.

Esses resultados são o que se denomina introdução de uma variável qualitativa como elemento suplementar . Este procedimento é detalhado em e Husson, Lê & Pagès 2009 e Pagès 2013. Poucos softwares oferecem esta opção de forma “automática”. É o caso do SPAD que historicamente, seguindo o trabalho de Ludovic Lebart , foi o primeiro a propor esta opção, e o pacote R FactoMineR .

Formulários

Finança quantitativa

Em finanças quantitativas , a análise do componente principal pode ser aplicada diretamente ao gerenciamento de risco de carteiras de derivativos de taxas de juros . A negociação de múltiplos instrumentos de swap, que geralmente são uma função de 30-500 outros instrumentos de swap cotáveis ​​no mercado, deve ser reduzida para geralmente 3 ou 4 componentes principais, representando a trajetória das taxas de juros em uma base macro. A conversão de riscos a serem representados como aqueles em cargas fatoriais (ou multiplicadores) fornece avaliações e compreensão além do disponível para simplesmente visualizar coletivamente os riscos para 30-500 baldes individuais.

O PCA também foi aplicado a carteiras de ações de forma semelhante, tanto ao risco da carteira quanto ao retorno do risco . Uma aplicação é reduzir o risco da carteira, onde as estratégias de alocação são aplicadas às "carteiras principais" em vez das ações subjacentes. A segunda é aumentar o retorno do portfólio, usando os componentes principais para selecionar ações com potencial de alta.

Neurociência

Uma variante da análise de componentes principais é usada em neurociência para identificar as propriedades específicas de um estímulo que aumenta a probabilidade de um neurônio gerar um potencial de ação . Esta técnica é conhecida como análise de covariância disparada por pico . Em uma aplicação típica, um experimentador apresenta um processo de ruído branco como um estímulo (geralmente como uma entrada sensorial para um sujeito de teste ou como uma corrente injetada diretamente no neurônio) e registra uma seqüência de potenciais de ação, ou picos, produzidos pelo neurônio como resultado. Presumivelmente, certas características do estímulo tornam o neurônio mais propenso a picos. A fim de extrair esses recursos, o experimentador calcula a matriz de covariância do conjunto disparado por pico , o conjunto de todos os estímulos (definidos e discretizados ao longo de uma janela de tempo finita, normalmente da ordem de 100 ms) que precedeu imediatamente um pico. Os autovetores da diferença entre a matriz de covariância disparada por pico e a matriz de covariância do conjunto de estímulos anteriores (o conjunto de todos os estímulos, definido ao longo da mesma janela de tempo) indicam então as direções no espaço de estímulos ao longo das quais a variância de o conjunto acionado por spike era o que mais diferia daquele do conjunto de estímulos anterior. Especificamente, os autovetores com os maiores autovalores positivos correspondem às direções ao longo das quais a variância do conjunto disparado pelo pico apresentou a maior mudança positiva em comparação com a variância do anterior. Visto que essas foram as direções nas quais a variação do estímulo levou a um pico, elas costumam ser boas aproximações das características de estímulo relevantes procuradas.

Na neurociência, o PCA também é usado para discernir a identidade de um neurônio a partir da forma de seu potencial de ação. A classificação de espículas é um procedimento importante porque as técnicas de registro extracelular freqüentemente captam sinais de mais de um neurônio. Na classificação por pico, primeiro usa-se o PCA para reduzir a dimensionalidade do espaço das formas de onda do potencial de ação e, em seguida, realiza uma análise de agrupamento para associar potenciais de ação específicos a neurônios individuais.

PCA como uma técnica de redução de dimensão é particularmente adequada para detectar atividades coordenadas de grandes conjuntos neuronais. Ele tem sido usado para determinar variáveis ​​coletivas, ou seja, parâmetros de ordem , durante as transições de fase no cérebro.

Relação com outros métodos

Análise de correspondência

A análise de correspondência (CA) foi desenvolvida por Jean-Paul Benzécri e é conceitualmente semelhante ao PCA, mas dimensiona os dados (que devem ser não negativos) para que linhas e colunas sejam tratadas de forma equivalente. É tradicionalmente aplicado a tabelas de contingência . CA decompõe a estatística qui-quadrada associada a esta tabela em fatores ortogonais. Como CA é uma técnica descritiva, ela pode ser aplicada a tabelas para as quais a estatística qui-quadrado é apropriada ou não. Diversas variantes de CA estão disponíveis, incluindo análise de correspondência destendida e análise de correspondência canônica . Uma extensão especial é a análise de correspondência múltipla , que pode ser vista como a contrapartida da análise de componentes principais para dados categóricos.

Análise Fatorial

A análise de componentes principais cria variáveis ​​que são combinações lineares das variáveis ​​originais. As novas variáveis ​​têm a propriedade de todas as variáveis ​​serem ortogonais. A transformação PCA pode ser útil como uma etapa de pré-processamento antes do armazenamento em cluster. PCA é uma abordagem focada na variância que busca reproduzir a variância total da variável, na qual os componentes refletem a variância comum e única da variável. O PCA é geralmente preferido para fins de redução de dados (ou seja, traduzir o espaço variável em espaço de fator ideal), mas não quando o objetivo é detectar o construto ou fatores latentes.

A análise fatorial é semelhante à análise de componentes principais, pois a análise fatorial também envolve combinações lineares de variáveis. Diferente da PCA, a análise fatorial é uma abordagem focada em correlação que busca reproduzir as inter-correlações entre as variáveis, em que os fatores "representam a variância comum das variáveis, excluindo a variância única". Em termos da matriz de correlação, isso corresponde ao enfoque na explicação dos termos fora da diagonal (ou seja, covariância compartilhada), enquanto o PCA se concentra na explicação dos termos que ficam na diagonal. No entanto, como resultado lateral, ao tentar reproduzir os termos na diagonal, o PCA também tende a se ajustar relativamente bem às correlações fora da diagonal. Os resultados fornecidos pela PCA e pela análise fatorial são muito semelhantes na maioria das situações, mas nem sempre é o caso, e há alguns problemas em que os resultados são significativamente diferentes. A análise fatorial é geralmente usada quando o objetivo da pesquisa é detectar a estrutura de dados (ou seja, construtos ou fatores latentes) ou modelagem causal . Se o modelo fatorial for formulado incorretamente ou as suposições não forem atendidas, a análise fatorial dará resultados errôneos.

K significa agrupamento

Foi afirmado que a solução relaxada de agrupamento de k- médias , especificada pelos indicadores de cluster, é fornecida pelos componentes principais, e o subespaço PCA estendido pelas direções principais é idêntico ao subespaço de centróide do cluster. No entanto, esse PCA é um relaxamento útil do agrupamento de k- significados não era um resultado novo e é simples descobrir contra-exemplos para a declaração de que o subespaço do centróide do cluster é medido pelas direções principais.

Fatoração de matriz não negativa

Gráficos de variância residual fracionária (FRV) para PCA e NMF; para PCA, os valores teóricos são a contribuição dos autovalores residuais. Em comparação, as curvas de FRV para PCA atingem um patamar plano onde nenhum sinal é capturado de forma eficaz; enquanto as curvas de FRV do NMF estão diminuindo continuamente, indicando uma melhor capacidade de capturar o sinal. As curvas de FRV para NMF também convergem para níveis mais altos do que PCA, indicando a propriedade de menos superajuste do NMF.

A fatoração de matrizes não negativas (NMF) é um método de redução de dimensão onde apenas elementos não negativos nas matrizes são usados, o que é, portanto, um método promissor em astronomia, no sentido de que os sinais astrofísicos são não negativos. Os componentes do PCA são ortogonais entre si, enquanto os componentes do NMF são todos não negativos e, portanto, constroem uma base não ortogonal.

No PCA, a contribuição de cada componente é classificada com base na magnitude de seu autovalor correspondente, que é equivalente à variância residual fracionária (FRV) na análise de dados empíricos. Para NMF, seus componentes são classificados com base apenas nas curvas FRV empíricas. Os gráficos de autovalores fracionários residuais, isto é, em função do número do componente dado um total de componentes, para PCA tem um platô plano, onde nenhum dado é capturado para remover o ruído quase estático, então as curvas caíram rapidamente como uma indicação de sobreajuste e captura ruído aleatório. As curvas de FRV para NMF estão diminuindo continuamente quando os componentes de NMF são construídos sequencialmente , indicando a captura contínua de ruído quase estático; em seguida, convergem para níveis mais elevados do que o PCA, indicando a propriedade menos sobreajuste do NMF.

Iconografia de correlações

Freqüentemente, é difícil interpretar os componentes principais quando os dados incluem muitas variáveis ​​de várias origens ou quando algumas variáveis ​​são qualitativas. Isso leva o usuário PCA a uma eliminação delicada de várias variáveis. Se as observações ou variáveis ​​têm um impacto excessivo na direção dos eixos, elas devem ser removidas e projetadas como elementos suplementares. Além disso, é necessário evitar interpretar as proximidades entre os pontos próximos ao centro do plano fatorial.

Iconografia de correlações - Geoquímica de aerossóis marinhos

A iconografia das correlações , ao contrário, que não é uma projeção sobre um sistema de eixos, não tem esses inconvenientes. Podemos, portanto, manter todas as variáveis.

O princípio do diagrama é sublinhar as correlações "notáveis" da matriz de correlação, por uma linha contínua (correlação positiva) ou linha pontilhada (correlação negativa).

Uma correlação forte não é "notável" se não for direta, mas causada pelo efeito de uma terceira variável. Por outro lado, correlações fracas podem ser "notáveis". Por exemplo, se uma variável Y depende de várias variáveis ​​independentes, as correlações de Y com cada uma delas são fracas e, ainda assim, "notáveis".

Generalizações

PCA esparso

Uma desvantagem particular do PCA é que os componentes principais são geralmente combinações lineares de todas as variáveis ​​de entrada. O PCA esparso supera essa desvantagem localizando combinações lineares que contêm apenas algumas variáveis ​​de entrada. Ele estende o método clássico de análise de componente principal (PCA) para a redução da dimensionalidade dos dados, adicionando restrição de esparsidade nas variáveis ​​de entrada. Várias abordagens foram propostas, incluindo

  • uma estrutura de regressão,
  • um relaxamento convexo / estrutura de programação semidefinida,
  • uma estrutura de método de potência generalizada
  • uma estrutura de maximização alternada
  • busca gananciosa para a frente e para trás e métodos exatos usando técnicas branch-and-bound,
  • Estrutura de formulação bayesiana.

Os desenvolvimentos metodológicos e teóricos do Sparse PCA, bem como suas aplicações em estudos científicos, foram recentemente revisados ​​em um artigo de pesquisa.

PCA não linear

PCA linear versus manifolds principais não lineares para visualização de dados de microarranjos de câncer de mama : a) Configuração de nós e superfície principal 2D no manifold linear de PCA 3D. O conjunto de dados é curvo e não pode ser mapeado adequadamente em um plano principal 2D; b) A distribuição nas coordenadas internas não lineares da superfície principal (ELMap2D) juntamente com uma estimativa da densidade de pontos; c) O mesmo que b), mas para a variedade linear 2D PCA (PCA2D). O subtipo de câncer de mama "basal" é visualizado de forma mais adequada com ELMap2D e alguns recursos da distribuição tornam-se mais bem resolvidos em comparação com PCA2D. Variedades principais são produzidas pelo algoritmo de mapas elásticos . Os dados estão disponíveis para competição pública. O software está disponível para uso não comercial gratuito.

A maioria dos métodos modernos de redução da dimensionalidade não linear encontra suas raízes teóricas e algorítmicas no PCA ou K-means. A ideia original de Pearson era pegar uma linha reta (ou plano) que seria "o melhor ajuste" para um conjunto de pontos de dados. Trevor Hastie expandiu este conceito propondo curvas principais como a extensão natural para a interpretação geométrica do PCA, que explicitamente constrói uma variedade para aproximação de dados seguida por projetar os pontos nela, como é ilustrado pela Fig. Veja também o algoritmo de mapa elástico e análise geodésica principal . Outra generalização popular é o kernel PCA , que corresponde ao PCA executado em um espaço de Hilbert de kernel de reprodução associado a um kernel definido positivo.

No aprendizado de subespaço multilinear , o PCA é generalizado para o PCA multilinear (MPCA) que extrai recursos diretamente das representações de tensor. MPCA é resolvido executando PCA em cada modo do tensor iterativamente. MPCA foi aplicado para reconhecimento de rosto, reconhecimento de marcha, etc. MPCA é estendido para MPCA não correlacionado, MPCA não negativo e MPCA robusto.

A análise de componentes principais de N- way pode ser realizada com modelos como decomposição de Tucker , PARAFAC , análise de múltiplos fatores, análise de co-inércia, STATIS e DISTATIS.

PCA robusto

Embora o PCA encontre o método matematicamente ideal (como na minimização do erro quadrático), ele ainda é sensível a outliers nos dados que produzem grandes erros, algo que o método tenta evitar em primeiro lugar. Portanto, é uma prática comum remover valores discrepantes antes de calcular o PCA. No entanto, em alguns contextos, os outliers podem ser difíceis de identificar. Por exemplo, em algoritmos de mineração de dados como clustering de correlação , a atribuição de pontos a clusters e outliers não é conhecida de antemão. Uma generalização proposta recentemente de PCA com base em um PCA ponderado aumenta a robustez ao atribuir pesos diferentes a objetos de dados com base em sua relevância estimada.

Variantes resistentes a outliers de PCA também foram propostas, com base em formulações de norma L1 ( L1-PCA ).

A análise de componente principal robusta (RPCA) por meio da decomposição em matrizes de baixa classificação e esparsas é uma modificação do PCA que funciona bem com relação a observações grosseiramente corrompidas.

Técnicas semelhantes

Análise de componentes independentes

A análise de componentes independentes (ICA) é direcionada a problemas semelhantes à análise de componentes principais, mas encontra componentes separáveis ​​aditivamente em vez de aproximações sucessivas.

Análise de componentes de rede

Dada uma matriz , ele tenta decompor em duas matrizes tais que . Uma diferença fundamental em relação a técnicas como PCA e ICA é que algumas das entradas de são restritas a 0. Aqui é chamada de camada regulatória. Embora, em geral, tal decomposição possa ter várias soluções, eles provam que, se as seguintes condições forem satisfeitas:

  1. tem classificação de coluna completa
  2. Cada coluna de deve ter pelo menos zeros onde é o número de colunas de (ou alternativamente o número de linhas de ). A justificativa para este critério é que se um nó for removido da camada regulatória junto com todos os nós de saída conectados a ele, o resultado ainda deve ser caracterizado por uma matriz de conectividade com rank de coluna completo.
  3. deve ter classificação de linha completa.

então a decomposição é única até a multiplicação por um escalar.

Análise de componentes de análise discriminante

A análise discriminante de componentes principais (DAPC) é um método multivariado usado para identificar e descrever grupos de indivíduos geneticamente relacionados. A variação genética é dividida em dois componentes: variação entre grupos e dentro dos grupos, e maximiza o primeiro. Os discriminantes lineares são combinações lineares de alelos que melhor separam os grupos. Os alelos que mais contribuem para essa discriminação são, portanto, aqueles que são mais marcadamente diferentes entre os grupos. As contribuições de alelos para os agrupamentos identificados por DAPC podem permitir a identificação de regiões do genoma que conduzem a divergência genética entre os grupos. Em DAPC, os dados são primeiro transformados usando uma análise de componentes principais (PCA) e, subsequentemente, os clusters são identificados usando análise discriminante (DA).

Um DAPC pode ser realizado em R usando o pacote Adegenet. (mais informações: https://adegenet.r-forge.r-project.org/ )

Software / código-fonte

  • ALGLIB - uma biblioteca C ++ e C # que implementa PCA e PCA truncado
  • Analytica - A função EigenDecomp integrada calcula os componentes principais.
  • ELKI - inclui PCA para projeção, incluindo variantes robustas de PCA, bem como algoritmos de clustering baseados em PCA .
  • Gretl - a análise do componente principal pode ser realizada por meio do pcacomando ou da princomp()função.
  • Julia - Suporta PCA com a pcafunção no pacote MultivariateStats
  • KNIME - Um software de organização nodal baseado em java para análise, neste os nós chamados PCA, PCA compute, PCA Apply, PCA inverse o tornam facilmente.
  • Mathematica - implementa análise de componente principal com o comando PrincipalComponents usando métodos de covariância e correlação.
  • MathPHP - Biblioteca de matemática em PHP com suporte para PCA.
  • MATLAB Statistics Toolbox - As funções princompe pca(R2012b) fornecem os componentes principais, enquanto a função pcaresfornece os resíduos e a matriz reconstruída para uma aproximação de PCA de baixa classificação.
  • Matplotlib - A biblioteca Python possui um pacote PCA no módulo .mlab.
  • mlpack - Fornece uma implementação de análise de componente principal em C ++ .
  • Biblioteca NAG - a análise de componentes principais é implementada por meio da g03aarotina (disponível em ambas as versões Fortran da Biblioteca).
  • NMath - Biblioteca numérica proprietária contendo PCA para o .NET Framework .
  • GNU Octave - Ambiente computacional de software livre compatível principalmente com MATLAB, a função princompfornece o componente principal.
  • OpenCV
  • Oracle Database 12c - implementado DBMS_DATA_MINING.SVDS_SCORING_MODEpor meio da especificação do valor de configuraçãoSVDS_SCORING_PCA
  • Orange (software) - Integra o PCA em seu ambiente de programação visual. O PCA exibe um gráfico de scree (grau de variação explicada) onde o usuário pode selecionar interativamente o número de componentes principais.
  • Origin - Contém PCA em sua versão Pro.
  • Qlucore - Software comercial para análise de dados multivariados com resposta instantânea usando PCA.
  • R - Pacote estatístico gratuito , as funções princompe prcomppode ser usado para análise de componentes principais; prcompusa decomposição de valor singular que geralmente oferece melhor precisão numérica. Alguns pacotes que implementam PCA em R, incluem, mas não estão limitados a: ade4, vegan, ExPosition, dimRed, e FactoMineR.
  • SAS - software proprietário; por exemplo, veja
  • Scikit-learn - biblioteca Python para aprendizado de máquina que contém PCA, PCA probabilístico, PCA de kernel, PCA esparso e outras técnicas no módulo de decomposição.
  • Weka - biblioteca Java para aprendizado de máquina que contém módulos para componentes principais de computação.

Veja também

Referências

Leitura adicional

links externos