O Capítulo X apresentaram as ferramentas geométricas básicas necessárias para produzir uma descrição dimensional mais baixa das linhas e colunas de uma matriz de dados multivariada. A Análise de Componentes Principais (PCA) tem o mesmo objetivo com a exceção de que as linhas da matriz de dados \(X\) serão consideradas como observações de uma variável aleatória de dimensão \(p\). A idéia do princípio de reduzir a dimensão do \(X\) é alcançada através de combinações lineares.
Combinações lineares de baixa dimensão são muitas vezes mais fáceis de interpretar e servem como um passo intermediário em uma análise de dados mais complexa. Mais precisamente, procuramos combinações lineares que criam a maior disseminação entre os valores de \(X\). Em outras palavras, uma estamos procurando combinações lineares com as maiores variâncias.
A Seção XI.1 introduz as ideias básicas e elementos técnicos por trás dos componentes principais. Nenhuma suposição particular será feita em \(X\), exceto que o vetor médio e a matriz da covariância existem. Quando é feita referência a uma matriz de dados \(X\) na Seção XI.2, a média empírica e a matriz de covariâncias serão usadas. A Seção XI.3 mostra como interpretar os componentes principais estudando suas correlações com os componentes originais da matriz de dados \(X\). As análises são realizadas na prática, olhando para dispersão bidimensional.
A Seção XI.4 desenvolve técnicas de inferência em componentes principais. Isto é particularmente útil para estabelecer a redução de dimensão apropriada e, portanto, na determinação da qualidade das representações dimensionais inferiores resultantes. Como a Análise de Componentes Principais é realizada nas matrizes de covariâncias, não é invariante na escala. Muitas vezes, as unidades de medição dos componentes de \(X\) são bem diferentes, por isso é razoável padronizar as unidades de medição. A versão normalizada dos componentes principais é definida na Seção XI,5. Na Seção XI.6 descobre-se que os componentes principais empíricos são os fatores de transformações apropriadas da matriz de dados. A maneira clássica de definir componentes principais por meio de combinações lineares em relação à maior variação é descrita aqui em termos geométricos, isto é, em termos de ajuste ideal dentro de subespaces gerados pelas colunas e/ou as linhas de \(X\), como foi discutido no Capítulo X. A Seção XI.9 conclui com exemplos adicionais.
O principal objetivo da Análise de Componentes Principais (PCA) é reduzir a dimensão das observações. A maneira mais simples de redução de dimensão é tomar apenas um elemento do vetor observado e descartar todos os outros. Esta não é uma abordagem muito razoável, como vimos nos capítulos anteriores, uma vez que a força pode ser perdida na interpretação dos dados. No exemplo das Notas do Banco Suiço, temos visto que apenas uma variável, por exemplo \(X_1\) o comprimento das notas, não tinha poder discriminatório em distinguir falsificação de notas bancárias genuínas.
Um método alternativo é ponderar todas as variáveis, isto é, considerar a média simples \(p^{-1}\sum_{j=1}^p X_j\) de todos os elementos no vetor \(X=(X_1,\cdots,X_p)^\top\). Isso novamente é indesejável, já que todos os elementos de \(X\) são considerados com igual importância, ou seja, dessa maneira todos os elementos da matriz de dados têm o mesmo peso.
Uma abordagem mais flexível é estudar uma média ponderada, ou seja, \[ \delta^\top X=\sum_{j=1}^p \delta_j X_j, \qquad \mbox{satisfazendo} \qquad \sum_{j=1}^p \delta_j^2 =1\cdot \]
O vetor de ponderação \(\delta=(\delta_1,\cdots,\delta_p)^\top\) pode então ser otimizado para investigar e detectar recursos específicos. Chamamos as expressões acima de uma combinação linear padronizada (SLC). Qual SLC devemos escolher? Um objetivo é maximizar a variância da projeção \(\delta^\top X\), ou seja, escolher \(\delta\) de acordo com \[ \max_{\{\delta \; : \; ||\delta||=1\}} \mbox{Var}(\delta^\top X)=\max_{\{\delta \; : \;||\delta||=1\}} \delta^\top \mbox{Var}(X)\delta\cdot \]
As direções interessantes de \(\delta\) são encontradas através da decomposição espectral da matriz de covariâncias. De fato, do Teorema II.5, a direção \(\delta\) é dada pelo autovetor \(\gamma_1\) correspondente ao maior autovalor \(\lambda_1\) da matriz de covariâncias \(\Sigma=\mbox{Var}(X)\).
As Figuras XI.1 e XI.2 mostram duas projeções (SLCs) do mesmo conjunto de dados com média zero. Na Fig. 11.1 Uma projeção arbitrária é exibida. A janela superior mostra a nuvem de pontos de dados e a linha na qual os dados são projetados. A janela do meio mostra os valores projetados na direção selecionada. A janela inferior mostra a variância da projeção real e a porcentagem do total variância que é explicada.
Prosseguindo desta forma e escrevendo na notação matricial, o resultado para uma variável aleatória \(X\) com esperança \(\mbox{E}(X)=\mu\) e matriz de covariâncias \(\mbox{Var}(X)=\Sigma=\Gamma \Lambda \Gamma^\top\) é a transformação do componente principal que é definida como \[ Y = \Gamma^\top(X-\mu)\cdot \]
set.seed(4762)
library(mvtnorm)
matriz = rmvnorm(100, mean = c(0, 0), sigma = matrix(c(1, 0.5, 0.5, 5), nrow = 2))
par(pch=19)
plot(matriz, xlab = expression(paste("Coluna ",X[1])), xlim = c(-5,5), ylim = c(-5,5),
ylab = expression(paste("Coluna ",X[2])))
grid()
cp = prcomp(matriz)
summary(cp)
## Importance of components:
## PC1 PC2
## Standard deviation 2.2396 1.0353
## Proportion of Variance 0.8239 0.1761
## Cumulative Proportion 0.8239 1.0000
Considere a distribuição normal bi-variada \(N(0,\Sigma)\) onde \(\Sigma=\begin{pmatrix} 1 & \rho \\ \rho & 1\end{pmatrix}\) e \(\rho>0\). Os autovalores da matriz \(\Sigma\) são \(\lambda_1=1+\rho\) e \(\lambda_2=1-\rho\) com autovatroes correspondentes \[ \gamma_1=\dfrac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 1 \end{pmatrix} \qquad \mbox{e} \qquad \gamma_2=\dfrac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ -1 \end{pmatrix}\cdot \] A transformação por componentes principais é então \[ Y = \Gamma^\top (X-\mu) = \dfrac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} X \] ou \[\begin{equation*} \begin{pmatrix} Y_1 \\ Y_2 \end{pmatrix} = \dfrac{1}{\sqrt{2}}\begin{pmatrix} X_1+X_2 \\ X_1-X_2 \end{pmatrix}\cdot \end{equation*}\] Assim, a primeira componente principal é \[\begin{equation*} Y_1 = \dfrac{1}{\sqrt{2}}(X_1+X_2) \end{equation*}\] e a segunda componente principal é \[\begin{equation*} Y_2 = \dfrac{1}{\sqrt{2}}(X_1-X_2)\cdot \end{equation*}\] Encontremos agora as variâncias das componentes principais: \[\begin{equation*} \begin{array}{rcl} \mbox{Var}(Y_1) & = & \mbox{Var}\left(\dfrac{1}{\sqrt{2}}(X_1+X_2) \right) \; = \; \dfrac{1}{2}\mbox{Var}(X_1+X_2) \\ & = & \dfrac{1}{2}\left( \mbox{Var}(X_1)+\mbox{Var}(X_2)+2\mbox{Cov}(X_1,X_2)\right) \; = \; \dfrac{1}{2}(1+1+2\rho) \; = \; 1+\rho \; = \; \lambda_1\cdot \end{array} \end{equation*}\] Da mesma forma encontramos que \(\mbox{Var}(Y_2)=\lambda_2\).
Isso pode ser expresso de forma mais geral e é dado no próximo teorema.
Para \(X \sim (\mu,\Sigma)\) seja \(Y = \Gamma^\top (X-\mu)\) a transformação por componentes principais. Então \[\begin{equation} \begin{array}{rcl} \mbox{E}(Y_j) & = & 0, \qquad j=1,\cdots,p \\ \mbox{Var}(Y_j) & = & \lambda_j, \qquad j=1,\cdots,p \\ \mbox{Cov}(Y_i,Y_j) & = & 0, \qquad i\neq j \\ \mbox{Var}(Y_1) & \geq & \mbox{Var}(Y_2) \; \geq \; \cdots \; \geq \; \mbox{E}(Y_p) \; \geq \; 0 \\ \displaystyle \sum_{j=1}^p \mbox{Var}(Y_j) & = & \mbox{traço}(\Sigma) \\ \displaystyle \prod_{j=1}^p \mbox{Var}(Y_j) & = & |\Sigma| \cdot \end{array} \end{equation}\]
Demonstração. Para demonstrar que \(\mbox{Cov}(Y_i,Y_j) = 0\), qundo \(i\neq j\), usamos que \(\gamma_i\) denota a \(i\)-esima coluna de \(\Gamma\). Então \[\begin{equation*} \mbox{Cov}(Y_i,Y_j) = \gamma_i^\top \mbox{Var}(X-\mu)\gamma_j = \gamma_i^\top \mbox{Var}(X)\gamma_j\cdot \end{equation*}\] Como \(\mbox{Var}(X)=\Sigma=\Gamma \Lambda \Gamma^\top\), \(\Gamma^\top\Gamma=\mathcal{I}\) obtemos, pela ortogonalidade de \(\Gamma\) que \[\begin{equation*} \gamma_i^\top \Gamma \Lambda \Gamma^\top\gamma_j = \left\{ \begin{array}{rcl} 0, & \mbox{quando} & i\neq j, \\ \lambda_i, & \mbox{quando} & i=j\cdot \end{array}\right. \end{equation*}\] De fato, como \(Y_i=\gamma_i^\top(X-\mu)\) pertence ao espaço gerado pelo autovector \(\gamma_i\) e espaços gerados por autovectores diferentes são ortogonais um do outro, podemos ver diretamente \(Y_i\) e \(Y_j\) são ortogonais um do outro, então sua covariância é 0.
A conexão entre a transformação do componente principal e a busca da melhor combinação linear padronizada (SLC) é feita pelo teorema a seguir.
Não existe combinação linear padronizada (SLC) com variância maior do que \(\lambda_1=\mbox{Var}(Y_1)\).
Demonstração. Segue de que as combinações lineares padronizadas (SLCs) definme-se como \[\begin{equation*} \delta^\top X=\sum_{j=1}^p \delta_j X_j, \qquad \mbox{satisfazendo} \qquad \sum_{j=1}^p \delta_j^2 =1, \end{equation*}\] e do Teorema II.5.
Se \(Y=a^\top X\) é uma combinação linear padronizada (SLC) que não está correlacionado com as \(k\) primeiras componente principais (PCs) de \(X\), então a variância de \(Y\) é maximizada escolhendo-a sendo as primeiras \(k+1\) componentes principais.
Demonstração. Exercício.
Na prática, a transformação das Componentes Principais (PC) deve ser substituída pelos respectivos estimadores: \(\mu\) torna-se \(\overline{x}\), \(\Sigma\) é substituído por \(S\), etc. Se \(g_1\) denota o primeiro autovetor de \(S\), a primeira componente principal é dada por \(y_1=(X-\mbox{1}_n \overline{x}^\top)g_1\).
Mais geralmente se \(S=G L G^\top\) é a decomposição espectral de \(S\), então as Componentes Principais são obtidas como \[\begin{equation*} Y=(X-\mbox{1}_n \overline{x}^\top)G\cdot \end{equation*}\]
observe que, com matriz centralizadora \(H=I-\frac{1}{n}(\mbox{1}_n\mbox{1}_n^\top)\) e \(H \mbox{1}_n\overline{x}^\top=0\) podemos escrever \[\begin{equation*} \begin{array}{rcl} Sy & = & \frac{1}{n}Y^\top HY \, = \, \frac{1}{n}G^\top (X-\mbox{1}_n\overline{x}^\top)^\top H(X-\mbox{1}_n\overline{x}^\top)G \\ & = & \frac{1}{n}G^\top X^\top HXG \, = \, G^\top SG \, = \, L\cdot \end{array} \end{equation*}\] onde \(L=\mbox{diag}(\ell_1,\cdots,\ell_p)\) é a matriz de autovalores de \(S\). Por isso a variância de \(Y_i\) é igual ao autovalor \(\lambda_i\).
A técnica das componntes principais é sensível a alterações de escala. Se multiplicarmos uma variável por um escalar, obtemos diferentes autovalores e autovetores. Isto é devido ao fato de que uma decomposição de autovalor é realizada na matriz de covariâncias e não na matriz de correlações.
O seguinte aviso é, portanto, importante:
a transformação das componentes principais deve ser aplicada a dados que
tenham aproximadamente a mesma escala em cada variável.
Vamos aplicar esta técnica ao conjunto de dados bancários. Neste exemplo não padronizamos os dados. A figura a seguir mostra gráficos das componente principais do conjunto de dados. As cédulas genuínas e falsificadas são diferencias por cores.
Lembremos que o vetor de médias amostrais \(\overline{x}\) é
library(mclust)
data(banknote)
colMeans(banknote[,2:7])
## Length Left Right Bottom Top Diagonal
## 214.8960 130.1215 129.9565 9.4175 10.6505 140.4835
O vetor de autovalores \(\ell\) de \(S\) é
svd(var(banknote[,2:7]))$d
## [1] 3.00030487 0.93562052 0.24341371 0.19465874 0.08521185 0.03551468
Os autovetores \(g\) são dados pelas colunas da matriz \(G\) calculada como:
svd(var(banknote[,2:7]))$u
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] -0.04377427 0.01070966 -0.3263165 0.5616918 -0.75257278 -0.09809807
## [2,] 0.11216159 0.07144697 -0.2589614 0.4554588 0.34680082 0.76651197
## [3,] 0.13919062 0.06628208 -0.3447327 0.4153296 0.53465173 -0.63169678
## [4,] 0.76830499 -0.56307225 -0.2180222 -0.1861082 -0.09996771 0.02221711
## [5,] 0.20176610 0.65928988 -0.5566857 -0.4506985 -0.10190229 0.03485874
## [6,] -0.57890193 -0.48854255 -0.5917628 -0.2584483 0.08445895 0.04567946
A primeira coluna de \(G\) é o primeiro autovetor e fornece os pesos usados na combinação linear dos dados originais na primeira componente principal.
resultado <- prcomp(banknote[,2:7]) # calcula as Componentes Principais
summary(resultado)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6
## Standard deviation 1.7321 0.9673 0.49337 0.44120 0.29191 0.1885
## Proportion of Variance 0.6675 0.2082 0.05416 0.04331 0.01896 0.0079
## Cumulative Proportion 0.6675 0.8757 0.92983 0.97314 0.99210 1.0000
library(ggfortify)
pca.plot <- autoplot(resultado, data = banknote, colour = 'Status')
pca.plot
Para ver quão sensíveis as componentes principais são a uma mudança na escala nas variáveis, suponha que Length, Left, Right e Diagonal sejam medidos em cm e que Bottom e Top permaneçam em mm no conjunto de dados do banco suíço. Isto leva a:
banknote$Length.cm = banknote$Length/10
banknote$Left.cm = banknote$Left/10
banknote$Right.cm = banknote$Right/10
banknote$Diagonal.cm = banknote$Diagonal/10
colMeans(banknote[c(8:11,5,6)])
## Length.cm Left.cm Right.cm Diagonal.cm Bottom Top
## 21.48960 13.01215 12.99565 14.04835 9.41750 10.65050
Autovalores:
svd(var(banknote[,c(8:11,5,6)]))$d
## [1] 2.1118177054 0.6294076772 0.0046870974 0.0020992626 0.0008653141
## [6] 0.0003556796
Os quais diferem claramente daqueles obtidos no Exemplo XI.2 e autovetores:
svd(var(banknote[,c(8:11,5,6)]))$u
## [,1] [,2] [,3] [,4] [,5]
## [1,] -0.004970459 -0.001077508 -0.05418413 0.632468477 -0.766186349
## [2,] 0.010766037 0.012792842 0.10036980 0.535199841 0.334334672
## [3,] 0.014120204 0.015491163 0.06292408 0.556945745 0.537307213
## [4,] -0.052019751 -0.068736232 -0.98750456 0.056378648 0.111178259
## [5,] 0.992013657 -0.117213034 -0.04532457 -0.006265579 -0.008502681
## [6,] 0.113414535 0.990520894 -0.07622973 -0.011763635 -0.006845718
## [,6]
## [1,] -0.099901536
## [2,] 0.769043429
## [3,] -0.629852046
## [4,] 0.043184074
## [5,] 0.002034642
## [6,] 0.003046924
Comparando esses resultados com as duas primeiras colunas de \(G\) do Exemplo XI.2, uma história completamente diferente é revelada. Aqui o primeiro componente é dominado por \(X_4\) (margem inferior) e o segundo por \(X_5\) (margem superior), enquanto todas as outras variáveis têm muito menos peso. Os resultados são mostrados na figura abaixo. A seção XI.5 mostrará como selecionar uma padronização razoável das variáveis quando as escalas são muito diferentes.
resultado1 <- prcomp(banknote[,c(8:11,5,6)]) # calcula as Componentes Principais
summary(resultado1)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6
## Standard deviation 1.4532 0.7934 0.06846 0.04582 0.02942 0.01886
## Proportion of Variance 0.7681 0.2289 0.00170 0.00076 0.00031 0.00013
## Cumulative Proportion 0.7681 0.9971 0.99879 0.99956 0.99987 1.00000
pca.plot1 <- autoplot(resultado1, data = banknote, colour = 'Status')
pca.plot1
Lembre-se de que a ideia principal das transformações das componentes principais é encontrar as projeções mais informativas que maximizem as variâncias. A combinação linear padronizada (SLC) mais informativa é dada pelo primeiro autovetor.
Na Seção XI.2 os autovetores foram calculados para os dados do banco suíço. Em particular, com \(X\) centrados, temos:
resultado1$rotation[,1:2]
## PC1 PC2
## Length.cm 0.004970459 0.001077508
## Left.cm -0.010766037 -0.012792842
## Right.cm -0.014120204 -0.015491163
## Diagonal.cm 0.052019751 0.068736232
## Bottom -0.992013657 0.117213034
## Top -0.113414535 -0.990520894
Sendo que Length = comprimento, Left = altura esquerda, Right = altura direita, Bottom = quadro inferior, Top = quadro superior e Diagonal = diagonal.
Portanto, a primeira componente principal (PC) é essencialmente a diferença entre a variável do quadro inferior (Bottom) e a diagonal (Diagonal). A segunda componente principal é melhor descrita pela diferença entre a variável do quadro superior (Top) e a soma das variáveis do quadro inferior (Bottom) e da diagonal (Diagonal).
A ponderação das componentes principais nos diz em quais direções, expressas em coordenadas originais, a melhor explicação da variância é obtida. Uma medida de quão bem as primeiras \(q\) componentes principais explicam a variação é dada pela proporção relativa: \[ \psi_q = \dfrac{\displaystyle \sum_{j=1}^q \lambda_j}{\displaystyle \sum_{j=1}^p \lambda_j} = \dfrac{\displaystyle \sum_{j=1}^q \mbox{Var}(Y_j}{\displaystyle \sum_{j=1}^p \mbox{Var}(Y_j}\cdot \]
Com referência aos dados bancários do Exemplo XI.2, as proporções (cumulativas) da variância explicada são fornecidas a seguir e mostrdas gráficamente também. A primeira componente principal \(\gamma_1\) já explica 67% da variação. As três primeiras (\(q=3\)) componentes explicam 93% da variação.
summary(resultado1)$importance[-1,]
## PC1 PC2 PC3 PC4 PC5 PC6
## Proportion of Variance 0.76815 0.22894 0.00170 0.00076 0.00031 0.00013
## Cumulative Proportion 0.76815 0.99709 0.99879 0.99956 0.99987 1.00000
screeplot(resultado1, type = "l", npcs = 15, main = "Gráfico das 10 primeiras PCs", pch = 19)
box()
grid()
abline(h = 1, col="red", lty=5)
legend("topright", legend=c("Autovalor = 1"), col=c("red"), lty=5, cex=0.6)
cumpro <- cumsum(resultado1$sdev^2 / sum(resultado1$sdev^2))
plot(cumpro[0:15], xlab = "PC #", ylab = "Quantidade de varância explicada",
main = "Gráfico da variância acumulada", type = "b", pch = 19)
abline(v = 6, col="blue", lty=5)
abline(h = 0.88759, col="blue", lty=5)
legend("topleft", legend=c("Cut-off @ PC6"), col=c("blue"), lty=5, cex=0.6)
grid()
Mais uma vez, deve-se notar que as componentes principais não são invariantes em escala, por exemplo. As componentes principais derivadas da matriz de correlação fornecem resultados diferentes das componentes principais derivadas da matriz de covariâncias (ver Seção XI.5).
Mostramos a seguir mais uma forma de apresentar os resultados das componentes principais.
library(factoextra)
fviz_pca_ind(resultado1, geom.ind = "point", pointshape = 6,
pointsize = 2,
fill.ind = banknote$Status,
col.ind = "black",
palette = "jco",
addEllipses = TRUE,
label = "var",
col.var = "black",
repel = TRUE,
legend.title = "Status") +
ggtitle("2D PCA-plot from 30 feature dataset") +
theme(plot.title = element_text(hjust = 0.5))
A covariância entre o vetor de componentes principais \(Y\) e o vetor original \(X\) é calculada como segue: \[\begin{equation*} \begin{array}{rcl} \mbox{Cov}(X,Y) & = & \mbox{E}(X Y^\top) = \mbox{E}(X)\mbox{E}(Y^\top) \; = \; \mbox{E}(X Y ^\top) \\ & = & \mbox{E}(XX^\top \Gamma)-\mu \mu^\top \Gamma \; = \; \mbox{Var}(X)\Gamma \\ & = & \Sigma\Gamma \; = \; \Gamma\Lambda\Gamma^\top \Gamma \; = \; \Gamma \Lambda\cdot \end{array} \end{equation*}\]
Assim, a correlação, \(\rho_{X_i,Y_j}\), entre a variável \(X_i\) e a componente principal \(Y_j\) é \[\begin{equation*} \rho_{_{X_i,Y_j}} \; = \; \dfrac{\gamma_{ij}\lambda_j}{(\sigma_{_{X_i,X_i}}\lambda_j)^{1/2}} \; = \; \gamma_{ij}\left(\dfrac{\lambda_j}{\sigma_{_{X_i,X_i}}}\right)^{1/2}\cdot \end{equation*}\]
Usando dados reais, isso obviamente se traduz em \[\begin{equation*} r_{_{X_i,Y_j}} \; = \; g_{ij}\left(\dfrac{\ell_j}{s_{_{X_i,X_i}}}\right)^{1/2}\cdot \end{equation*}\]
As correlações podem ser usadas para avaliar as relações entre as componentes principais \(Y_j\) onde \(j=1,\cdots,q\) e as variáveis originais \(X_i\) onde \(i=1,\cdots,p\). Observe que \[\begin{equation*} \displaystyle \sum_{j=1}^p r_{_{X_i,Y_j}}^2 \; = \; \dfrac{\displaystyle \sum_{j=1}^p \ell_j g_{ij}^2}{s_{_{X_i,X_i}}} \; = \; \dfrac{s_{X_i,X_i}}{s_{X_i,X_i}} \; = \; 1\cdot \end{equation*}\]
De fato, \(\sum_{j=1}^p \ell_jg_{ij}^2 = g_i^\top L g_i\) é o \((i,j)\)-elemento da matriz \(G LG^\top = S\), de modo que \(r_{_{X_i,Y_j}}^2\) pode ser visto como a proporção da variância de \(X_i\) explicada por \(Y_j\).
fviz_pca_var(resultado1,
col.var = "contrib", # Cor por contribuições para o PC
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE #Evite sobreposição de texto
)
No espaço das dois primeiras componentes principais, mostramos acima essas proporções, ou seja, \(r_{_{X_i,Y_1}}\) versus \(r_{_{X_i,Y_2}}\). A figura mostra isso para o exemplo de notas bancárias. Esse gráfico mostra quais das variáveis originais são mais fortemente correlacionadas com as componentes principais \(Y_1\) e \(Y_2\). Segue-se obviamente que \(r_{_{X_i,Y_1}}^2+r_{_{X_i,Y_2}}^2\leq 1\) de modo que os pontos estão sempre dentro do círculo de raio 1. No exemplo das notas bancárias, as variáveis \(X_4\), \(X_5\) e \(X_6\) correspondem a correlações próximas à periferia do círculo e são assim bem explicados pelas duas primeiras componentes principais. Lembre-se de que interpretamos a primeira componentes principal como sendo essencialmente a diferença entre \(X_4\) (bottom) e \(X_6\) (diagonal). Isso também se reflete na figura acima, uma vez que os pontos correspondentes a essas variáveis estão em lados diferentes do eixo vertical.
Uma observação análoga se aplica à segunda componentes principal. Vimos que a segunda componente principal é bem descrito pela diferença entre \(X_5\) (top) e a soma de \(X_4\) e \(X_6\). Agora podemos ver este resultado novamente na figura, pois o ponto correspondente a \(X_5\) está abaixo do eixo horizontal e os pontos correspondentes a \(X_4\) e \(X_6\) estão acima.
Na prática, as componentes principais são calculadas a partir de amostras. O teorema a seguir produz resultados sobre a distribuição assintótica das componentes principais estimadas.
Seja \(\Sigma >0\) com autovalores
distintos e seja \(U\sim m^{-1}W_p(\Sigma,
m)\) com decomposição espectral \(\Sigma=\Gamma\Lambda \Gamma^\top\) e \(U=G LG^\top\). Então
(a) \(\sqrt{m}(\ell-\lambda) \to
N_p(0,2\Lambda^2)\), em distribuição onde \(\ell=(\ell_1,\cdots,\ell_p)^\top\) e \(\lambda=(\lambda_1,\cdots,\lambda_p)^\top\)
são os elementos diagonais de \(L\) e
\(\Lambda\), respectivamente.
(b) \(\sqrt{m}(g_j-\gamma_j) \to
N_p(0,\nu_j)\), em distribuição, com \(\nu_j=\lambda_j\sum_{k\neq j}
\lambda_k\gamma_k\gamma_k^\top/(\lambda_k-\lambda_j)^2\).
(c) \(\mbox{Cov}(g_j,g_k)=\nu_{jk}\), onde o
elemento \((r,s)\) da matriz \(p\times p\) \(\nu_{j,k}\) é \(-\lambda_j\lambda_k\gamma_{rk}\gamma_{sj}/m(\lambda_j-\lambda_k)^2\).
(d) os elementos em \(\ell\)
são assintoticamente independentes dos elemntos de \(G\).
Demonstração. Ver anexo.
Dado que \(nS\sim W_p(\Sigma,n-1)\), caso \(X_1,\cdots,X_n\) sejma \(N(\mu,\Sigma)\), temos que \[ \sqrt{n-1}(\ell_j-\lambda_j) \to N(0,2\lambda_j^2) \] em distribuição para \(j=1,\cdots,p\). Como a variância acima depende da verdadeira média \(\lambda_j\), uma transformação logarítmica é útil. Considere \[ f(\ell_j) = \log\big( \ell_j\big)\cdot \]
Então \[ \left.\dfrac{\mbox{d}}{\mbox{d}\ell_j} f(\ell_j)\right|_{\ell_j=\lambda_j} = \dfrac{1}{\lambda_j} \] e pelo Teorema de Transformação, temos que \[ \sqrt{n-1}\big( \log(\ell_j)-\log(\lambda_j)\big) \to N(0,2)\cdot \]
Por isso \[ \sqrt{\dfrac{n-1}{2}}\big( \log(\ell_j)-\log(\lambda_j)\big) \to N(0,1) \]
e um intervalo de confiança bilateral no nível de significância \(1-\alpha=0.95\) é dado por \[ \log(\ell_j)-1.96 \sqrt{\dfrac{2}{n-1}}\leq \log(\lambda_j) \leq \log(\ell_j)+1.96\sqrt{\dfrac{2}{n-1}}\cdot \]
No exemplo de dados bancários temos que \(\ell_1\) é
svd(cor(banknote[,c(8:11,5,6)]))$d[1]
## [1] 2.945558
Portanto, \[ \log(2.94)\pm 1.96 \sqrt{\dfrac{2}{199}}=\log(2.94)\pm 0.1965\cdot \]
Pode-se concluir para o verdadeiro autovalor que \[ P\big( \lambda_1\in (2.415508, \, 3.578379)\big)\approx 0.95\cdot \]
A variância explicada pelos primeiros \(q\) componentes principais é dada por \[ \psi = \dfrac{\lambda_1+\cdots+\lambda_q}{\displaystyle \sum_{j=1}^p \lambda_j}\cdot \] Em situações práticas, isto é estimado por \[ \widehat{\psi} = \dfrac{\ell_1+\cdots+\ell_q}{\displaystyle \sum_{j=1}^p \ell_j}\cdot \] Pelo Teorema XI.4 conhecemos a distribuição de \(\sqrt{n-1}(\ell-\lambda)\). Como é uma função não linear de \(\lambda\), podemos aplicar novamente o Teorema da Transformação para obter que \[ \sqrt{n-1}(\widehat{\psi}-\psi) \to N(0,D^\top VD), \]
onde \(V=2\Lambda^2\) e \(D=(d_1\cdots,d_p)^\top\) com \[ d_j = \dfrac{\partial \psi}{\partial\lambda_j} =\left\{ \begin{array}{rcl} \dfrac{1-\psi}{\mbox{tr}(\Sigma)} & \mbox{para} & 1\leq j\leq q \\ & & \\ -\dfrac{\psi}{\mbox{tr}(\Sigma)} & \mbox{para} & q+1\leq j\leq p\end{array}\right.\cdot \] Dado este resultado, o seguinte teorema pode ser derivado.\[ \sqrt{n-1}(\widehat{\psi}-\psi) \to N(0,w^2), \] onde \[ w^3 = D^\top VD = \dfrac{2}{\mbox{tr}^2(\Sigma)}\left( (1-\psi)^2(\lambda_1^2+\cdots+\lambda_q^2)+\psi^2(\lambda_{q+1}^2+\cdots+\lambda_p^2)\right), \] o que pode ser escrito como \[ w^2=\dfrac{2\mbox{tr}(\Sigma^2)}{\mbox{tr}^2(\Sigma)}\big( \psi^2-2\beta \psi+\beta\big), \] sendo que \[ \beta=\dfrac{\lambda_1^2+\cdots+\lambda_q^2}{\lambda_1^2+\cdots+\lambda_p^2}\cdot \]
Sabemos que a primeira componente principal para o exemplo das notas suíças resolve aproximadamente 67% da variação. Pode ser testado se a proporção real é realmente 75%. Calculamos \[ \widehat{\beta}=\dfrac{\lambda_1^2}{\lambda_1^2+\cdots+\lambda_p^2}=\dfrac{9.001829}{9.98288}=0.9017267 \]
svd(var(banknote[,2:7]))$d
## [1] 3.00030487 0.93562052 0.24341371 0.19465874 0.08521185 0.03551468
num = sum((svd(var(banknote[,2:7]))$d[1])^2)
num
## [1] 9.001829
denom = sum((svd(var(banknote[,2:7]))$d)^2)
denom
## [1] 9.98288
num/denom
## [1] 0.9017267
\[ \mbox{tr}(S) = 4.494724 \]
sum(diag(var(banknote[,2:7])))
## [1] 4.494724
\[ \mbox{tr}(S^2) = 9.98288 \] e
\[ \begin{array}{rcl} \widehat{w}^2 & = & \dfrac{2\mbox{tr}(S^2)}{\mbox{tr}^2(S)}\big( \widehat{\psi}^2-2\widehat{\beta}\widehat{\psi}+\widehat{\beta}\big) \\ & = & \dfrac{2\times 9.98288}{4.494724^2}\big(0.6675^2 -2(0.9017267)(0.6675)+0.9017267 \big)=0.1417962 \end{array} \]
(2*9.98288/4.494724^2)*(0.6675^2-2*0.9017267*0.6675+0.9017267)
## [1] 0.1417962
Portanto, um intervalo de confiança em um nível de significância \(1-\alpha=0.95\) é dado por \[ 0.6675\pm 1.96\sqrt{\dfrac{0.1417962}{199}}=(0.6151807, \, 0.7198193)\cdot \]
0.6675-1.96*sqrt(0.1417962/199)
## [1] 0.6151807
0.6675+1.96*sqrt(0.1417962/199)
## [1] 0.7198193
Claramente a hipótese de que \(\psi=75%\) pode ser rejeitada!
Em certas situações as variáveis originais podem ser heterogêneas, diga-se de variâncias heterogêneas. Isso é particularmente verdadeiro quando as variáveis são medidas em escalas heterogêneas, como anos, quilogramas, dólares,… . Neste caso, deve ser fornecida uma descrição das informações contidas nos dados que seja robusta, ou seja, a escolha da escala. Isto pode ser conseguido através de uma padronização das variáveis, digamos \[ X_S = HXD^{-1/2}, \] onde \(D=\mbox{diag}(s_{X_1,X_1},\cdots,s_{X_p,X_p})\).
Observe que \(\overline{x}_S=0\) e \(S_{X_S}=R\), a matriz de correlações de \(X\). As transformações de componentes principais da matriz \(X_S\) são chamadas de componentes principais normalizados.
A decomposição espectral de \(R\) é \[ R = G_R L_R G_R^\top, \]
onde \[ L_R=\mbox{diag}(\ell_1^R,\cdots,\ell_p^R) \] e \[ \ell_1^R\geq \cdots, \ell_p^R \] são os autovalores de \(R\), com autovetores correspondentes \(g_1^R,\cdots,g_p^R\). Observe que \[ \sum_{j=1}^p \ell_j^R=\mbox{tr}(R)=p\cdot \]
As componentes principais normalizadas \(Z_j\), fornecem uma representação de cada indivíduo, é dada por \[ Z=X_S G_R = (z_1,\cdots,z_p)\cdot \]
Depois de transformar as variáveis, mais uma vez, temos que: \[ \overline{z}=0 \]
e \[ S_Z=G_R^\top S_{X_S}G_R = G_R^\top R G_R= L_R\cdot \]As componentes principais normalizadas fornecem uma perspectiva semelhante à das componentes principais, mas em termos de posição relativa dos indivíduos. As componentes principais normalizadas atribuem a cada variável o mesmo peso, com as componentes principais da variável com maior variância recebendo o maior peso.
resultado3 <- prcomp(banknote[,c(8:11,5,6)], scale. = TRUE) # calcula as Componentes Principais normalizadas
summary(resultado3)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6
## Standard deviation 1.7163 1.1305 0.9322 0.67065 0.51834 0.43460
## Proportion of Variance 0.4909 0.2130 0.1448 0.07496 0.04478 0.03148
## Cumulative Proportion 0.4909 0.7039 0.8488 0.92374 0.96852 1.00000
Calcular a covariância e a correlação entre \(X_i\) e \(Z_j\) é da seguinte forma: \[ S_{X_S,Z} = \dfrac{1}{n}X_S^\top Z=G_R L_R \]
(svd(cor(banknote[,c(8:11,5,6)]))$u)%*%diag(svd(cor(banknote[,c(8:11,5,6)]))$d)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] -0.0205807 1.0422709 0.01536507 -0.25844485 0.01579715 -0.005866039
## [2,] 1.3778089 0.4370626 -0.08984307 0.17762379 -0.17181784 0.056238547
## [3,] 1.4335405 0.3226632 -0.10730355 0.19352569 0.16499372 -0.065947967
## [4,] -1.4535102 0.3501192 -0.09896140 0.17627807 0.09139316 0.119334026
## [5,] 1.1981303 -0.3402627 -0.50711379 -0.18155971 0.05789333 0.087329297
## [6,] 1.0836447 -0.1169276 0.68442524 -0.04957653 0.05906846 0.079134541
e
\[ R_{X_S,Z} = G_R L_R^{1/2} \]
(svd(cor(banknote[,c(8:11,5,6)]))$u)%*%diag(sqrt((svd(cor(banknote[,c(8:11,5,6)]))$d)))
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] -0.01199158 0.9219364 0.01648225 -0.38536590 0.0304764 -0.01349746
## [2,] 0.80279596 0.3866019 -0.09637548 0.26485400 -0.3314768 0.12940207
## [3,] 0.83526859 0.2854104 -0.11510550 0.28856524 0.3183114 -0.15174296
## [4,] -0.84690418 0.3096965 -0.10615680 0.26284740 0.1763188 0.27458160
## [5,] 0.69810421 -0.3009779 -0.54398559 -0.27072283 0.1116898 0.20094033
## [6,] 0.63139786 -0.1034278 0.73418921 -0.07392333 0.1139569 0.18208461
As componentes principais normalizadas resultantes, os \(Z_j\), podem ser interpretados em termos das variáveis originais e o papel de cada componente principal na explicação da variação na variável \(X_i\) pode ser avaliado.
Os componentes principais empíricos, normalizados ou não, acabam sendo equivalentes aos fatores que se obteriam decompondo a matriz de dados apropriada em seus fatores, ver Capítulo X. Será mostrado que os componentes pincipais são os fatores que representam as linhas da matriz de dados centralizada e que os componentes principais normalizados correspondem aos fatores da matriz de dados padronizada. A representação das colunas da matriz de dados padronizada fornece, em um fator de escala, as correlações entre os componentes principais normalizados e as variáveis originais. A derivação dos componentes principais apresentados acima terá uma bela justificativa geométrica aqui, pois eles são os que melhor se ajustam aos subespaços gerados pelas colunas da matriz de dados \(X\) transformada. Esta analogia fornece interpretações complementares das representações gráficas mostradas anteriormente.
Suponha, como no Capítulo X, que queremos obter representações dos indivíduos, as linhas de \(X\) e das variáveis, as colunas de \(X\) em espaços de menor dimensão. Para manter as representações simples, algumas transformações prévias são realizadas. Como a origem não tem significado estatístico particular no espaço dos indivíduos, primeiro deslocaremos a origem para o centro de gravidade, \(\overline{x}\), da nuvem de pontos. Isso é o mesmo que analisar a matriz de dados centralizada \(X_C=HX\). Agora todas as variáveis têm média zero, assim a técnica usada no Capítulo X pode ser aplicado à matriz \(X_C\).
Observe que a decomposição espectral de \(X_C^\top X_C\) está relacionada com a de \(S_X\), ou seja, \[ X_C^\top X_C = X^\top H^\top H X = n S_X = n G L G^\top\cdot \]
As variáveis fatoriais são obtidas projetando \(X_C\) em \(G\), \[ Y = X_c G = (y_1,\cdots,y_p)\cdot \]
Estes são os mesmos componentes principais obtidos acima. Observe que os \(y\) aqui correspondem aos \(z\) na Seção X.2. Como \(HX_C=X_C\), segue-se imediatamente que \[ \overline{y}=0, \qquad S_y=G^\top S_X G = L = \mbox{diag}(\ell_1,\cdots,\ell_p)\cdot \]
O gráfico de dispersão dos indivíduos nos eixos fatoriais são, portanto, centrados em torno da origem e são mais espalhados na primeira direção, primeiro componente principal tem variância \(\ell_1\) do que na segunda direção, segundo componente principal tem variância \(\ell_2\).
A representação das variáveis pode ser obtida por meio das Relações de Dualidade. As projeções das colunas de \(X_C\) nos autovetores \(\nu_k\) de \(X_C X_C^\top\) são \[ X_C^\top \nu_k = \dfrac{1}{\sqrt{n\ell_k}} X_C^\top X_C g_k = \sqrt{n\ell_k} g_k\cdot \]
Assim, as projeções das variáveis nos primeiros \(p\) eixos são as colunas da matriz \[ X_C^\top \Upsilon = \sqrt{n}G L^{1/2}\cdot \]
Considerando a representação geométrica, há uma boa interpretação estatística do ângulo entre duas colunas de \(X_C\). Dado que \[ x_{_{C[j]}}^\top x_{_{C[k]}} = n s_{_{x_j X_k}}, \qquad ||x_{_{C[j]}} ||^2 = n s_{_{X_j X_j}}, \]
onde \(x_{_{C[j]}}\) e \(x_{_{C[k]}}\) denotam a \(j\)-ésima e \(k\)-ésima coluna de \(X_C\), sustenta que no espaço completo das variáveis, se \(\theta_{jk}\) é o ângulo entre duas variáveis, \(x_{_{C[j]}}\) e \(x_{_{C[k]}}\), então \[ \cos(\theta_{jk}) = \dfrac{x_{_{C[j]}}^\top x_{_{C[k]}}}{||x_{_{C[j]}} || ||x_{_{C[k]}} ||} = r_{_{X_j X_k}}\cdot \]
O Exemplo XI.11 mostra a conexão geral que existe entre o ângulo e a correlação de duas variáveis. Como resultado, as posições relativas das variáveis no gráfico de dispersão das primeiras colunas de \(X_C^\top \Upsilon\) podem ser interpretadas em termos de suas correlações; o gráfico fornece uma imagem da estrutura de correlação do conjunto de dados original. Claramente, deve-se levar em conta a porcentagem de variância explicada pelos eixos escolhidos ao avaliar a correlação.
Os componentes principais normalizados também podem ser vistos como um método fatorial para reduzir a dimensão. As variáveis são novamente padronizadas para que cada uma tenha média zero e variância unitária e seja independente da escala das variáveis. A análise fatorial de \(X_S\) fornece os componentes principais normalizados.
A decomposição espectral de \(X_S^\top X_S\) está relacionada com a de \(R\), ou seja, \[ X_S^\top X_S = D^{-1/2}X^\top HX D^{-1/2} = n R = n G_R L_R G_R^\top\cdot \]
As componentes principais normalizados \(Z_j\), podem ser vistos como as projeções das linhas de \(X_S\) sobre \(G_R\).A representação das variáveis é novamente dada pelas colunas de \[ X_S^\top \Upsilon_R = \sqrt{n} G_R L_R^{1/2}\cdot \]
Com isto, vemos que as projeções das variáveis na análise fatorial fornecem a correlação entre os componentes principais normalizados \(Z_k\) e as variáveis originais \(x_{[j]}\), até o fator pn que poderia ser a escala dos eixos.
Isso implica que uma interpretação mais profunda da representação dos indivíduos pode ser obtida olhando simultaneamente para os gráficos que mostram as variáveis. Observe que \[ x_{_{S[j]}}^\top x_{_{S[k]}} = n r_{_{x_j X_k}}, \qquad ||x_{_{S[j]}} ||^2 = n, \]
onde \(x_{_{S[j]}}\) e \(x_{_{S[k]}}\) denotam a \(j\)-ésima e \(k\)-ésima coluna de \(X_S\). Assim, no espaço completo, todas as variáveis padronizadas, colunas de \(X_S\), estão contidas na esfera em \(\mathbb{R}^n\), que está centrada na origem e tem raio \(\sqrt{n}\), a escala do gráfico.Como acima, dado o ângulo \(\theta_{jk}\) entre duas colunas \(x_{_{S[j]}}\) e \(x_{_{S[k]}}\), é que \[ \cos(\theta_{jk}) = r_{_{x_j X_k}}\cdot \]
Portanto, ao olhar para a representação das variáveis nos espaços de dimensão reduzida, por exemplo os dois primeiros fatores, temos uma imagem da estrutura de correlação entre os \(X_i\)’s originais em termos de seus ângulos. Obviamente, a qualidade da representação nesses subespaços deve ser levada em consideração, o que é apresentado na próxima seção.
Como dito anteriormente, uma medida global da qualidade da representação é dada por \[ \psi = \dfrac{\ell_1+\ell_2+\cdots+\ell_q}{\displaystyle \sum_{j=1}^p \ell_j}\cdot \]
Na prática, \(q\) é escolhido para ser igual a 1, 2 ou 3. Suponha, por exemplo, que \(\psi= 0.93\) para \(q=2\). Isso significa que a representação gráfica em duas dimensões captura 93% da variância total. Em outras palavras, há dispersão mínima em uma terceira direção, não mais que 7%.
Pode ser útil verificar se cada indivíduo está bem representado pelos componentes principais. Claramente, a proximidade de dois indivíduos no espaço projetado pode não necessariamente coincidir com a proximidade no espaço original completo \(\mathbb{R}^p\), o que pode levar a interpretações errôneas dos gráficos. A este respeito, vale a pena calcular o ângulo \(\theta_{ik}\) entre a representação de um indivíduo \(i\) e o \(k\)-ésimo eixo componente principal ou comprimento principal normalizado.
Isso pode ser feito usando, \[ \cos(\theta_{ik}) =\dfrac{y_i^\top e_k}{||y_i|| ||e_k||} = \dfrac{y_{ik}}{||x_{_{C[i]}}||}, \] para o componente principal ou analogamente
\[ \cos(\zeta_{ik}) =\dfrac{z_i^\top e_k}{||z_i|| ||e_k||} = \dfrac{z_{ik}}{||x_{_{S[i]}}||}, \] para a componente principal normalizada onde \(e_k\) denota a \(k\)-ésima unidade do vetor \[ e=(0,\cdots,1,\cdots,0)^\top\cdot \]Um indivíduo \(i\) será representado no \(k\)-ésimo eixo de componentes principais se seu ângulo correspondente for pequeno, ou seja, se \(\cos(\zeta_{ik})^2\) para \(k=1,\cdots,p\) é próximo de um. Observe que para cada indivíduo \(i\), \[ \sum_{k=1}^p \cos(\theta_{ik})^2 = \dfrac{y_i^\top y_i}{x_{_{C[i]}}^\top x_{_{C[i]}}} = \dfrac{x_{_{C[i]}}^\top G G^\top x_{_{C[i]}}}{x_{_{C[i]}}^\top x_{_{C[i]}}} = 1\cdot \]
Sabemos que a qualidade da representação das variáveis pode ser avaliada pela porcentagem da variância de \(X_i\) que é explicada por um componente principal, dado por \(r_{_{X_i Y_j}}^2\) ou \(r_{_{X_i Z_j}}^2\), espectivamente.
Voltemos ao exemplo da despesa alimentar francesa, Exemplo X.1. Este conjunto de dados consiste nas despesas médias com alimentação para vários tipos diferentes de famílias na França:
FrenchFood = read.table(file = "http://leg.ufpr.br/~lucambio/MSM/FrenchFood.txt", sep = "")
FrenchFood$Nfilhos = c(rep(2,3),rep(3,3),rep(4,3),rep(5,3))
Calculando a matriz \(G_R\) temos
svd.GR = svd(cor(FrenchFood[,1:7]))
GR = svd.GR$u
colnames(GR) = colnames(FrenchFood[,1:7])
rownames(GR) = colnames(FrenchFood[,1:7])
GR
## Bread Vegetables Fruit Meat Poultry
## Bread -0.2395832 0.62209489 0.01085823 -0.54367761 -0.03634481
## Vegetables -0.4658563 0.09838136 0.06214663 -0.02300090 0.80871231
## Fruit -0.4463446 -0.20542199 -0.14539663 0.54757314 0.06688053
## Meat -0.4621811 -0.14123238 -0.20734093 -0.05328505 -0.41109101
## Poultry -0.4377548 -0.19654024 -0.35589686 -0.32438687 -0.22378723
## Milk -0.2807133 0.52251121 0.44353870 0.44960000 -0.34113376
## Wine 0.2057030 0.47909107 -0.78006429 0.30633801 0.06885976
## Milk Wine
## Bread -0.50794529 -0.02377505
## Vegetables 0.30100912 0.15583874
## Fruit -0.62546077 -0.20476222
## Meat 0.09254956 0.73692011
## Poultry 0.34967651 -0.60456503
## Milk 0.33205086 -0.15061655
## Wine 0.13815596 0.04456461
que dá os pesos das variáveis (leite, vegetais, etc.).
Os autovalores \(\ell_j\) e as proporções da variância explicada são mostrados:
# autovalores
svd.GR$d
## [1] 4.3332373164 1.8302901700 0.6308364243 0.1283275007 0.0575561897
## [6] 0.0188486021 0.0009037968
## proporção da variância explicada
library(FactoMineR)
pc.scale = PCA(FrenchFood[,1:7], scale.unit = TRUE, graph = FALSE)
pc.scale$eig
## eigenvalue percentage of variance cumulative percentage of variance
## comp 1 4.3332373164 61.90339023 61.90339
## comp 2 1.8302901700 26.14700243 88.05039
## comp 3 0.6308364243 9.01194892 97.06234
## comp 4 0.1283275007 1.83325001 98.89559
## comp 5 0.0575561897 0.82223128 99.71782
## comp 6 0.0188486021 0.26926574 99.98709
## comp 7 0.0009037968 0.01291138 100.00000
A interpretação dos componentes principais é melhor compreendida quando se observam as correlações entre os \(X_i\)’s originais e as componentes principais. Como as duas primeiras componentes principais explicam 88,1% da variância, nos limitamos às duas primeiras componentes principais. Os resultados são mostrados abaixo:
pc.scale$var$coord
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## Bread 0.4987266 0.8416211 -0.008624176 -0.194760697 0.008719436
## Vegetables 0.9697464 0.1330984 -0.049360096 -0.008239572 -0.194017127
## Fruit 0.9291302 -0.2779118 0.115481581 0.196156182 -0.016045223
## Meat 0.9620960 -0.1910708 0.164680970 -0.019088213 0.098624314
## Poultry 0.9112492 -0.2658958 0.282671831 -0.116204550 0.053688506
## Milk 0.5843448 0.7068961 -0.352281553 0.161059434 0.081840962
## Wine -0.4282002 0.6481538 0.619567716 0.109738938 -0.016520056
A tabela acima mostra \(r_{X_i
Z_1},\cdots,r_{X_i Z_5}\).
apply(pc.scale$var$coord[,1:2]^2, 1, sum)
## Bread Vegetables Fruit Meat Poultry Milk Wine
## 0.9570543 0.9581233 0.9405178 0.9621368 0.9010757 0.8411609 0.6034587
A representação gráfica bidimensional das variáveis a seguir é baseada nas duas primeiras colunas acima:
par(pch=19)
plot(pc.scale$var$coord[,1],pc.scale$var$coord[,2], xlim = c(-0.7,1), ylim = c(-0.5,1),
xlab = "Primeiro fator", ylab = "Segundo fator", main = "Gastos com alimentos na França")
text(pc.scale$var$coord[,1],pc.scale$var$coord[,2], labels = colnames(FrenchFood), pos = 2)
grid()
O gráfico acima é a projeção das variáveis em \(R^2\).
Como a qualidade da representação é boa para todas as variáveis, exceto talvez \(X_7\)=Wine, seus ângulos relativos fornecem uma imagem de sua correlação original: o vinho está negativamente correlacionado com os grupos de vegetais, frutas, carnes e aves, enquanto individualmente, este último agrupamento de variáveis é altamente correlacionado positivamente entre si. Pão e leite estão positivamente correlacionados, mas pouco correlacionados com carne, frutas e aves.
Agora a representação dos indivíduos na figura abaixo pode ser melhor interpretada.
par(pch=19)
plot(pc.scale$ind$coord[,1],pc.scale$ind$coord[,2], xlim = c(-3,5), ylim = c(-2,2),
xlab = "Primeiro fator", ylab = "Segundo fator", main = "Gastos com alimentos na França")
text(pc.scale$ind$coord[,1],pc.scale$ind$coord[,2], labels = rownames(FrenchFood), pos = 3)
grid()
A partir das figuras podemos ver que o primeiro fator \(Z_1\) é um fator vegetal-carne-aves-frutas, enquanto o segundo fator é um fator leite-pão-vinho. Observe que isso corresponde aos pesos mais importantes nas primeiras colunas de \(G_R\).
plot(pc.scale, choix = "ind")
library(devtools)
#install_github("vqv/ggbiplot")
pc <- prcomp(FrenchFood[,1:7], center = TRUE, scale. = TRUE)
attributes(pc)
## $names
## [1] "sdev" "rotation" "center" "scale" "x"
##
## $class
## [1] "prcomp"
library(ggbiplot)
g <- ggbiplot(pc,
obs.scale = 1,
var.scale = 1,
groups = as.factor(FrenchFood$Nfilhos),
ellipse = TRUE,
circle = TRUE,
ellipse.prob = 0.68)
g <- g + scale_color_discrete(name = '')
g <- g + theme(legend.direction = 'horizontal',
legend.position = 'top')
print(g)
Nesta figura, as elipses foram desenhadas para conectar famílias do mesmo tamanho. Pode-se ver claramente uma grade (com uma leve deformação por parte das famílias gestoras) que mostra as famílias com maiores gastos (maior número de filhos) à direita abaixo, em contraponto às demais famílias.
plot(pc.scale, choix = "varcor")
A consideração dos dois números juntos explica quais tipos de gastos são responsáveis pelas semelhanças nos gastos com alimentos. Os gastos com pão, leite e vinho são semelhantes para trabalhadores braçais e empregados. As famílias dos gestores são caracterizadas por maiores gastos com hortaliças, frutas, carnes e aves. Muitas vezes ao analisar as componentes principais é esclarecedor usar tal dispositivo para introduzir aspectos qualitativos de indivíduos a fim de enriquecer as interpretações dos gráficos.
Em muitas aplicações, uma análise estatística é feita simultaneamente para grupos de dados. Nesta seção, é apresentada uma técnica que nos permite analisar elementos de grupos com componentes principais comuns.
Do ponto de vista estatístico, a estimação de componentes principais simultaneamente em diferentes grupos resultará em uma dimensão articular, reduzindo a transformação. Esta análise de componentes principais de vários grupos, o chamado Análise de Componentes de Princípios Comuns (CPCA), produz a estrutura própria articular entre os grupos.
Além da análise de componentes principais tradicional, a suposição básica da CPCA é que o espaço abrangido pelos autovetores é idêntico em vários grupos, enquanto as variâncias associadas aos componentes podem variar.
Mais formalmente, a hipótese dos componentes principais comuns pode ser declarada da seguinte maneira (Flury, 1988): \[ H_{CPC}: \Sigma_i = \Gamma \Lambda_i \Gamma^\top \qquad i=1,\cdots,k, \]
onde \(\Sigma_i\) é uma matriz \(p\times p\) de covariâncias definida positiva para cada \(i\), \(\Gamma=(\gamma_1,\cdots,\gamma_p)\) é uma matriz \(p\times p\) de transformação ortogonal e \(\Lambda_i=\mbox{diag}(\lambda_{i1},\cdots,\lambda_{ip})\) é a matriz de autovalores. Além disso, suponha que tudos os \(\lambda_{i}\) sejam distintos.
Seja \(S\) a matriz de covariâncias amostral de uma distribuição normal de \(p\)-variada \(N_p(\mu,\Sigma)\) com tamanho de amostra \(n\). Então, a distribuição de \(nS\) tem \(n-1\) graus de liberdade e é conhecida como distribuição de Wishart (Muirhead, 1982): \[ nS \sim W_p(\Sigma,n-1)\cdot \]
A densidade foi dada na Seção V.2. Portanto, para uma determinada matriz Wishart \(S_i\) com tamanho de amostra \(n_i\), a função de verossimilhança pode ser escrita como \[ L(\Sigma_1,\cdots,\Sigma_k) = C\prod_{i=1}^k \exp\left(\mbox{tr}\left(-\frac{1}{2}\big(n_1-1\big)\Sigma_i^{-1} S_i\right)\right)||\Sigma_i|^{-\frac{1}{2}(n_i-1)}, \]
onde \(C\) é uma constante independente dos parâmetros em \(\Sigma_i\).
Maximizar a verossimilhança é equivalente a minimizar a função \[ g(\Sigma_1,\cdots,\Sigma_k) = \sum_{i=1}^k \big( n_1-1 \big)\left( \log\big(|\Sigma_i|\big)+\mbox{tr}\big(\Sigma_i^{-1} S_i\big)\right)\cdot \]
Supondo que a hipótese \(H_{CPC}\) seja verdadeira, ou seja, substituindo \(\Sigma_i\) por \(\Gamma \Lambda_i \Gamma^\top\), depois de algumas manipulações que se obtém \[ g(\Gamma,\Lambda_1,\cdots,\Lambda_k) = \sum_{i=1}^k \big( n_1-1 \big) \sum_{j=1}^p \left( \log\big(\lambda_{ij}\big)+\dfrac{\gamma_j^\top S_i \gamma_j}{\lambda_{ij}}\right)\cdot \]
Como sabemos da Seção II.2, os vetores \(\gamma_j\) em \(\Gamma\) precisam ser ortogonais. A ortogonalidade dos vetores \(\gamma_j\) é alcançada usando o método Lagrange, ou seja, imporemos as \(p\) restrições \(\gamma_j^\top \gamma_j = 1\) usando os multiplicadores de Lagrange \(\mu_j\) e as \(p(p-1)/2\) restrições restantes \(\gamma_h^\top\gamma_j=0\) para \(h\neq j\) usando o multiplicador \(2\mu_{hj}\) (Flury, 1988). Isso rende \[ g^*(\Gamma,\Lambda_1,\cdots,\Lambda_k) = g(\cdot) - \sum_{j=1}^p \mu_j\big(\gamma_j^\top\gamma_j-1 \big)- 2\sum_{h=1}^p\sum_{j=h+1}^p \mu_{hj}\gamma_h^\top\gamma_j\cdot \]
Tomando derivadas parciais em relação a todos os \(\lambda_{im}\) e \(\gamma_m\), pode-se mostrar que a solução do modelo de componentes principais comuns é dada pelo sistema generalizado de equações características \[ \gamma_m^\top \left(\sum_{i=1}^k \big(n_i-1\big)\dfrac{\lambda_{im}-\lambda_{ij}}{\lambda_{im}\lambda_{ij}}S_i \right)\gamma_j = 0, \qquad m,j =1,\cdots,p, \; m\neq j\cdot \]
Este sistema pode ser resolvido usando \[ \lambda_{im} = \gamma_m^\top S_i \gamma_m, \qquad i=1,\cdots,m, \; m=1,\cdots,p \]
sob as restrições \[ \gamma_m^\top \gamma_j = \left\{ \begin{array}{rcl} 0, & \mbox{caso} & m\neq j \\ 1, & \mbox{caso} & m=j \end{array}\right.\cdot \]Flury (1988) prova a existência e a unicidade do máximo da função de verossimilhança e Flury and Gautschi (1986) fornecem um algoritmo numérico.
Como exemplo, fornecemos os conjuntos de dados XFGvolsurf01, XFGVvolsurf02 e XFGvolsurf03 que foram usados em Fengler, Härdle and Villa (2003) para estimar os componentes princípais comuns para a transmissão implícita de volatilidade do DAX 1999 nos 254 dias de negociação (Deutsche Boerse AG German Stock Index DAX).
XFGvolsurf01 = read.table(file = "http://leg.ufpr.br/~lucambio/MSM/XFGvolsurf01.txt")
XFGvolsurf02 = read.table(file = "http://leg.ufpr.br/~lucambio/MSM/XFGvolsurf02.txt")
XFGvolsurf03 = read.table(file = "http://leg.ufpr.br/~lucambio/MSM/XFGvolsurf03.txt")
O German Stock Index é um índice de retorno total de 40 ações alemãs blue chip negociadas na Bolsa de Valores de Frankfurt. As ações utilizam ações em circulação no cálculo do índice. O DAX tem um valor base de 1.000 em 31 de dezembro de 1987. Em 18 de junho de 1999, apenas os preços das ações da XETRA são usados para calcular todos os índices DAX.
A figura abaixo mostra os três primeiros vetores próprios em um gráfico de coordenadas paralelas. A estrutura básica dos três primeiros vetores próprios não é alterada. Encontramos uma mudança, uma inclinação e uma estrutura de torção. Essa estrutura é comum a todos os grupos de maturidade, ou seja, ao explorar o PCA como uma ferramenta de redução de dimensão, a mesma transformação se aplica a cada grupo! No entanto, ao comparar o tamanho dos autovalores entre os grupos, descobrimos que a variabilidade está diminuindo entre os grupos à medida que passamos dos contratos de curto prazo para contratos de longo prazo.
library(FactoMineR)
Group01 = PCA(XFGvolsurf01, graph = FALSE)
Group02 = PCA(XFGvolsurf02, graph = FALSE)
Group03 = PCA(XFGvolsurf03, graph = FALSE)
Grupos = data.frame(t(cbind(Group01$var$coord[,1],Group02$var$coord[,1],
Group03$var$coord[,1])), Grupo = c(1,2,3))
library(plotly)
fig <- Grupos %>% plot_ly(type = 'parcoords',
line = list(color = ~ Grupo, colorscale = c('red','blue','lightblue')),
dimensions = list(
list(range = c(0.8,0.95), label = 'V1', values = ~ V1),
list(range = c(0.9,0.95), label = 'V2', values = ~ V2),
list(range = c(0.85,0.9), label = 'V3', values = ~ V3),
list(range = c(0.9,1), label = 'V4', values = ~ V4),
list(range = c(0.75,0.8), label = 'V5', values = ~ V5),
list(range = c(0.8,.85), label = 'V6', values = ~ V6))
)
fig
Antes de tirar conclusões, devemos nos convencer de que o modelo CPC é realmente uma boa descrição dos dados. Isso pode ser feito usando um teste de razão de verossimilhança. A estatística da razão de verossimilhança para comparar um modelo restrito (o CPC) com o modelo irrestrito (o modelo em que todas as covariâncias são tratadas separadamente) é dada por \[ T_{n_1,n_2,\cdots,n_k}=-2\log\left( \dfrac{L(\widehat{\Sigma}_1,\cdots,\widehat{\Sigma}_k)}{L(S_1,\cdots,S_k)}\right)\cdot \]
Inserindo a função de verossimilhança, descobrimos que isso é equivalente a \[ T_{n_1,n_2,\cdots,n_k}=\sum_{i=1}^k (n_i-1)\dfrac{\mbox{det}(\widehat{\Sigma}_i)}{\mbox{det}(S_i)}, \] que tem uma distribuição \(\chi^2\) quando \(\min(n_i)\) tende ao infinito com \[ k\left( \frac{1}{2}p(p-1)+1\right)-\left( \frac{1}{2}p(p-1)+kp\right)=\frac{1}{2}(k-1)p(p-1) \]
graus de liberdade.library(multigroup)
dados = data.frame(rbind(XFGvolsurf01,XFGvolsurf02,XFGvolsurf03),
Grupos = c(rep(1,dim(XFGvolsurf01)[1]),rep(2, dim(XFGvolsurf02)[1]),
rep(3,dim(XFGvolsurf03)[1])))
head(dados)
## V1 V2 V3 V4 V5 V6
## 1 0.018845598 0.02867824 0.03799162 0.01548550 -0.03633023 -0.05114765
## 2 0.022012490 0.01004171 0.00280894 0.04048462 0.06888977 0.09229600
## 3 0.019757681 0.02646558 0.03280653 0.04377325 0.04562099 0.05740820
## 4 -0.009257065 -0.02356912 -0.03656170 -0.03685800 -0.02496422 -0.02043039
## 5 0.010455822 0.06588100 0.11156915 0.13530462 0.12136874 0.06320727
## 6 0.023697615 0.02580576 0.02803899 0.01938608 0.01620938 0.02059106
## Grupos
## 1 1
## 2 1
## 3 1
## 4 1
## 5 1
## 6 1
resposta = FCPCA(dados[,1:6], Group = dados$Grupos, Scale = FALSE, graph = FALSE)
loadingsplot(resposta, axes=c(1,2))
scoreplot(resposta, axes=c(1,2))
Suponha que estejamos examinando os seguintes dados de DEFRA (Department for Environment, Food and Rural Affairs) mostrando o consumo em gramas, por pessoa, por semana de 17 tipos diferentes de alimentos medidos e calculados nos quatro países do Reino Unido em 1997. Dizemos que os 17 tipos de alimentos são as variáveis e os 4 países são as observações. Um olhar sobre os números na tabela de dados não revela muito, de fato em geral, é difícil extrair significado de qualquer variedade de números.
X = c(105,103,103,66,245,227,242,267,685,803,750,586,147,160,122,93,193,235,184,209,
156,175,147,139,720,874,566,1033,253,265,171,143,488,570,418,355,198,203,220,187,
360,365,337,334,1102,1137,957,674,1472,1582,1462,1494,57,73,53,47,1374,1256,1572,1506,
375,475,458,135,54,64,62,41)
X = matrix(X, ncol = 4, byrow = TRUE,
dimnames = list(c("Cheese","Carcass meat","Other meat","Fish","Fats and oils","Sugars",
"Fresh potatoes","Fresh Veg","Other Veg","Processed potatoes",
"Processed Veg","Fresh fruit","Cereals","Beverages","Soft drinks",
"Alcoholic drinks","Confectionery"),
c("England","Wales","Scotland","N. Ireland")))
X
## England Wales Scotland N. Ireland
## Cheese 105 103 103 66
## Carcass meat 245 227 242 267
## Other meat 685 803 750 586
## Fish 147 160 122 93
## Fats and oils 193 235 184 209
## Sugars 156 175 147 139
## Fresh potatoes 720 874 566 1033
## Fresh Veg 253 265 171 143
## Other Veg 488 570 418 355
## Processed potatoes 198 203 220 187
## Processed Veg 360 365 337 334
## Fresh fruit 1102 1137 957 674
## Cereals 1472 1582 1462 1494
## Beverages 57 73 53 47
## Soft drinks 1374 1256 1572 1506
## Alcoholic drinks 375 475 458 135
## Confectionery 54 64 62 41
Precisamos de alguma maneira de entender os dados acima. Existem tendências presentes que não são óbvias de olhar para a variedade de números? A análise de componentes principais generaliza essa idéia e nos permite executar essa análise simultaneamente, para muitas variáveis.
No nosso exemplo, temos dados 17 dimensionais para 4 países. Assim, podemos imaginar planejar as 4 coordenadas representando os 4 países no espaço 17 dimensional. Se houver alguma correlação entre as observações (os países), isso será observado no espaço 17 dimensional pelos pontos correlacionados sendo agrupados, embora é claro que não possamos visualizar esse espaço, não somos capazes de ver esse agrupamento diretamente.
library(FactoMineR)
pc.scale = PCA(t(X), scale.unit = TRUE, graph = T)
summary(pc.scale)
##
## Call:
## PCA(X = t(X), scale.unit = TRUE, graph = T)
##
##
## Eigenvalues
## Dim.1 Dim.2 Dim.3
## Variance 11.616 4.228 1.156
## % of var. 68.328 24.871 6.801
## Cumulative % of var. 68.328 93.199 100.000
##
## Individuals
## Dist Dim.1 ctr cos2 Dim.2 ctr cos2
## England | 2.090 | 0.954 1.961 0.209 | -0.328 0.637 0.025 |
## Wales | 4.905 | 4.521 43.990 0.849 | 1.735 17.807 0.125 |
## Scotland | 3.359 | -0.488 0.513 0.021 | -3.234 61.828 0.927 |
## N. Ireland | 5.319 | -4.987 53.537 0.879 | 1.827 19.728 0.118 |
## Dim.3 ctr cos2
## England -1.830 72.402 0.767 |
## Wales 0.781 13.203 0.025 |
## Scotland 0.765 12.660 0.052 |
## N. Ireland 0.283 1.735 0.003 |
##
## Variables (the 10 first)
## Dim.1 ctr cos2 Dim.2 ctr cos2 Dim.3
## Cheese | 0.837 6.038 0.701 | -0.508 6.105 0.258 | -0.201
## Carcass meat | -0.973 8.158 0.948 | 0.159 0.596 0.025 | -0.165
## Other meat | 0.903 7.012 0.815 | -0.280 1.853 0.078 | 0.327
## Fish | 0.975 8.186 0.951 | 0.023 0.012 0.001 | -0.220
## Fats and oils | 0.434 1.618 0.188 | 0.824 16.044 0.678 | 0.366
## Sugars | 0.958 7.902 0.918 | 0.281 1.873 0.079 | 0.055
## Fresh potatoes | -0.333 0.956 0.111 | 0.935 20.674 0.874 | 0.122
## Fresh Veg | 0.905 7.046 0.818 | 0.198 0.931 0.039 | -0.377
## Other Veg | 0.978 8.242 0.957 | 0.191 0.862 0.036 | -0.079
## Processed potatoes | 0.411 1.458 0.169 | -0.844 16.840 0.712 | 0.344
## ctr cos2
## Cheese 3.506 0.041 |
## Carcass meat 2.349 0.027 |
## Other meat 9.266 0.107 |
## Fish 4.202 0.049 |
## Fats and oils 11.567 0.134 |
## Sugars 0.257 0.003 |
## Fresh potatoes 1.286 0.015 |
## Fresh Veg 12.295 0.142 |
## Other Veg 0.538 0.006 |
## Processed potatoes 10.264 0.119 |
Aplique componentes principais ao conjunto de dados Car
Marks: os dados são marcas médias para 24 tipos de carros de
uma amostra de 40 pessoas. As notas variam de 1 (muito bom) a 6 (muito
ruim) como notas escolares alemãs. As variáveis são:
Type, tipo e Model, o modelo e as
notas, Economy, Service,
Value, a não depreciação do valor,
Price o preço, marca 1 para carros muito baratos,
Design, Sport, carro esportivo,
Safety, segurança, Handling, fácil
manuseio.
CarMarks = read.table(file = "http://leg.ufpr.br/~lucambio/MSM/CarMarks.txt", sep = "", header = TRUE)
head(CarMarks)
## Type Model Economy Service Value Price Design Sport Safety Handling
## 1 Audi 100 3.9 2.8 2.2 4.2 3.0 3.1 2.4 2.8
## 2 BMW 5 series 4.8 1.6 1.9 5.0 2.0 2.5 1.6 2.8
## 3 Citroen AX 3.0 3.8 3.8 2.7 4.0 4.4 4.0 2.6
## 4 Ferrari <NA> 5.3 2.9 2.2 5.9 1.7 1.1 3.3 4.3
## 5 Fiat Uno 2.1 3.9 4.0 2.6 4.5 4.4 4.4 2.2
## 6 Ford Fiesta 2.3 3.1 3.4 2.6 3.2 3.3 3.6 2.8
Este conjunto de dados fornece dados sobre registros atléticos de 55
países:
athletic.records = read.table(file = "http://leg.ufpr.br/~lucambio/MSM/AthleticRecords.txt", sep = "", header = TRUE)
head(athletic.records)
## Country X100m X200m X400m X800m X1500m X5000m X10000m Marathon
## 1 Argentina 10.39 20.81 46.84 1.81 3.70 14.04 29.36 137.71
## 2 Australia 10.31 20.06 44.84 1.74 3.57 13.28 27.66 128.30
## 3 Austria 10.44 20.81 46.82 1.79 3.60 13.26 27.72 135.90
## 4 Belgium 10.34 20.68 45.04 1.73 3.60 13.22 27.45 129.95
## 5 Bermuda 10.28 20.58 45.91 1.80 3.75 14.68 30.55 146.61
## 6 Brazil 10.22 20.43 45.21 1.73 3.66 13.62 28.62 133.13
Aplique uma análise de componentes principais normalizada ao conjunto
de dados US-CRIME.
USCRIME = read.table(file = "http://leg.ufpr.br/~lucambio/MSM/US-CRIME.txt", sep = "", header = TRUE)
head(USCRIME)
## State land popu.1985 murd rape robb assa burg larc auto reg div
## 1 ME 33265 1164 1.5 7.0 12.6 62 562 1055 146 1 1
## 2 NH 9279 998 2.0 6.0 12.1 36 566 929 172 1 1
## 3 VT 9614 535 1.3 10.3 7.6 55 731 969 124 1 1
## 4 MA 8284 5822 3.5 12.0 99.5 88 1134 1531 878 1 1
## 5 RI 1212 968 3.2 3.6 78.3 120 1019 2186 859 1 1
## 6 CT 5018 3174 3.5 9.1 70.4 87 1084 1751 484 1 1
Aplique uma análise de componentes principais normalizada ao conjunto
de dados US-HEALTH.
USHEALTH = read.table(file = "http://leg.ufpr.br/~lucambio/MSM/US-HEALTH.txt", sep = "", header = TRUE)
head(USHEALTH)
## State land popu.1985 acc card canc pul pneu diab liv doc hosp reg div
## 1 ME 33265 1164 37.7 466.2 213.8 33.6 21.1 15.6 14.5 1773 47 1 1
## 2 NH 9279 998 35.9 395.9 182.2 29.6 20.1 17.6 10.4 1612 34 1 1
## 3 VT 9614 535 41.3 433.1 188.1 33.1 24.0 15.6 13.1 1154 19 1 1
## 4 MA 8284 5822 31.1 460.6 219.0 24.9 29.7 16.0 13.0 16442 177 1 1
## 5 RI 1212 968 28.6 474.1 231.5 27.4 17.7 26.2 13.4 2020 21 1 1
## 6 CT 5018 3174 35.3 423.8 205.1 23.2 22.4 15.4 11.7 8076 65 1 1
Aplique uma análise de componentes principais normalizada ao conjunto
de dados GEOPOL.
GEOPOL = read.table(file = "http://leg.ufpr.br/~lucambio/MSM/GEOPOL.txt", sep = "", header = TRUE)
head(GEOPOL)
## Sigla popu giph ripo rupo rlpo rspo eltp rnnr nunh nuth
## 1 AFS 37.00 2492 2 58.9 44.0 1.08 60 120 48 98
## 2 ALG 24.60 1960 3 44.7 50.4 0.73 64 112 21 71
## 3 BRD 62.00 19610 0.4 86.4 2.0 2.72 72 145 585 759
## 4 GBR 57.02 14575 0.04 92.5 2.2 1.90 75 128 421 435
## 5 ARS 14.40 5980 2.7 77.3 48.9 0.91 63 125 34 269
## 6 ARG 32.40 2130 1.6 86.2 6.1 2.96 71 136 82 217
Sejam \(U_1\) e \(U_2\) duas variáveis aleatórias uniformes independentes em [0,1]. Suponha que \(X=(X_1,X_2,X_3,X_4)^\top\) onde \(X_1=U_1\), \(X_2=U_2\), \(X_3=U_1+U_2\) e \(X_4=U_1- U_2\). Calcule a matriz de correlação \(P\) de \(X\). Quantas componentes principais são de interesse? Mostre que \[ \gamma_1=\Big( \frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}},1,0\Big)^\top \qquad \mbox{e} \qquad \gamma_2=\Big( \frac{1}{\sqrt{2}},-\frac{1}{\sqrt{2}},0,1\Big)^\top, \]
são autovetores de \(P\) correspondentes aos autovalores \(\lambda\) não triviais. Interprete as duas primeiras componentes principais obtidas.