Capítulo XI. Análise de Componentes Principais


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.


XI.1. Combinação linear padronizada


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


Exemplo XI.1.

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.



Teorema XI.1

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.



Teorema XI.2

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.




Teorema XI.3

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.




XI.2. Componentes principais na prática


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:


Exemplo XI.2.

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



Exemplo XI.3.

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


XI.3. Interpretação das componentes principais


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.


XI.4. Propriedades assintóticas das componentes principais


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.



Teorema XI.4

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.




Exemplo XI.4.

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 \]



XI.4.1 Variação explicada pelos primeiros \(q\) componentes principais


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.



Teorema XI.4

\[ \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 \]



Exemplo XI.4.

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!



XI.5 Análise normalizada de componentes principais


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.


XI.6. Componentes principais como método fatorial


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.


XI.6.1 Qualidade da representaçã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.


Exemplo XI.6. Gastos com alimentos na França

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:

com diferentes números de filhos: 2, 3, 4 ou 5 filhos. Os dados são extraídos de Lebart, Morineau and Fénelon (1982).

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

Representamos acima \(r_{X_i Z_1}^2+r_{X_i Z_2}^2\).

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.



XI.7. Componentes principais comuns


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.


Exemplo XI.7

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)) 



Exemplo XI.7. Gastos com alimentos no Reino Unido

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 |

XI.8. Exercícios


  1. Prove o Teorema XI.1.

  2. Interprete os resultados das componentes principais das empresas norte-americanas. Use a análise das notas bancárias na Seção XI.3 como guia.

  3. Teste a hipótese de que a proporção de variância explicada pelas dois primeiras componentes principais para as empresas americanas é \(\psi=0.75\).

  4. 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

    Interprete as duas primeiras componentes principais. Seria necessário olhar para a terceira componente principal?

  5. 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

    Observe que os registros dos 100m, 200m, 400m, 800m são em segundos e 1500m, 5000m, 10000m e Marathon em minutos. Aplique componentes principais normalizadas. Interprete seus resultados.

  6. Aplique uma análise de componentes principais a \[ \Sigma = \begin{pmatrix} 1 & \rho \\ \rho & 1 \end{pmatrix}, \] onde \(\Sigma> 0\). Agora mude a escala de \(X_1\), ou seja, considere a covariância de \(cX_1\) e \(X_2\). Como as direções das componentes principais mudam com o gráifco de dispersão?

  7. Suponha que padronizamos alguns dados usando a transformação de Mahalanobis. Seria razoável aplicar uma análise de componentes principais?

  8. 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

    Este é um conjunto de dados que consiste em 50 medições de 7 variáveis. Ele registra por um ano (1985) o número relatado de crimes nos 50 estados dos Estados Unidos classificados de acordo com 7 categorias:
    • land: área de terra
    • popu.1985: população em 1985
    • murd: assassinatos
    • rape: estupros
    • robb: roubos
    • assa: assaltos
    • burg: roubos
    • larc: furtos
    • auto: roubo de carros
    • reg: número da região dos estados dos EUA
    • div: número de divisão dos estados dos EUA

    Número da região dos estados dos EUA: New England 1, Mid-Atlantic 2, E.N. Central 3, W.N. Central 4, S. Atlantic 5, E.S. Central 6, W.S. Central 7, Mountain 8 e Pacific 9.
    Número de divisão dos estados dos EUA: Northeast 1, Midwest 2, South 3 e West 4.
    Interprete os resultados. Seria necessário olhar para uma terceira componente principal? Você consegue ver alguma diferença entre as quatro regiões? Refaça a análise excluindo a variável “área do estado” (land).

  9. 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

    Este é um conjunto de dados composto por 50 medições de 13 variáveis. Ele declara por um ano (1985) o número relatado de mortes nos 50 estados dos EUA classificados de acordo com 7 categorias:
    • land: área de terra
    • popu.1985: população 1985
    • arc: acidentes
    • card: cardiovascular
    • canc: câncer
    • pul: pulmonar
    • pneu: pneumonia
    • diab: diabetes
    • liv: fígado
    • doc: médicos
    • hosp: hospitais
    • reg: número da região dos estados dos EUA
    • div: número de divisão dos estados dos EUA


    Número da região dos estados dos EUA: New England 1, Mid-Atlantic 2, E.N. Central 3, W.N. Central 4, S. Atlantic 5, E.S. Central 6, W.S. Central 7, Mountain 8 e Pacific 9.
    Número de divisão dos estados dos EUA: Northeast 1, Midwest 2, South 3 e West 4.
    Interprete os resultados. Seria necessário olhar para uma terceira componente principal? Você consegue ver alguma diferença entre as quatro regiões? Refaça a análise excluindo a variável “área do estado” (land).

  10. 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

    Este conjunto de dados contém uma comparação de 41 países de acordo com 10 parâmetros políticos e econômicos diferentes:
    • popu: população
    • giph: produto interno bruto por habitante
    • ripo: taxa de crescimento da população
    • rupo: taxa de população urbana
    • rlpo: taxa de analfabetismo na população
    • rspo: taxa de alunos na população
    • eltp: tempo de vida esperado das pessoas
    • rnnr: taxa de necessidades nutricionais realizadas
    • nunh: número de jornais e revistas por 1000 habitantes
    • nuth: número de televisores por 1000 habitantes

    Siglas: AFS África do Sul, DAN Dinamarca, MAR Marrocos, ALG Argélia, EGY Egito, MEX México, BRD Alemanha, ESP Espanha, NOR Noruega, GBR Grã-Bretanha, FRA França, PER Peru, ARS Arábia Saudita, GAB Gabão, POL Polônia, ARG Argentina, GRE Grécia, POR Portugal, AUS Austrália, HOK Hong Kong, SUE Suécia, AUT Áustria, HON Hungria, SUI Suíça, BEL Bélgica, IND Índia, THA Tailândia, CAM Camarões, IDO Indonésia, URS URSS, CAN Canadá, ISR Israel, EUA EUA, CHL Chile, ITA Itália, VEN Venezuela, CHN China, JAP Japão, YOU Iugoslávia, CUB Cuba, KEN Quênia,

    Por que ou por que não uma análise de componentes principais seria razoável aqui?

  11. Seja \(U\) uma variável aleatória uniforme em [0,1]. Seja \(a\in\mathbb{R}^3\) um vetor de constantes. Suponha que \(X= Ua^\top = (X_1,X_2,X_3)\). O que você espera que as componentes principais normalizda de \(X\) sejam?

  12. 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.